Function at 0x4da960
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x14
mov edx, ecx
mov al, byte [edx + 0x45f]
cmp al, 0x63
mov dword [ebp - 4], edx
jle 0x4da74c
mov eax, 0x63
jmp 0x4da757
test al, al
jle 0x4da755
movsx eax, al
jmp 0x4da757
xor eax, eax
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [esi + 0x54]
add edi, eax
mov eax, edi
mov dword [esi + 0x54], edi
mov dword [ebp + 0xc], eax
mov al, byte [edx + 0x460]
cmp al, 0x63
jle 0x4da77a
mov eax, 0x63
jmp 0x4da785
test al, al
jle 0x4da783
movsx eax, al
jmp 0x4da785
xor eax, eax
mov ecx, dword [esi + 0x58]
add ecx, eax
mov dword [esi + 0x58], ecx
mov eax, dword [edx + 0x1a]
push ebx
mov ebx, ecx
lea ecx, [eax + eax*4]
mov eax, dword [0x65f8f0]
lea edi, [eax + ecx*8]
xor ecx, ecx
lea eax, [edx + 0x12d]
cmp dword [eax], 0x7f
je 0x4da7b6
inc ecx
add eax, 8
cmp ecx, 0x12
jl 0x4da7a6
jmp 0x4da7ce
test dword [esi + 0x10], 0x80000000
je 0x4da7ce
mov ecx, dword [ebp + 0xc]
add ecx, 5
add ebx, 5
mov dword [esi + 0x54], ecx
mov dword [esi + 0x58], ebx
mov eax, dword [edi]
dec eax
je 0x4da835
sub eax, 3
je 0x4da835
sub eax, 3
jne 0x4da8f8
mov eax, dword [ebp + 8]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [eax + ecx*4]
mov ecx, dword [case.0x5b5eb3.158]
test dword [ecx + eax*4 + 0x10], 0x80000000
je 0x4da8f8
mov eax, dword [edi + 8]
mov ecx, dword [esi + 0x54]
mov ebx, dword [esi + 0x58]
add ecx, eax
mov dword [esi + 0x54], ecx
mov ecx, dword [edi + 0xc]
add ebx, ecx
mov ecx, dword [esi + 0x5c]
mov dword [esi + 0x58], ebx
mov eax, dword [edi + 0x10]
add ecx, eax
mov eax, dword [esi + 0x60]
mov dword [esi + 0x5c], ecx
mov ecx, dword [edi + 0x10]
add eax, ecx
mov dword [esi + 0x60], eax
jmp 0x4da8f8
mov ecx, dword [edi + 4]
mov ebx, dword [ebp + 8]
cmp ebx, ecx
je 0x4da85b
cmp ecx, 0x92
je 0x4da8f8
call fcn.00475520
cmp ebx, eax
jne 0x4da8f5
mov edx, dword [ebp - 4]
cmp dword [edi], 1
jne 0x4da804
movsx eax, word [edx + 0x55]
mov ecx, dword [esi + 4]
cdq
inc ecx
idiv ecx
lea edx, [ebx*8]
sub edx, ebx
lea edi, [ebx + edx*4]
shl edi, 2
sub esp, 8
mov dword [ebp + 8], eax
fild dword [ebp + 8]
mov eax, dword [case.0x5b5eb3.158]
fstp qword [ebp - 0xc]
fld qword [ebp - 0xc]
fmul qword [0x626ae8]
fstp qword [ebp - 0xc]
fild dword [edi + eax + 0x54]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fmul qword [ebp - 0xc]
fstp qword [esp]
call fcn.00606237
fild dword [esi + 0x54]
fstp qword [ebp - 0x14]
fadd qword [ebp - 0x14]
call fcn.00604f44
mov dword [esi + 0x54], eax
mov ecx, dword [case.0x5b5eb3.158]
fild dword [edi + ecx + 0x58]
fstp qword [ebp - 0x14]
fld qword [ebp - 0x14]
fmul qword [ebp - 0xc]
fstp qword [esp]
call fcn.00606237
fild dword [esi + 0x58]
add esp, 8
fstp qword [ebp - 0x14]
fadd qword [ebp - 0x14]
call fcn.00604f44
mov dword [esi + 0x58], eax
test byte [esi + 0x10], 0x40
jne 0x4da8f5
inc dword [esi + 0x50]
mov edx, dword [ebp - 4]
test byte [esi + 0x10], 0x40
jne 0x4da969
xor edi, edi
xor eax, eax
lea ecx, [edx + 0x12d]
cmp dword [ecx], 0x61
je 0x4da918
inc eax
add ecx, 8
cmp eax, 0x12
jl 0x4da908
jmp 0x4da91d
mov edi, 1
xor eax, eax
lea ecx, [edx + 0x12d]
cmp dword [ecx], 0x45
je 0x4da935
inc eax
add ecx, 8
cmp eax, 0x12
jl 0x4da925
jmp 0x4da936
inc edi
xor eax, eax
lea ecx, [edx + 0x12d]
cmp dword [ecx], 0x63
je 0x4da94e
inc eax
add ecx, 8
cmp eax, 0x12
jl 0x4da93e
jmp 0x4da951
add edi, 2
mov eax, dword [edx + 0x1a]
mov ecx, dword [0x65f8f0]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8], 5
jne 0x4da966
add edi, 2
add dword [esi + 0x50], edi
xor edi, edi
xor eax, eax
lea ecx, [edx + 0x12d]
cmp dword [ecx], 0x5e
je 0x4da983
inc eax
add ecx, 8
cmp eax, 0x12
jl 0x4da973
jmp 0x4da988
mov edi, 1
xor eax, eax
lea ecx, [edx + 0x12d]
cmp dword [ecx], 0x5f
je 0x4da9a0
inc eax
add ecx, 8
cmp eax, 0x12
jl 0x4da990
jmp 0x4da9a1
inc edi
push 0x60
mov ecx, edx
call fcn.004cf820
test eax, eax
pop ebx
je 0x4da9b2
add edi, 2
mov eax, dword [esi + 0x4c]
add eax, edi
pop edi
mov dword [esi + 0x4c], eax
pop esi
mov esp, ebp
pop ebp
ret 8