Function at 0x502730
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x9372b9
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x124
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
call fcn.00911f0c
lea ecx, [esp + 0x14]
mov dword [esp + 0x138], 0
call fcn.00911f0c
lea ecx, [esp + 0x2c]
mov byte [esp + 0x138], 1
call fcn.00911f0c
mov eax, dword [0xa8e73c]
mov ecx, dword [esi + 0x740]
push eax
push ecx
push 0x25
lea edx, [esp + 0x38]
push 0xa771b0
push edx
mov byte [esp + 0x14c], 2
call fcn.00911f42
mov ax, word [esi + 0x2bbe]
add esp, 0x14
cmp ax, 3
je 0x502957
cmp ax, 9
je 0x5029ae
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c68]
mov eax, dword [0xa8e738]
mov ecx, esi
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2008]
fstp qword [esi + 0x2008]
fld qword [esi + 0x2c70]
fmul qword [esi + 0x2c28]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2010]
mov ecx, esi
fstp qword [esi + 0x2010]
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c78]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2018]
mov ecx, esi
fstp qword [esi + 0x2018]
fld qword [esi + 0x2c80]
fmul qword [esi + 0x2c28]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2020]
fstp qword [esi + 0x2020]
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c68]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c0]
mov ecx, esi
fstp qword [esi + 0x20c0]
fld qword [esi + 0x2c70]
fmul qword [esi + 0x2c28]
mov edx, dword [0xa8e738]
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c8]
mov ecx, esi
fstp qword [esi + 0x20c8]
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c78]
mov eax, dword [0xa8e738]
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20d0]
fstp qword [esi + 0x20d0]
mov ecx, dword [0xa8e738]
fld qword [esi + 0x2c80]
fmul qword [esi + 0x2c28]
push ecx
fdiv qword [esi + 0xa00]
sub esp, 8
mov ecx, esi
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20d8]
fstp qword [esi + 0x20d8]
jmp 0x5029ae
mov edx, dword [0xa8e738]
mov ecx, esi
fld qword [esi + 0x2c30]
fmul qword [esi + 0x2c28]
push edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x2080]
mov ecx, esi
fstp qword [esi + 0x2080]
mov eax, dword [0xa8e738]
fld qword [esi + 0x2c30]
fmul qword [esi + 0x2c28]
push eax
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fadd qword [esi + 0x20c0]
fstp qword [esi + 0x20c0]
mov al, byte [esi + 0x516]
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp + 8]
test al, al
je 0x502a1a
mov eax, dword [esi + 0x584]
test eax, eax
jle 0x5029e2
cmp eax, dword [esi + 0x588]
jge 0x5029e2
mov ecx, dword [ebp + 0x10]
lea edx, [esp + 0xc]
add eax, ecx
push eax
push 0xa773a4
push edx
jmp 0x5029f0
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0xc]
push eax
push 0xa773a4
push ecx
call fcn.00911f42
mov edx, dword [0xa8e758]
mov ecx, dword [esp + 0x18]
add esp, 0xc
lea eax, [edx + 3]
mov edx, dword [ecx - 8]
mov dword [esp + 0x10], edx
push dword [esp + 0x10]
mov edx, dword [ebx]
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov al, byte [esi + 0x517]
test al, al
je 0x502dff
mov ax, word [esi + 0x2bbe]
cmp ax, 1
jne 0x502a48
push 0xa773a0
lea ecx, [esp + 0x10]
call fcn.00911f06
jmp 0x502dc0
cmp ax, 2
je 0x502a35
cmp ax, 3
jne 0x502aa3
fld qword [esi + 0x2bc0]
fst qword [esp + 0x1c]
fcomp qword [0x9cb978]
fnstsw ax
test ah, 1
je 0x502a82
lea eax, [esp + 0xc]
push 0xa77394
push eax
call fcn.00911f42
add esp, 8
jmp 0x502dc0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
push ecx
push edx
lea eax, [esp + 0x14]
push 0xa77388
push eax
call fcn.00911f42
add esp, 0x10
jmp 0x502dc0
cmp ax, 4
je 0x502db7
cmp ax, 5
je 0x502db7
cmp ax, 6
je 0x502db7
cmp ax, 7
je 0x502db7
cmp ax, 8
je 0x502db7
mov ax, word [esi + 0x2bb8]
cmp ax, 2
je 0x502dc0
cmp ax, 9
je 0x502dc0
cmp ax, 4
je 0x502dc0
cmp ax, 5
je 0x502dc0
cmp ax, 6
je 0x502dc0
cmp ax, 0xc
je 0x502dc0
cmp ax, 0xd
je 0x502dc0
cmp ax, 0xe
je 0x502dc0
cmp ax, 0x23
je 0x502c9b
cmp ax, 0x51
je 0x502c9b
cmp ax, 0x42
je 0x502c9b
cmp ax, 0x43
je 0x502c9b
cmp ax, 0x44
je 0x502c9b
cmp ax, 0x41
je 0x502c9b
cmp ax, 0x55
je 0x502c9b
cmp ax, 0x4d
je 0x502c9b
cmp ax, 0x57
je 0x502c9b
cmp byte [esi + 0x2c10], 1
jne 0x502c1f
mov ecx, dword [esi + 0x2454]
mov edx, dword [esi + 0x2450]
push ecx
push edx
mov ecx, esi
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esi + 0x2450]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x502bf2
mov eax, dword [esi + 0x2bc4]
mov ecx, dword [esi + 0x2bc0]
movsx edx, word [esi + 0x2bba]
push eax
push ecx
push edx
lea eax, [esp + 0x18]
push str._2d___1.0f_H_
push eax
call fcn.00911f42
add esp, 0x14
jmp 0x502dc0
mov ecx, dword [esi + 0x2bc4]
mov edx, dword [esi + 0x2bc0]
movsx eax, word [esi + 0x2bba]
push ecx
push edx
push eax
push str._2d___4.3f_H_
lea ecx, [esp + 0x1c]
push ecx
call fcn.00911f42
add esp, 0x14
jmp 0x502dc0
mov edx, dword [esi + 0x2454]
mov eax, dword [esi + 0x2450]
push edx
push eax
mov ecx, esi
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esi + 0x2450]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x502c6e
mov ecx, dword [esi + 0x2bc4]
mov edx, dword [esi + 0x2bc0]
movsx eax, word [esi + 0x2bba]
push ecx
push edx
push eax
push str._2d___1.0f
jmp 0x502c0d
mov edx, dword [esi + 0x2bc4]
mov eax, dword [esi + 0x2bc0]
movsx ecx, word [esi + 0x2bba]
push edx
push eax
push ecx
lea edx, [esp + 0x18]
push str._2d___4.3f
push edx
call fcn.00911f42
add esp, 0x14
jmp 0x502dc0
mov al, byte [esi + 0x2c10]
mov ecx, dword [esi + 0x2450]
cmp al, 1
mov eax, dword [esi + 0x2454]
push eax
push ecx
mov ecx, esi
jne 0x502d31
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esi + 0x2450]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x502cfc
mov edx, dword [esi + 0x2bc4]
mov eax, dword [esi + 0x2bc0]
movsx ecx, word [esi + 0x2bbc]
push edx
push eax
movsx edx, word [esi + 0x2bba]
push ecx
push edx
push str._2d__1d___1.0f_H_
jmp 0x502d76
mov ecx, dword [esi + 0x2bc4]
mov edx, dword [esi + 0x2bc0]
movsx eax, word [esi + 0x2bbc]
push ecx
push edx
movsx ecx, word [esi + 0x2bba]
push eax
push ecx
lea edx, [esp + 0x1c]
push str._2d__1d___4.3f_H_
push edx
call fcn.00911f42
add esp, 0x18
jmp 0x502dc0
call fcn.0068e470
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fsubr qword [esi + 0x2450]
fld dword [esi + 0x9dc]
fcompp
fnstsw ax
test ah, 0x41
jne 0x502d85
mov edx, dword [esi + 0x2bc4]
mov eax, dword [esi + 0x2bc0]
movsx ecx, word [esi + 0x2bbc]
push edx
push eax
movsx edx, word [esi + 0x2bba]
push ecx
push edx
push str._2d__1d___1.0f
lea eax, [esp + 0x20]
push eax
call fcn.00911f42
add esp, 0x18
jmp 0x502dc0
mov ecx, dword [esi + 0x2bc4]
mov edx, dword [esi + 0x2bc0]
movsx eax, word [esi + 0x2bbc]
push ecx
push edx
movsx ecx, word [esi + 0x2bba]
push eax
push ecx
lea edx, [esp + 0x1c]
push str._2d__1d___4.3f
push edx
call fcn.00911f42
add esp, 0x18
jmp 0x502dc0
lea ecx, [esp + 0xc]
call fcn.0091204a
mov eax, dword [esi + 0x9c8]
imul eax, dword [esi + 0x734]
cdq
sub eax, edx
mov edx, dword [esi + 0x978]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x484]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0xc]
sub eax, 3
mov edx, dword [ecx - 8]
mov dword [esp + 0x10], edx
push dword [esp + 0x10]
mov edx, dword [ebx]
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov al, byte [esi + 0x518]
test al, al
je 0x502e8d
mov ecx, dword [esi + 0x9a4]
xor eax, eax
mov edx, ecx
lea edi, [esp + 0x30]
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
push 0x28
and ecx, 3
rep stosb byte es:[edi], al
lea eax, [esi + 0x2bc8]
lea ecx, [esp + 0x34]
push eax
push ecx
nop
call fcn.00b159f1
lea edx, [esp + 0x3c]
lea eax, [esp + 0x18]
push edx
push 0xa76fa0
push eax
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov edi, dword [ebx]
imul eax, dword [esi + 0x738]
cdq
sub eax, edx
mov edx, dword [esi + 0x97c]
mov ecx, eax
add esp, 0x18
mov eax, dword [esi + edx*4 + 0x484]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0xc]
sub eax, 3
mov edx, dword [ecx - 8]
push edx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push eax
mov ecx, ebx
call dword [edi + 0x64]
mov al, byte [esi + 0x519]
test al, al
je 0x503319
mov al, byte [0xa8e784]
test al, al
je 0x50311b
lea ecx, [esp + 0x28]
call fcn.00911f0c
lea edi, [esi + 0x2c05]
lea ecx, [esp + 0xc]
push edi
mov byte [esp + 0x13c], 3
call fcn.00911f06
mov edx, dword [esp + 0xc]
push 0xa76f28
lea ecx, [esp + 0x10]
mov eax, dword [edx - 8]
mov dword [esp + 0x1c], eax
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x502fbe
push 0xa77194
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x502fbe
push 0xa77190
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x502fbe
push 0xa76f34
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x502fbe
push edi
lea ecx, [esp + 0x14]
call fcn.00911edc
mov edi, dword [esi + 0x73c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x9c8]
mov eax, edi
sub eax, edx
mov byte [esp + 0x138], 6
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
add ecx, eax
mov eax, edi
imul eax, dword [esi + 0x9c8]
cdq
sub eax, edx
mov edi, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x10]
sub ecx, 3
mov edx, dword [eax - 8]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call dword [edi + 0x64]
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 3
call fcn.00911ee2
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x28]
jmp 0x503314
lea ecx, [esp + 0x10]
push 1
push ecx
lea ecx, [esp + 0x14]
call fcn.0091218e
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x13c], 4
call fcn.00911f3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 3
call fcn.00911ee2
mov edx, dword [esp + 0x18]
lea ecx, [esp + 0xc]
lea eax, [edx - 1]
mov dword [esp + 0x1c], eax
push eax
lea eax, [esp + 0x14]
push eax
call fcn.00912044
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x13c], 5
call fcn.00911f3c
lea ecx, [esp + 0x10]
mov byte [esp + 0x138], 3
call fcn.00911ee2
mov edi, dword [esi + 0x73c]
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x9c8]
mov eax, edi
sub eax, edx
imul eax, ecx
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
add ecx, eax
mov eax, edi
imul eax, dword [esi + 0x9c8]
cdq
sub eax, edx
mov edi, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0xc]
sub ecx, 3
mov edx, dword [eax - 8]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2154]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov eax, dword [esi + 0x73c]
mov edx, dword [esp + 0x18]
mov edi, dword [esi + 0x9c8]
sub eax, edx
imul eax, edi
cdq
sub eax, edx
sar eax, 1
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
add ecx, eax
mov eax, dword [esp + 0x1c]
imul eax, edi
cdq
sub eax, edx
sar eax, 1
add ecx, eax
mov eax, dword [esi + 0x73c]
imul eax, edi
cdq
sub eax, edx
mov edi, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x28]
sub ecx, 3
mov edx, dword [eax - 8]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2144]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x28]
jmp 0x503314
lea edi, [esi + 0x2c05]
lea ecx, [esp + 0xc]
push edi
call fcn.00911f06
push 0xa76f28
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5031dd
push 0xa77194
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5031dd
push 0xa77190
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5031dd
push 0xa76f34
lea ecx, [esp + 0x10]
call fcn.009121e8
cmp eax, 0xffffffff
jne 0x5031dd
push edi
lea ecx, [esp + 0x14]
call fcn.00911edc
mov eax, dword [esi + 0x9c8]
mov edi, dword [ebx]
imul eax, dword [esi + 0x73c]
cdq
sub eax, edx
mov edx, dword [esi + 0x960]
mov ecx, eax
mov byte [esp + 0x138], 0xa
mov eax, dword [esi + edx*4 + 0x574]
sar ecx, 1
sub eax, ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
mov edx, dword [ecx - 8]
push edx
push ecx
mov ecx, dword [ebp + 0xc]
push ecx
push eax
mov ecx, ebx
call dword [edi + 0x64]
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x10]
jmp 0x503314
lea ecx, [esp + 0x28]
call fcn.00911f0c
lea edx, [esp + 0x1c]
push 1
push edx
lea ecx, [esp + 0x14]
mov byte [esp + 0x140], 7
call fcn.0091218e
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x13c], 8
call fcn.00911f3c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x138], 7
call fcn.00911ee2
mov eax, dword [esp + 0xc]
lea ecx, [esp + 0x1c]
mov eax, dword [eax - 8]
dec eax
push eax
push ecx
lea ecx, [esp + 0x14]
call fcn.00912044
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x13c], 9
call fcn.00911f3c
lea ecx, [esp + 0x1c]
mov byte [esp + 0x138], 7
call fcn.00911ee2
mov eax, dword [esi + 0x73c]
mov ecx, dword [esi + 0x960]
imul eax, dword [esi + 0x9c8]
cdq
sub eax, edx
mov edi, dword [ebx]
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x574]
mov ecx, dword [esp + 0xc]
sar edx, 1
sub eax, edx
mov edx, dword [ecx - 8]
push edx
push ecx
mov ecx, dword [ebp + 0xc]
sub eax, 3
push ecx
push eax
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2154]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov ecx, dword [esp + 0xc]
mov edi, dword [esi + 0x9c8]
mov eax, edi
mov edx, dword [esi + 0x960]
mov ecx, dword [ecx - 8]
mov dword [esp + 0x1c], edx
imul eax, ecx
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
mov ecx, dword [esi + edx*4 + 0x574]
add ecx, eax
mov eax, edi
imul eax, dword [esi + 0x73c]
cdq
sub eax, edx
mov edi, dword [ebx]
sar eax, 1
sub ecx, eax
mov eax, dword [esp + 0x28]
sub ecx, 3
mov edx, dword [eax - 8]
push edx
push eax
mov eax, dword [ebp + 0xc]
push eax
push ecx
mov ecx, ebx
call dword [edi + 0x64]
mov edx, dword [ebx]
lea eax, [esi + 0x2144]
push eax
mov ecx, ebx
call dword [edx + 0x30]
mov byte [esp + 0x138], 2
lea ecx, [esp + 0x28]
call fcn.00911ee2
mov al, byte [esi + 0x51a]
test al, al
je 0x50338c
fld qword [esi + 0x2c28]
fdiv qword [esi + 0xa00]
mov ecx, dword [esp + 0x2c]
sub esp, 8
lea edx, [esp + 0x14]
fstp qword [esp]
push ecx
push edx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x96c]
imul eax, dword [esi + 0x740]
cdq
mov edi, dword [ebx]
sub eax, edx
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x54c]
mov ecx, dword [esp + 0x1c]
add esp, 0x10
sar edx, 1
sub eax, edx
mov edx, dword [ecx - 8]
mov dword [esp + 0x1c], edi
mov edi, dword [ebp + 0xc]
push edx
sub eax, 3
push ecx
push edi
push eax
mov eax, dword [esp + 0x2c]
mov ecx, ebx
call dword [eax + 0x64]
jmp 0x50338f
mov edi, dword [ebp + 0xc]
mov al, byte [esi + 0x51b]
test al, al
je 0x5034ad
mov ecx, dword [esi + 0x2c34]
mov edx, dword [esi + 0x2c30]
push ecx
push edx
mov ecx, esi
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x5034ad
mov eax, dword [0xa8e738]
mov ecx, dword [esi + 0x744]
push eax
push ecx
push 0x25
lea edx, [esp + 0x20]
push 0xa771b0
push edx
call fcn.00911f42
mov ax, word [esi + 0x244e]
add esp, 0x14
cmp ax, 0xc
je 0x503431
cmp ax, 0xd
je 0x503431
mov eax, dword [0xa8e738]
mov ecx, dword [esi + 0x744]
push eax
push ecx
push 0x25
lea edx, [esp + 0x20]
push 0xa771b0
push edx
call fcn.00911f42
mov eax, dword [esi + 0x2c34]
mov ecx, dword [esi + 0x2c30]
mov edx, dword [esp + 0x28]
push eax
push ecx
lea eax, [esp + 0x28]
push edx
push eax
jmp 0x503469
mov edx, dword [esi + 0x744]
mov ecx, dword [0xa8e738]
dec edx
push ecx
push edx
push 0x25
lea eax, [esp + 0x20]
push 0xa771b0
push eax
call fcn.00911f42
mov ecx, dword [esi + 0x2c34]
mov edx, dword [esi + 0x2c30]
mov eax, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x96c]
imul eax, dword [esi + 0x744]
cdq
sub eax, edx
add esp, 0x24
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x550]
mov ecx, dword [esp + 0xc]
sar edx, 1
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov al, byte [esi + 0x51c]
test al, al
je 0x503590
fld qword [esi + 0x2c30]
fmul qword [esi + 0x2c28]
sub esp, 8
mov ecx, esi
fdiv qword [esi + 0xa00]
fstp qword [esp]
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x503590
mov edx, dword [0xa8e738]
mov eax, dword [esi + 0x748]
push edx
push eax
push 0x25
lea ecx, [esp + 0x20]
push 0xa771b0
push ecx
call fcn.00911f42
fld qword [esi + 0x2c30]
fmul qword [esi + 0x2c28]
mov eax, dword [0xa8e738]
mov edx, dword [esp + 0x28]
add esp, 0x14
mov ecx, esi
fdiv qword [esi + 0xa00]
push eax
mov dword [esp + 0x20], edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
mov ecx, dword [esp + 0x1c]
sub esp, 8
lea edx, [esp + 0x14]
fstp qword [esp]
push ecx
push edx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x968]
imul eax, dword [esi + 0x748]
cdq
sub eax, edx
add esp, 0x10
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x568]
mov ecx, dword [esp + 0xc]
sar edx, 1
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov al, byte [esi + 0x51d]
test al, al
je 0x5036b0
mov edx, dword [esi + 0x2c6c]
mov eax, dword [esi + 0x2c68]
push edx
push eax
mov ecx, esi
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x5036b0
mov ecx, dword [0xa8e738]
mov edx, dword [esi + 0x74c]
push ecx
push edx
push 0x25
lea eax, [esp + 0x20]
push 0xa771b0
push eax
call fcn.00911f42
mov ax, word [esi + 0x244e]
add esp, 0x14
cmp ax, 0xc
je 0x503634
cmp ax, 0xd
je 0x503634
mov ecx, dword [0xa8e738]
mov edx, dword [esi + 0x74c]
push ecx
push edx
push 0x25
lea eax, [esp + 0x20]
push 0xa771b0
push eax
call fcn.00911f42
mov ecx, dword [esi + 0x2c6c]
mov edx, dword [esi + 0x2c68]
mov eax, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
jmp 0x50366c
mov eax, dword [esi + 0x74c]
mov edx, dword [0xa8e738]
dec eax
push edx
push eax
push 0x25
lea ecx, [esp + 0x20]
push 0xa771b0
push ecx
call fcn.00911f42
mov edx, dword [esi + 0x2c6c]
mov eax, dword [esi + 0x2c68]
mov ecx, dword [esp + 0x28]
push edx
push eax
lea edx, [esp + 0x28]
push ecx
push edx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x96c]
imul eax, dword [esi + 0x74c]
cdq
sub eax, edx
add esp, 0x24
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x558]
mov ecx, dword [esp + 0xc]
sar edx, 1
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov al, byte [esi + 0x51e]
test al, al
je 0x503793
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c68]
sub esp, 8
mov ecx, esi
fdiv qword [esi + 0xa00]
fstp qword [esp]
call fcn.008f5ce0
fld dword [esi + 0x9e4]
fcompp
fnstsw ax
test ah, 0x41
je 0x503793
mov edx, dword [0xa8e738]
mov eax, dword [esi + 0x750]
push edx
push eax
push 0x25
lea ecx, [esp + 0x20]
push 0xa771b0
push ecx
call fcn.00911f42
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c68]
mov eax, dword [0xa8e738]
mov edx, dword [esp + 0x28]
add esp, 0x14
mov ecx, esi
fdiv qword [esi + 0xa00]
push eax
mov dword [esp + 0x20], edx
sub esp, 8
fstp qword [esp]
call fcn.004126e0
mov ecx, dword [esp + 0x1c]
sub esp, 8
lea edx, [esp + 0x14]
fstp qword [esp]
push ecx
push edx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esi + 0x968]
imul eax, dword [esi + 0x750]
cdq
sub eax, edx
add esp, 0x10
mov edx, eax
mov eax, dword [esi + ecx*4 + 0x570]
mov ecx, dword [esp + 0xc]
sar edx, 1
mov ecx, dword [ecx - 8]
sub eax, edx
mov edx, dword [ebx]
push ecx
mov ecx, dword [esp + 0x10]
sub eax, 3
push ecx
push edi
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov edi, dword [ebp + 0x14]
mov eax, dword [0xa8e738]
mov ecx, dword [esi + 0x2c3c]
push eax
lea edx, [edi + 0x50]
push ecx
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x2c38]
push edx
mov ecx, esi
call fcn.004126e0
mov eax, dword [esp + 0x18]
fstp qword [eax]
fld qword [esi + 0x2c38]
fmul qword [esi + 0x2c28]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x58]
mov edx, dword [0xa8e738]
mov eax, dword [esi + 0x2c44]
mov ecx, dword [esi + 0x2c40]
push edx
push eax
push ecx
mov ecx, esi
call fcn.004126e0
fstp qword [edi + 0x60]
fld qword [esi + 0x2c40]
fmul qword [esi + 0x2c28]
mov edx, dword [0xa8e738]
mov ecx, esi
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x68]
mov eax, dword [0xa8e738]
mov ecx, dword [esi + 0x2c4c]
mov edx, dword [esi + 0x2c48]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004126e0
fstp qword [edi + 0x70]
fld qword [esi + 0x2c48]
fmul qword [esi + 0x2c28]
mov eax, dword [0xa8e738]
mov ecx, esi
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x78]
movsx edx, word [esi + 0x2bba]
mov ecx, dword [0xa8e738]
mov dword [esp + 0x1c], edx
fild dword [esp + 0x1c]
push ecx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x80]
movsx ecx, word [esi + 0x2bba]
mov dword [esp + 0x1c], ecx
mov eax, dword [0xa8e738]
fild dword [esp + 0x1c]
push eax
mov ecx, esi
sub esp, 8
fmul qword [esi + 0x2c28]
fdiv qword [esi + 0xa00]
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x88]
mov edx, dword [0xa8e738]
mov eax, dword [esi + 0x2c74]
mov ecx, dword [esi + 0x2c70]
push edx
push eax
push ecx
mov ecx, esi
call fcn.004126e0
fstp qword [edi + 0x90]
fld qword [esi + 0x2c70]
fmul qword [esi + 0x2c28]
mov edx, dword [0xa8e738]
mov ecx, esi
push edx
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0x98]
mov eax, dword [0xa8e738]
mov ecx, dword [esi + 0x2c7c]
mov edx, dword [esi + 0x2c78]
push eax
push ecx
push edx
mov ecx, esi
call fcn.004126e0
fstp qword [edi + 0xa0]
fld qword [esi + 0x2c28]
fmul qword [esi + 0x2c78]
mov eax, dword [0xa8e738]
mov ecx, esi
push eax
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0xa8]
mov ecx, dword [0xa8e738]
mov edx, dword [esi + 0x2c84]
mov eax, dword [esi + 0x2c80]
push ecx
push edx
push eax
mov ecx, esi
call fcn.004126e0
fstp qword [edi + 0xb0]
fld qword [esi + 0x2c80]
fmul qword [esi + 0x2c28]
mov ecx, dword [0xa8e738]
push ecx
mov ecx, esi
fdiv qword [esi + 0xa00]
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0xb8]
movsx eax, word [esi + 0x2bba]
mov edx, dword [0xa8e738]
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
push edx
mov ecx, esi
sub esp, 8
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0xc0]
movsx edx, word [esi + 0x2bba]
mov dword [esp + 0x1c], edx
mov ecx, dword [0xa8e738]
fild dword [esp + 0x1c]
push ecx
mov ecx, esi
sub esp, 8
fmul qword [esi + 0x2c28]
fdiv qword [esi + 0xa00]
fstp qword [esp]
call fcn.004126e0
fstp qword [edi + 0xc8]
xor eax, eax
mov dword [edi + 0xd0], eax
mov dword [edi + 0xd4], eax
mov ecx, dword [esi + 0x2c58]
mov dword [edi + 0xd8], ecx
mov edx, dword [esi + 0x2c5c]
mov dword [edi + 0xdc], edx
mov ecx, 0xa
fld qword [esi + 0x2c58]
fmul qword [esi + 0x2c28]
mov dword [edi + 0xe8], eax
mov dword [edi + 0xec], eax
fstp qword [edi + 0xe0]
cmp dword [esi + 0x598], ecx
jle 0x503a85
mov edx, dword [ebp + 0x18]
sub edi, edx
lea eax, [edx + 0x50]
fld qword [edi + eax]
fadd qword [eax]
inc ecx
add eax, 8
fstp qword [eax - 8]
cmp ecx, dword [esi + 0x598]
jl 0x503a71
mov ecx, dword [esi + 0x598]
mov eax, 0xa
cmp ecx, eax
mov dword [esp + 0x28], eax
jle 0x503b7b
mov eax, dword [esp + 0x18]
lea edi, [esi + 0x754]
mov dword [esp + 0x18], eax
push 0xa907a4
lea ecx, [esp + 0x10]
call fcn.00911f06
mov ecx, dword [esp + 0x28]
mov al, byte [esi + ecx + 0x515]
test al, al
je 0x503b56
mov eax, dword [esp + 0x18]
mov ecx, esi
mov edx, dword [eax + 4]
mov eax, dword [eax]
push edx
push eax
call fcn.008f5ce0
fcomp qword [0x9cb968]
fnstsw ax
test ah, 0x41
jne 0x503b56
mov ecx, dword [0xa8e738]
mov edx, dword [edi]
push ecx
push edx
push 0x25
lea eax, [esp + 0x20]
push 0xa771b0
push eax
call fcn.00911f42
mov eax, dword [esp + 0x2c]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov eax, dword [esp + 0x28]
push ecx
push edx
lea ecx, [esp + 0x28]
push eax
push ecx
call fcn.00911f42
mov eax, dword [esi + 0x9c8]
mov ecx, dword [esp + 0x30]
imul eax, dword [edi]
mov ecx, dword [ecx - 8]
add esp, 0x24
cdq
sub eax, edx
push ecx
mov ecx, dword [esp + 0x10]
mov edx, eax
mov eax, dword [edi - 0x190]
push ecx
mov ecx, dword [ebp + 0xc]
sar edx, 1
sub eax, edx
mov edx, dword [ebx]
sub eax, 3
push ecx
push eax
mov ecx, ebx
call dword [edx + 0x64]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x18]
mov ecx, dword [esi + 0x598]
inc eax
add edi, 4
add edx, 8
cmp eax, ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
jl 0x503aaa
lea ecx, [esp + 0x2c]
mov byte [esp + 0x138], 1
call fcn.00911ee2
lea ecx, [esp + 0x14]
mov byte [esp + 0x138], 0
call fcn.00911ee2
lea ecx, [esp + 0xc]
mov dword [esp + 0x138], 0xffffffff
call fcn.00911ee2
mov ecx, dword [esp + 0x130]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0x14