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

Disassembly:
sub esp, 0x4c
push ebx
push ebp
push esi
mov esi, ecx
xor ebx, ebx
push edi
cmp dword [esi + 0x40], ebx
je 0x59b8ad
xor edi, edi
mov dword [0xd12540], ebx
mov dword [0xd1253c], edi
mov dword [0x675254], 1
test byte [esi + 0xa0], 1
je 0x599ed8
mov eax, dword [esi + 0xa4]
cmp eax, ebx
je 0x599ed8
mov eax, dword [eax + 0x340]
add eax, 0x170
mov dword [esi + 0x30], eax
mov ecx, dword [esi + 0xa4]
mov edx, dword [ecx + 0x358]
add edx, 0x1b2
mov dword [esi + 0x34], edx
mov edi, dword [0xd1253c]
cmp dword [esi + 0x10], ebx
je 0x59a0bb
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0xc0]
mov edx, dword [0x6d6790]
add eax, ecx
cmp edx, eax
jb 0x599f22
mov edi, 1
mov dword [esi + 0xc0], eax
mov dword [0xd1253c], edi
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0xc0]
add eax, edx
mov edx, dword [0x6d6790]
cmp edx, eax
jae 0x599ef9
mov ecx, dword [esi + 0x94]
mov eax, dword [esi + 0xc4]
add eax, ecx
cmp edx, eax
jb 0x59a010
or ebp, 0xffffffff
mov dword [esi + 0xc4], eax
dec word [esi + 0x116]
cmp word [esi + 0x116], bx
jne 0x599fe8
mov edx, dword [esi + 0x110]
lea edi, [esi + 0x114]
inc edx
push edi
mov eax, edx
mov dword [esi + 0x110], edx
mov ecx, dword [esi + 0x118]
push eax
call fcn.00598540
test eax, eax
jne 0x599f91
mov dword [esi + 0x110], ebp
mov ecx, dword [esi + 0x118]
push edi
push ebx
call fcn.00598540
mov dword [esi + 0x40], ebx
xor ecx, ecx
mov cx, word [edi]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0x108]
cmp eax, 8
jne 0x599fbf
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x10c]
xor edx, edx
mov dx, word [edi]
push edx
push eax
push ecx
push 8
jmp 0x599fda
cmp eax, 0x10
jne 0x599fe8
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x10c]
xor edx, edx
mov dx, word [edi]
push edx
push eax
push ecx
push 0x10
call fcn.00599630
add esp, 0x10
mov dword [esi + 0xc8], eax
mov dword [0xd1253c], 1
mov edx, dword [esi + 0x94]
mov eax, dword [esi + 0xc4]
add eax, edx
mov edx, dword [0x6d6790]
cmp edx, eax
jae 0x599f3b
jmp 0x59a018
cmp edi, ebx
je 0x59ba68
mov edi, dword [esi + 0x8c]
cmp edi, ebx
je 0x59a086
mov ecx, dword [esi + 0x9c]
mov dword [esp + 0x38], ebx
add ecx, edx
mov eax, ecx
shl eax, 8
sub eax, ecx
mov ecx, dword [esi + 0xbc]
mov edx, ecx
shl edx, 8
sub edx, ecx
sub eax, edx
xor edx, edx
div edi
mov dword [esp + 0x34], eax
fild qword [esp + 0x34]
fst dword [0xd12568]
fcomp dword [0x62f254]
fnstsw ax
test ah, 0x41
jne 0x59a06e
mov byte [esi + 0xaa], bl
mov dword [esi + 0x40], ebx
jmp 0x59a08d
fld dword [0xd12568]
call fcn.00613380
or cl, 0xff
sub cl, al
mov byte [esi + 0xaa], cl
jmp 0x59a08d
add byte [esi + 0xaa], 0xd3
mov edx, dword [esi + 0xbc]
mov ecx, dword [esi + 0x8c]
mov eax, dword [0x6d6790]
add edx, ecx
cmp eax, edx
jbe 0x59a0a7
mov dword [esi + 0x40], ebx
pop edi
pop esi
pop ebp
mov dword [0x647e38], 1
pop ebx
add esp, 0x4c
ret 4
cmp byte [esi + 0xa8], bl
je 0x59b34a
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0xc0]
add eax, ecx
mov ecx, dword [0x6d6790]
cmp ecx, eax
jb 0x59a108
mov edi, 1
mov dword [esi + 0xc0], eax
mov ecx, dword [0x6d6790]
mov dword [0xd1253c], edi
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0xc0]
add eax, edx
cmp ecx, eax
jae 0x59a0df
mov edx, dword [esi + 0x94]
mov ebp, dword [esi + 0xc4]
add edx, ebp
cmp ecx, edx
jb 0x59a592
mov ebp, 1
cmp dword [0x675254], ebx
je 0x59a183
mov dword [0x675254], ebx
mov eax, dword [esi + 0x100]
mov dword [0xd12544], eax
mov ecx, dword [esi + 0xc8]
mov dword [0xd12548], ecx
mov edx, dword [esi + 0xc4]
mov dword [esp + 0x34], edx
mov dword [esp + 0x38], ebx
fild qword [esp + 0x34]
fstp dword [0xd12558]
mov eax, dword [esi + 0xe4]
mov dword [0xd1254c], eax
mov ecx, dword [esi + 0xe8]
mov dword [0xd12550], ecx
mov edx, dword [esi + 0xec]
mov dword [0xd12554], edx
mov eax, dword [esi + 0xe4]
mov dword [0xd1255c], eax
mov ecx, dword [esi + 0xe8]
mov dword [0xd12560], ecx
mov edx, dword [esi + 0xec]
mov dword [0xd12564], edx
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0xc4]
add ecx, eax
mov dword [esi + 0xc4], ecx
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59a31c
mov eax, dword [esi + 0xbc]
mov dword [esp + 0x30], ebx
fld dword [esi + 0x84]
sub ecx, eax
mov dword [esp + 0x2c], ecx
fild qword [esp + 0x2c]
fld st(1)
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59a202
fxch st(1)
fchs
fxch st(1)
fchs
fld st(0)
fdiv dword [esi + 0xfc]
fadd dword [esi + 0xb8]
fld st(0)
fcos
fmul dword [esi + 0xf0]
fiadd dword [esi + 0x5c]
fstp dword [esi + 0xe4]
fsin
fmul dword [esi + 0xf4]
fiadd dword [esi + 0x60]
fstp dword [esi + 0xe8]
fld dword [esi + 0x80]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59a271
fmul dword [esi + 0x80]
movsx ecx, word [esi + 0x98]
fdiv dword [esi + 0xfc]
mov dword [esp + 0x24], ecx
fadd dword [esi + 0xb8]
fcos
fild dword [esp + 0x24]
fmulp st(1)
fiadd dword [esi + 0x64]
jmp 0x59a297
mov edx, dword [esi + 0x94]
mov dword [esp + 0x20], ebx
fstp st(0)
mov dword [esp + 0x1c], edx
fild qword [esp + 0x1c]
fmul dword [esi + 0xe0]
fmul dword [0x62ef98]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0x88]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59a2eb
fld dword [esi + 0xec]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59a2eb
fld dword [esi + 0xec]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xec]
fld dword [esi + 0xe0]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xe0]
fld st(0)
fmul dword [esi + 0xf0]
mov eax, dword [esi + 0x94]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], eax
fstp dword [esi + 0xf0]
fmul dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fild qword [esp + 0x14]
jmp 0x59a450
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x48], ebx
fild qword [esp + 0x3c]
mov dword [esp + 0x50], ebx
fmul dword [esi + 0xd8]
fmul dword [0x62ef98]
fadd dword [esi + 0xe4]
fstp dword [esi + 0xe4]
mov edx, dword [esi + 0x94]
mov dword [esp + 0x44], edx
fild qword [esp + 0x44]
fmul dword [esi + 0xdc]
fmul dword [0x62ef98]
fadd dword [esi + 0xe8]
fstp dword [esi + 0xe8]
mov eax, dword [esi + 0x94]
mov dword [esp + 0x4c], eax
fild qword [esp + 0x4c]
fmul dword [esi + 0xe0]
fmul dword [0x62ef98]
fadd dword [esi + 0xec]
fstp dword [esp + 0x10]
fld dword [esi + 0x88]
fcomp dword [0x62ead0]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xec], ecx
fnstsw ax
test ah, 0x40
jne 0x59a410
fld dword [esp + 0x10]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59a410
fld dword [esp + 0x10]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xec]
fld dword [esi + 0xd8]
fmul dword [esi + 0x88]
fstp dword [esi + 0xd8]
fld dword [esi + 0xdc]
fmul dword [esi + 0x88]
fstp dword [esi + 0xdc]
fld dword [esi + 0xe0]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xe0]
mov edx, dword [esi + 0x94]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x54], edx
fild qword [esp + 0x54]
fld st(0)
fmul dword [esi + 0x74]
fmul dword [0x62ef98]
fadd dword [esi + 0xd8]
fstp dword [esi + 0xd8]
fld st(0)
fmul dword [esi + 0x78]
fmul dword [0x62ef98]
fadd dword [esi + 0xdc]
fstp dword [esi + 0xdc]
fmul dword [esi + 0x7c]
cmp dword [esi + 0x108], ebx
fmul dword [0x62ef98]
fadd dword [esi + 0xe0]
fstp dword [esi + 0xe0]
je 0x59a535
fld dword [esi + 0xe4]
fsub dword [0xd1255c]
fmul dword [0x62f250]
call fcn.00613380
fld dword [esi + 0xe8]
fsub dword [0xd12560]
mov edi, eax
fmul dword [0x62f250]
call fcn.00613380
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
mov ecx, eax
fnstsw ax
test ah, 0x40
jne 0x59a535
cmp edi, ebx
jne 0x59a4be
cmp ecx, ebx
je 0x59a535
mov eax, dword [esi + 0x100]
mov dword [0xd1256c], eax
mov eax, dword [esi + 0x108]
cmp eax, 8
jne 0x59a4f2
push ecx
push edi
push ebx
push ebx
call fcn.0040ec90
mov dword [esi + 0x100], eax
mov ecx, dword [0xd1256c]
add esp, 0x10
cmp eax, ecx
je 0x59a535
jmp 0x59a513
cmp eax, 0x10
jne 0x59a535
push ecx
push edi
push ebx
push ebx
call fcn.0040ed30
mov dword [esi + 0x100], eax
mov ecx, dword [0xd1256c]
add esp, 0x10
cmp eax, ecx
je 0x59a535
mov edx, dword [esi + 0x10c]
xor ecx, ecx
mov cx, word [esi + 0x114]
push ecx
push eax
push edx
push 8
call fcn.00599630
add esp, 0x10
mov dword [esi + 0xc8], eax
fld dword [esi + 0xe4]
call fcn.00613380
fld dword [esi + 0xe8]
mov dword [esi + 0xcc], eax
call fcn.00613380
fld dword [esi + 0xec]
mov dword [esi + 0xd0], eax
call fcn.00613380
mov dword [esi + 0xd4], eax
mov ecx, dword [0x6d6790]
mov dword [0xd1253c], ebp
mov dword [0xd12540], ebp
mov eax, dword [esi + 0x94]
mov edi, dword [esi + 0xc4]
add eax, edi
cmp ecx, eax
jae 0x59a123
jmp 0x59a59b
cmp edi, ebx
mov ebp, 1
je 0x59a5b4
mov dword [0x647e38], ebp
mov edx, dword [esi + 0xbc]
add edx, dword [esi + 0x8c]
cmp ecx, edx
jbe 0x59a5b4
mov dword [esi + 0x40], ebx
cmp dword [0xd12540], ebx
je 0x59b88d
fld dword [0xd1254c]
mov eax, dword [0xd12550]
mov ecx, dword [0xd12554]
fst dword [0xd12574]
mov dword [0xd12578], eax
mov dword [0xd1257c], ecx
mov eax, dword [esi + 0x9c]
xor edx, edx
div dword [esi + 0x90]
mov word [0xd12570], ax
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59acd0
fld dword [esi + 0xec]
fsub dword [0xd12554]
mov dword [esp + 0x58], ebx
fstp dword [0xd1258c]
mov edx, dword [esi + 0xc4]
mov dword [esp + 0x54], edx
fild qword [esp + 0x54]
fsub dword [0xd12558]
fstp dword [0xd12590]
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59a65e
fld dword [0xd12590]
fchs
fstp dword [0xd12590]
mov ax, word [esi + 0xb0]
cmp ax, bx
je 0x59a671
and eax, 0xffff
jmp 0x59a673
mov eax, ebp
lea ecx, [eax + 1]
mov eax, dword [0xd12550]
mov dword [esp + 0x24], ecx
mov edx, dword [0xd12554]
fild dword [esp + 0x24]
fld dword [0xd1258c]
mov dword [0xd12588], eax
mov dword [0xd1258c], edx
fdiv st(1)
mov dword [esp + 0x58], ebx
fstp dword [0xd12594]
fld dword [0xd12590]
fdiv st(1)
fstp dword [0xd12598]
fstp st(0)
fstp dword [0xd12584]
mov eax, dword [esi + 0xbc]
mov dword [esp + 0x54], eax
fild qword [esp + 0x54]
fsubr dword [0xd12558]
fstp dword [0xd12590]
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59a6f7
fld dword [0xd12590]
fchs
fstp dword [0xd12590]
cmp ecx, ebx
mov dword [esp + 0x10], ebx
jle 0x59b88d
mov dword [esp + 0x14], ecx
mov edi, ecx
mov ecx, dword [0xd12570]
and ecx, 0xffff
cmp edi, ecx
jl 0x59a725
mov dword [0xd12580], 0
jmp 0x59a73e
mov eax, edi
cdq
idiv ecx
mov dword [esp + 0x1c], eax
fild dword [esp + 0x1c]
fsubr qword [0x62eea8]
fstp dword [0xd12580]
mov ecx, 0xd125f0
call fcn.0059c260
cmp eax, ebx
mov dword [0xd1259c], eax
je 0x59acb1
mov dword [eax + 0x10], 1
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0x4c]
mov dword [esp + 0x58], ebx
mov dword [edx + 0x4c], ecx
mov ecx, dword [0xd1259c]
mov ax, word [esi + 0xb2]
fld dword [0x62ea84]
mov word [ecx + 0xb2], ax
mov eax, dword [0xd1259c]
mov edx, dword [esi + 0xc8]
mov dword [eax + 0xc8], edx
mov ecx, dword [esi + 0x9c]
fsub dword [0xd12580]
mov dword [esp + 0x54], ecx
fimul dword [esp + 0x54]
call fcn.00613380
mov edx, dword [0xd1259c]
mov dword [edx + 0x9c], eax
mov ecx, dword [0xd1259c]
mov eax, dword [esi + 0x9c]
mov dword [ecx + 0x8c], eax
mov eax, dword [0xd1259c]
mov edx, dword [esi + 0x90]
mov dword [eax + 0x90], edx
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0x94]
mov dword [edx + 0x94], ecx
mov eax, dword [0xd1259c]
mov byte [eax + 0xa8], 1
fld dword [0xd12580]
fmul dword [0x62f254]
call fcn.00613380
mov ecx, dword [0xd1259c]
mov byte [ecx + 0xaa], al
fld dword [0xd12584]
call fcn.00613380
mov edx, dword [0xd1259c]
mov dword [edx + 0x50], eax
fld dword [0xd12588]
call fcn.00613380
mov ecx, dword [0xd1259c]
mov dword [ecx + 0x54], eax
fld dword [0xd1258c]
call fcn.00613380
mov edx, dword [0xd1259c]
mov dword [edx + 0x58], eax
fld dword [0xd12584]
call fcn.00613380
mov ecx, dword [0xd1259c]
mov dword [ecx + 0x5c], eax
fld dword [0xd12588]
call fcn.00613380
mov edx, dword [0xd1259c]
mov dword [edx + 0x60], eax
fld dword [0xd1258c]
call fcn.00613380
mov ecx, dword [0xd1259c]
mov dword [ecx + 0x64], eax
fld dword [0xd12598]
fadd dword [0xd12590]
fst dword [0xd12590]
fdiv dword [esi + 0xfc]
fadd dword [esi + 0xb8]
fcos
fmul dword [esi + 0xf0]
fiadd dword [esi + 0x5c]
fstp dword [0xd12584]
fld dword [0xd12590]
fdiv dword [esi + 0xfc]
fadd dword [esi + 0xb8]
fsin
fmul dword [esi + 0xf4]
fiadd dword [esi + 0x60]
fstp dword [0xd12588]
fld dword [0xd12594]
fadd dword [0xd1258c]
fstp dword [0xd1258c]
mov edx, dword [0xd1259c]
mov dword [edx + 0x3c], 0xe1
mov ecx, dword [0xd1259c]
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [0xd1259c]
mov edx, dword [esi + 0x34]
mov dword [eax + 0x34], edx
mov ecx, dword [0xd1259c]
mov dword [ecx + 0x68], ebx
mov edx, dword [0xd1259c]
mov dword [edx + 0x6c], ebx
mov eax, dword [0xd1259c]
mov dword [eax + 0x70], ebx
mov ecx, dword [0xd1259c]
mov dword [ecx + 0x74], ebx
mov edx, dword [0xd1259c]
mov dword [edx + 0x78], ebx
mov eax, dword [0xd1259c]
mov dword [eax + 0x7c], ebx
mov ecx, dword [0xd1259c]
mov dword [ecx + 0x84], ebx
mov edx, dword [0xd1259c]
mov dword [edx + 0x80], ebx
mov eax, dword [0xd1259c]
mov dword [eax + 0x88], ebx
mov ecx, dword [0xd1259c]
mov word [ecx + 0x98], bx
mov edx, dword [0xd1259c]
mov byte [edx + 0xa0], bl
mov eax, dword [0xd1259c]
mov byte [eax + 0xa9], bl
mov ecx, dword [0xd1259c]
mov byte [ecx + 0xab], bl
mov edx, dword [0xd1259c]
mov byte [edx + 0xac], bl
mov eax, dword [0xd1259c]
mov byte [eax + 0xad], bl
mov ecx, dword [0xd1259c]
mov byte [ecx + 0xae], bl
mov edx, dword [0xd1259c]
mov word [edx + 0xb0], bx
mov ecx, dword [0xd1259c]
mov al, byte [esi + 0xa0]
mov byte [ecx + 0xa0], al
mov eax, dword [0xd1259c]
mov edx, dword [esi + 0xa4]
mov dword [eax + 0xa4], edx
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0x134]
mov dword [edx + 0x134], ecx
mov ecx, dword [0xd1259c]
test byte [ecx + 0xa0], 1
je 0x59aa7e
mov eax, dword [ecx + 0xa4]
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x59aa7e
mov edi, dword [eax + 0x828]
add ecx, 0xc
push 0xc
mov dword [esp + 0x30], ecx
mov ebp, dword [edi + 4]
call fcn.00613321
add esp, 4
cmp edi, ebx
mov ecx, edi
jne 0x59aa45
mov ecx, eax
cmp ebp, ebx
mov dword [eax], ecx
jne 0x59aa4d
mov ebp, eax
mov dword [eax + 4], ebp
mov dword [edi + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
cmp eax, ebx
je 0x59aa67
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 0x82c]
inc ecx
mov dword [eax + 0x82c], ecx
mov ecx, dword [0xd1259c]
mov edx, dword [esp + 0x60]
push edx
call fcn.00599750
mov eax, dword [esi + 0x108]
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x59ac41
mov edi, dword [0xd1259c]
fld dword [edi + 0xe4]
fsub dword [0xd12574]
call fcn.00613380
fld dword [edi + 0xe8]
fsub dword [0xd12578]
mov ebp, eax
call fcn.00613380
cmp dword [esp + 0x10], ebx
jle 0x59abfa
cmp ebp, ebx
jne 0x59ab21
cmp eax, ebx
jne 0x59ab21
mov eax, dword [0xd12544]
mov dword [edi + 0x100], eax
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0xc8]
mov dword [edx + 0xc8], ecx
mov eax, dword [esi + 0x108]
cmp eax, 8
je 0x59ac17
cmp eax, 0x10
je 0x59ac17
mov eax, dword [0xd1259c]
mov dword [eax + 0x108], ebx
mov dword [esi + 0x108], ebx
jmp 0x59ac17
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
jne 0x59ab6e
push eax
push ebp
push ebx
push ebx
call fcn.0040ec90
mov ecx, dword [0xd1259c]
xor edx, edx
mov dword [ecx + 0x100], eax
mov eax, dword [0xd1259c]
mov dx, word [esi + 0x114]
mov ecx, dword [eax + 0x100]
push edx
mov edx, dword [esi + 0x10c]
push ecx
push edx
push 8
call fcn.00599630
add esp, 0x20
mov dword [esi + 0xc8], eax
jmp 0x59abe6
cmp ecx, 0x10
jne 0x59abb7
push eax
push ebp
push ebx
push ebx
call fcn.0040ed30
mov ecx, dword [0xd1259c]
xor edx, edx
mov dword [ecx + 0x100], eax
mov eax, dword [0xd1259c]
mov dx, word [esi + 0x114]
mov ecx, dword [eax + 0x100]
push edx
mov edx, dword [esi + 0x10c]
push ecx
push edx
push 0x10
call fcn.00599630
add esp, 0x20
mov dword [esi + 0xc8], eax
jmp 0x59abe6
mov eax, dword [esi + 0x100]
mov dword [edi + 0x100], eax
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0xc8]
mov dword [edx + 0xc8], ecx
mov eax, dword [0xd1259c]
mov dword [eax + 0x108], ebx
mov dword [esi + 0x108], ebx
mov ecx, dword [0xd1259c]
mov edx, dword [ecx + 0x100]
mov dword [0xd12544], edx
jmp 0x59ac17
mov eax, dword [0xd12544]
mov dword [edi + 0x100], eax
mov edx, dword [0xd1259c]
mov ecx, dword [0xd12548]
mov dword [edx + 0xc8], ecx
mov eax, dword [0xd1259c]
mov ecx, dword [eax + 0xe4]
mov dword [0xd12574], ecx
mov edx, dword [eax + 0xe8]
mov dword [0xd12578], edx
mov eax, dword [eax + 0xec]
mov dword [0xd1257c], eax
jmp 0x59ac65
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0x100]
mov dword [edx + 0x100], ecx
mov ecx, dword [0xd1259c]
mov eax, dword [esi + 0xc8]
mov dword [ecx + 0xc8], eax
mov eax, dword [0xd1259c]
mov edx, dword [esi + 0x110]
mov dword [eax + 0x110], edx
mov edx, dword [0xd1259c]
mov ecx, dword [esi + 0x114]
mov dword [edx + 0x114], ecx
mov eax, dword [0xd1259c]
mov ecx, dword [0xd12658]
push eax
add ecx, 0x18
call fcn.00598040
mov eax, dword [0xd1259c]
mov edx, dword [esi + 0xb4]
mov edi, dword [esp + 0x14]
mov dword [eax + 0xb4], edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
inc eax
dec edi
cmp eax, ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
jl 0x59a709
jmp 0x59b88d
fld dword [esi + 0xe4]
fsub st(1)
fstp dword [0xd125a0]
fld dword [esi + 0xe8]
fsub dword [0xd12550]
fstp dword [0xd125a4]
fld dword [esi + 0xec]
fsub dword [0xd12554]
fstp dword [0xd125a8]
mov ax, word [esi + 0xb0]
cmp ax, bx
je 0x59ad15
and eax, 0xffff
jmp 0x59ad17
mov eax, ebp
lea ecx, [eax + 1]
mov edx, dword [0xd12550]
mov dword [esp + 0x2c], ecx
add eax, 2
fild dword [esp + 0x2c]
fld dword [0xd125a0]
cmp eax, ebx
mov dword [esp + 0x14], ebx
fdiv st(1)
mov dword [esp + 0x34], eax
fstp dword [0xd125ac]
fld dword [0xd125a4]
fdiv st(1)
mov dword [0xd125a4], edx
mov edx, dword [0xd12554]
fstp dword [0xd125b0]
fld dword [0xd125a8]
fdiv st(1)
mov dword [0xd125a8], edx
fstp dword [0xd125b4]
fstp st(0)
fstp dword [0xd125a0]
jle 0x59b88d
mov dword [esp + 0x10], ecx
mov edi, ecx
mov ecx, dword [0xd12570]
and ecx, 0xffff
cmp edi, ecx
jl 0x59ada1
mov dword [0xd12580], 0
jmp 0x59adba
mov eax, edi
cdq
idiv ecx
mov dword [esp + 0x2c], eax
fild dword [esp + 0x2c]
fsubr qword [0x62eea8]
fstp dword [0xd12580]
mov ecx, 0xd125f0
call fcn.0059c260
cmp eax, ebx
mov dword [0xd125b8], eax
je 0x59b32b
mov dword [eax + 0x10], 1
mov ecx, dword [0xd125b8]
mov eax, dword [esi + 0x4c]
mov dword [esp + 0x58], ebx
mov dword [ecx + 0x4c], eax
mov eax, dword [0xd125b8]
mov dx, word [esi + 0xb2]
fld dword [0x62ea84]
mov word [eax + 0xb2], dx
mov edx, dword [0xd125b8]
mov ecx, dword [esi + 0xc8]
mov dword [edx + 0xc8], ecx
mov eax, dword [esi + 0x9c]
fsub dword [0xd12580]
mov dword [esp + 0x54], eax
fimul dword [esp + 0x54]
call fcn.00613380
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x9c], eax
mov eax, dword [0xd125b8]
mov edx, dword [esi + 0x9c]
mov dword [eax + 0x8c], edx
mov edx, dword [0xd125b8]
mov ecx, dword [esi + 0x90]
mov dword [edx + 0x90], ecx
mov ecx, dword [0xd125b8]
mov eax, dword [esi + 0x94]
mov dword [ecx + 0x94], eax
mov edx, dword [0xd125b8]
mov byte [edx + 0xa8], 1
fld dword [0xd12580]
fmul dword [0x62f254]
call fcn.00613380
mov ecx, dword [0xd125b8]
mov byte [ecx + 0xaa], al
fld dword [0xd125a0]
call fcn.00613380
mov edx, dword [0xd125b8]
mov dword [edx + 0x50], eax
fld dword [0xd125a4]
call fcn.00613380
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x54], eax
fld dword [0xd125a8]
call fcn.00613380
mov edx, dword [0xd125b8]
mov dword [edx + 0x58], eax
fld dword [0xd125a0]
call fcn.00613380
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x5c], eax
fld dword [0xd125a4]
call fcn.00613380
mov edx, dword [0xd125b8]
mov dword [edx + 0x60], eax
fld dword [0xd125a8]
call fcn.00613380
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x64], eax
mov edx, dword [0xd125b8]
fld dword [0xd125ac]
fadd dword [0xd125a0]
fstp dword [0xd125a0]
fld dword [0xd125b0]
fadd dword [0xd125a4]
fstp dword [0xd125a4]
fld dword [0xd125b4]
fadd dword [0xd125a8]
fstp dword [0xd125a8]
mov dword [edx + 0x3c], 0xe1
mov ecx, dword [0xd125b8]
mov eax, dword [esi + 0x30]
mov dword [ecx + 0x30], eax
mov eax, dword [0xd125b8]
mov edx, dword [esi + 0x34]
mov dword [eax + 0x34], edx
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x68], ebx
mov edx, dword [0xd125b8]
mov dword [edx + 0x6c], ebx
mov eax, dword [0xd125b8]
mov dword [eax + 0x70], ebx
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x74], ebx
mov edx, dword [0xd125b8]
mov dword [edx + 0x78], ebx
mov eax, dword [0xd125b8]
mov dword [eax + 0x7c], ebx
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x84], ebx
mov edx, dword [0xd125b8]
mov dword [edx + 0x80], ebx
mov eax, dword [0xd125b8]
mov dword [eax + 0x88], ebx
mov ecx, dword [0xd125b8]
mov word [ecx + 0x98], bx
mov edx, dword [0xd125b8]
mov byte [edx + 0xa0], bl
mov eax, dword [0xd125b8]
mov byte [eax + 0xa9], bl
mov ecx, dword [0xd125b8]
mov byte [ecx + 0xab], bl
mov edx, dword [0xd125b8]
mov byte [edx + 0xac], bl
mov eax, dword [0xd125b8]
mov byte [eax + 0xad], bl
mov ecx, dword [0xd125b8]
mov byte [ecx + 0xae], bl
mov edx, dword [0xd125b8]
mov word [edx + 0xb0], bx
mov ecx, dword [0xd125b8]
mov al, byte [esi + 0xa0]
mov byte [ecx + 0xa0], al
mov eax, dword [0xd125b8]
mov edx, dword [esi + 0xa4]
mov dword [eax + 0xa4], edx
mov ecx, dword [0xd125b8]
test byte [ecx + 0xa0], 1
je 0x59b0bd
mov eax, dword [ecx + 0xa4]
cmp eax, ebx
mov dword [esp + 0x24], eax
je 0x59b0bd
add ecx, 0xc
push 0xc
mov dword [esp + 0x30], ecx
mov ecx, eax
mov edi, dword [ecx + 0x828]
mov ebp, dword [edi + 4]
call fcn.00613321
add esp, 4
cmp edi, ebx
mov ecx, edi
jne 0x59b084
mov ecx, eax
cmp ebp, ebx
mov dword [eax], ecx
jne 0x59b08c
mov ebp, eax
mov dword [eax + 4], ebp
mov dword [edi + 4], eax
mov edx, dword [eax + 4]
mov dword [edx], eax
add eax, 8
cmp eax, ebx
je 0x59b0a6
mov ecx, dword [esp + 0x2c]
mov edx, dword [ecx]
mov dword [eax], edx
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x82c]
inc ecx
mov dword [eax + 0x82c], ecx
mov ecx, dword [0xd125b8]
mov eax, dword [esp + 0x60]
push eax
call fcn.00599750
mov eax, dword [esi + 0x108]
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x59b2bb
mov edi, dword [0xd125b8]
fld dword [edi + 0xe4]
fsub dword [0xd12574]
call fcn.00613380
fld dword [edi + 0xe8]
fsub dword [0xd12578]
mov ebp, eax
call fcn.00613380
cmp dword [esp + 0x14], ebx
jle 0x59b267
cmp ebp, ebx
jne 0x59b195
cmp eax, ebx
jne 0x59b195
mov ecx, dword [0xd12544]
mov dword [edi + 0x100], ecx
mov eax, dword [esi + 0x108]
cmp eax, 8
je 0x59b15d
cmp eax, 0x10
je 0x59b15d
mov eax, dword [0xd125b8]
mov edx, dword [esi + 0xc8]
mov dword [eax + 0xc8], edx
mov ecx, dword [0xd125b8]
mov dword [ecx + 0x108], ebx
mov dword [esi + 0x108], ebx
jmp 0x59b284
mov ecx, dword [0xd125b8]
xor edx, edx
mov dx, word [esi + 0x114]
push edx
mov edx, dword [ecx + 0x100]
mov ecx, dword [esi + 0x10c]
push edx
push ecx
push eax
call fcn.00599630
mov edx, dword [0xd125b8]
add esp, 0x10
mov dword [edx + 0xc8], eax
jmp 0x59b284
mov ecx, dword [esp + 0x1c]
cmp ecx, 8
jne 0x59b1eb
push eax
push ebp
push ebx
push ebx
call fcn.0040ec90
mov ecx, dword [0xd125b8]
xor edx, edx
mov dword [ecx + 0x100], eax
mov eax, dword [0xd125b8]
mov dx, word [esi + 0x114]
mov ecx, dword [eax + 0x100]
push edx
mov edx, dword [esi + 0x10c]
push ecx
push edx
push 8
call fcn.00599630
mov ecx, dword [0xd125b8]
add esp, 0x20
mov dword [ecx + 0xc8], eax
jmp 0x59b284
cmp ecx, 0x10
jne 0x59b23b
push eax
push ebp
push ebx
push ebx
call fcn.0040ed30
mov edx, dword [0xd125b8]
mov dword [edx + 0x100], eax
mov ecx, dword [0xd125b8]
xor eax, eax
mov ax, word [esi + 0x114]
mov edx, dword [ecx + 0x100]
push eax
mov eax, dword [esi + 0x10c]
push edx
push eax
push 0x10
call fcn.00599630
mov ecx, dword [0xd125b8]
add esp, 0x20
mov dword [ecx + 0xc8], eax
jmp 0x59b284
mov edx, dword [esi + 0x100]
mov dword [edi + 0x100], edx
mov ecx, dword [0xd125b8]
mov eax, dword [esi + 0xc8]
mov dword [ecx + 0xc8], eax
mov edx, dword [0xd125b8]
mov dword [edx + 0x108], ebx
jmp 0x59b284
mov eax, dword [0xd12544]
mov dword [edi + 0x100], eax
mov edx, dword [0xd125b8]
mov ecx, dword [0xd12548]
mov dword [edx + 0xc8], ecx
mov eax, dword [0xd125b8]
mov ecx, dword [eax + 0x100]
mov dword [0xd12544], ecx
mov edx, dword [eax + 0xe4]
mov dword [0xd12574], edx
mov ecx, dword [eax + 0xe8]
mov dword [0xd12578], ecx
mov edx, dword [eax + 0xec]
mov dword [0xd1257c], edx
jmp 0x59b2e3
mov ecx, dword [0xd125b8]
mov eax, dword [esi + 0x100]
mov dword [ecx + 0x100], eax
mov eax, dword [0xd125b8]
mov edx, dword [esi + 0xc8]
mov dword [eax + 0xc8], edx
mov eax, dword [0xd125b8]
mov ecx, dword [esi + 0x110]
mov dword [eax + 0x110], ecx
mov eax, dword [0xd125b8]
mov edx, dword [esi + 0x114]
mov dword [eax + 0x114], edx
mov ecx, dword [0xd125b8]
mov edx, dword [0xd12658]
push ecx
lea ecx, [edx + 0x18]
call fcn.00598040
mov ecx, dword [0xd125b8]
mov eax, dword [esi + 0xb4]
mov edi, dword [esp + 0x10]
mov dword [ecx + 0xb4], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x34]
inc eax
dec edi
cmp eax, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
jl 0x59ad85
jmp 0x59b88d
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0xc0]
mov ecx, dword [0x6d6790]
add eax, edx
cmp ecx, eax
jb 0x59b44b
or ebp, 0xffffffff
mov dword [esi + 0xc0], eax
mov dword [0xd1253c], 1
dec word [esi + 0x116]
cmp word [esi + 0x116], bx
jne 0x59b429
mov edx, dword [esi + 0x110]
lea edi, [esi + 0x114]
inc edx
push edi
mov eax, edx
mov dword [esi + 0x110], edx
mov ecx, dword [esi + 0x118]
push eax
call fcn.00598540
test eax, eax
jne 0x59b3d2
mov dword [esi + 0x110], ebp
mov ecx, dword [esi + 0x118]
push edi
push ebx
call fcn.00598540
mov word [esi + 0x116], 1
mov dword [esi + 0x40], ebx
xor ecx, ecx
mov cx, word [edi]
mov dword [esi + 0xc8], ecx
mov eax, dword [esi + 0x108]
cmp eax, 8
jne 0x59b400
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x10c]
xor edx, edx
mov dx, word [edi]
push edx
push eax
push ecx
push 8
jmp 0x59b41b
cmp eax, 0x10
jne 0x59b429
mov eax, dword [esi + 0x100]
mov ecx, dword [esi + 0x10c]
xor edx, edx
mov dx, word [edi]
push edx
push eax
push ecx
push 0x10
call fcn.00599630
add esp, 0x10
mov dword [esi + 0xc8], eax
mov edx, dword [esi + 0x90]
mov eax, dword [esi + 0xc0]
mov ecx, dword [0x6d6790]
add eax, edx
cmp ecx, eax
jae 0x59b369
mov edi, dword [0xd1253c]
mov edx, dword [esi + 0x94]
mov ebp, dword [esi + 0xc4]
add edx, ebp
cmp ecx, edx
jb 0x59b86c
mov eax, dword [esi + 0xe4]
mov dword [0xd1255c], eax
mov ecx, dword [esi + 0xe8]
mov dword [0xd12560], ecx
mov edx, dword [esi + 0xec]
mov dword [0xd12564], edx
mov eax, dword [esi + 0x94]
mov ecx, dword [esi + 0xc4]
add ecx, eax
mov dword [esi + 0xc4], ecx
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59b5fa
mov eax, dword [esi + 0xbc]
mov dword [esp + 0x58], ebx
fld dword [esi + 0x84]
sub ecx, eax
mov dword [esp + 0x54], ecx
fild qword [esp + 0x54]
fld st(1)
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59b4e0
fxch st(1)
fchs
fxch st(1)
fchs
fld st(0)
fdiv dword [esi + 0xfc]
fadd dword [esi + 0xb8]
fld st(0)
fcos
fmul dword [esi + 0xf0]
fiadd dword [esi + 0x5c]
fstp dword [esi + 0xe4]
fsin
fmul dword [esi + 0xf4]
fiadd dword [esi + 0x60]
fstp dword [esi + 0xe8]
fld dword [esi + 0x80]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59b54f
fmul dword [esi + 0x80]
movsx ecx, word [esi + 0x98]
fdiv dword [esi + 0xfc]
mov dword [esp + 0x34], ecx
fadd dword [esi + 0xb8]
fcos
fild dword [esp + 0x34]
fmulp st(1)
fiadd dword [esi + 0x64]
jmp 0x59b575
mov edx, dword [esi + 0x94]
mov dword [esp + 0x50], ebx
fstp st(0)
mov dword [esp + 0x4c], edx
fild qword [esp + 0x4c]
fmul dword [esi + 0xe0]
fmul dword [0x62ef98]
fadd dword [esi + 0xec]
fstp dword [esi + 0xec]
fld dword [esi + 0x88]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 0x40
jne 0x59b5c9
fld dword [esi + 0xec]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59b5c9
fld dword [esi + 0xec]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xec]
fld dword [esi + 0xe0]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xe0]
fld st(0)
fmul dword [esi + 0xf0]
mov eax, dword [esi + 0x94]
mov dword [esp + 0x48], ebx
mov dword [esp + 0x44], eax
fstp dword [esi + 0xf0]
fmul dword [esi + 0xf4]
fstp dword [esi + 0xf4]
fild qword [esp + 0x44]
jmp 0x59b72e
mov ecx, dword [esi + 0x94]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], ebx
fild qword [esp + 0x3c]
mov dword [esp + 0x28], ebx
fmul dword [esi + 0xd8]
fmul dword [0x62ef98]
fadd dword [esi + 0xe4]
fstp dword [esi + 0xe4]
mov edx, dword [esi + 0x94]
mov dword [esp + 0x2c], edx
fild qword [esp + 0x2c]
fmul dword [esi + 0xdc]
fmul dword [0x62ef98]
fadd dword [esi + 0xe8]
fstp dword [esi + 0xe8]
mov eax, dword [esi + 0x94]
mov dword [esp + 0x24], eax
fild qword [esp + 0x24]
fmul dword [esi + 0xe0]
fmul dword [0x62ef98]
fadd dword [esi + 0xec]
fstp dword [esp + 0x10]
fld dword [esi + 0x88]
fcomp dword [0x62ead0]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0xec], ecx
fnstsw ax
test ah, 0x40
jne 0x59b6ee
fld dword [esp + 0x10]
fcomp dword [0x62ead0]
fnstsw ax
test ah, 1
je 0x59b6ee
fld dword [esp + 0x10]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xec]
fld dword [esi + 0xd8]
fmul dword [esi + 0x88]
fstp dword [esi + 0xd8]
fld dword [esi + 0xdc]
fmul dword [esi + 0x88]
fstp dword [esi + 0xdc]
fld dword [esi + 0xe0]
fmul dword [esi + 0x88]
fchs
fstp dword [esi + 0xe0]
mov edx, dword [esi + 0x94]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x1c], edx
fild qword [esp + 0x1c]
fld st(0)
fmul dword [esi + 0x74]
fmul dword [0x62ef98]
fadd dword [esi + 0xd8]
fstp dword [esi + 0xd8]
fld st(0)
fmul dword [esi + 0x78]
fmul dword [0x62ef98]
fadd dword [esi + 0xdc]
fstp dword [esi + 0xdc]
fmul dword [esi + 0x7c]
cmp dword [esi + 0x108], ebx
fmul dword [0x62ef98]
fadd dword [esi + 0xe0]
fstp dword [esi + 0xe0]
je 0x59b813
fld dword [esi + 0xe4]
fsub dword [0xd1255c]
fmul dword [0x62f250]
call fcn.00613380
fld dword [esi + 0xe8]
fsub dword [0xd12560]
mov edi, eax
fmul dword [0x62f250]
call fcn.00613380
fld dword [esi + 0x84]
fcomp dword [0x62ead0]
mov ecx, eax
fnstsw ax
test ah, 0x40
jne 0x59b813
cmp edi, ebx
jne 0x59b79c
cmp ecx, ebx
je 0x59b813
mov eax, dword [esi + 0x100]
mov dword [0xd125bc], eax
mov eax, dword [esi + 0x108]
cmp eax, 8
jne 0x59b7d0
push ecx
push edi
push ebx
push ebx
call fcn.0040ec90
mov dword [esi + 0x100], eax
mov ecx, dword [0xd125bc]
add esp, 0x10
cmp eax, ecx
je 0x59b813
jmp 0x59b7f1
cmp eax, 0x10
jne 0x59b813
push ecx
push edi
push ebx
push ebx
call fcn.0040ed30
mov dword [esi + 0x100], eax
mov ecx, dword [0xd125bc]
add esp, 0x10
cmp eax, ecx
je 0x59b813
mov edx, dword [esi + 0x10c]
xor ecx, ecx
mov cx, word [esi + 0x114]
push ecx
push eax
push edx
push 8
call fcn.00599630
add esp, 0x10
mov dword [esi + 0xc8], eax
fld dword [esi + 0xe4]
call fcn.00613380
fld dword [esi + 0xe8]
mov dword [esi + 0xcc], eax
call fcn.00613380
fld dword [esi + 0xec]
mov dword [esi + 0xd0], eax
call fcn.00613380
mov dword [esi + 0xd4], eax
mov ecx, dword [0x6d6790]
mov dword [0xd1253c], 1
mov eax, dword [esi + 0x94]
add eax, dword [esi + 0xc4]
cmp ecx, eax
jae 0x59b461
jmp 0x59b870
cmp edi, ebx
je 0x59b88d
mov dword [0x647e38], 1
mov edx, dword [esi + 0xbc]
add edx, dword [esi + 0x8c]
cmp ecx, edx
jbe 0x59b88d
mov dword [esi + 0x40], ebx
mov eax, dword [esi + 0x44]
mov ecx, dword [esi + 0xc8]
cmp ecx, eax
jl 0x59b8a4
dec eax
mov dword [esi + 0xc8], eax
mov dword [esi + 0x40], ebx
cmp dword [esi + 0x40], ebx
jne 0x59ba68
cmp dword [esi + 0x11c], ebx
je 0x59ba68
mov eax, dword [esi + 0x124]
mov dword [esp + 0x24], ebx
mov dword [0xd125c0], eax
mov dword [0xd125c4], eax
cmp dword [esi + 0x120], ebx
jle 0x59ba56
mov dword [eax + 0x10], ebx
mov eax, dword [esi + 0x128]
cmp eax, ebx
je 0x59b922
fld dword [esi + 0xe4]
call fcn.00613380
mov ecx, dword [0xd125c0]
mov dword [ecx + 0x50], eax
fld dword [esi + 0xe8]
call fcn.00613380
mov edx, dword [0xd125c0]
mov dword [edx + 0x54], eax
fld dword [esi + 0xec]
call fcn.00613380
mov ecx, dword [0xd125c0]
mov dword [ecx + 0x58], eax
cmp dword [esi + 0x12c], ebx
je 0x59b956
mov eax, dword [0xd125c0]
mov edx, dword [esi + 0xd8]
mov dword [eax + 0x68], edx
mov edx, dword [0xd125c0]
mov ecx, dword [esi + 0xdc]
mov dword [edx + 0x6c], ecx
mov ecx, dword [0xd125c0]
mov eax, dword [esi + 0xe0]
mov dword [ecx + 0x70], eax
mov eax, dword [0xd125c0]
mov edx, dword [esi + 0x3c]
mov dword [eax + 0x3c], edx
mov ecx, dword [0xd125c0]
test byte [ecx + 0xa0], 1
je 0x59b9e3
mov edx, dword [esi + 0xa4]
push 0xc
mov dword [ecx + 0xa4], edx
mov eax, dword [0xd125c0]
mov edi, dword [eax + 0xa4]
lea ecx, [eax + 0xc]
add edi, 0x824
mov dword [esp + 0x30], ecx
mov ebp, dword [edi + 4]
mov edx, dword [ebp + 4]
mov dword [esp + 0x38], edx
call fcn.00613321
add esp, 4
cmp ebp, ebx
mov ecx, ebp
jne 0x59b9b0
mov ecx, eax
mov dword [eax], ecx
mov ecx, dword [esp + 0x34]
cmp ecx, ebx
jne 0x59b9bc
mov ecx, eax
mov dword [eax + 4], ecx
mov dword [ebp + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
add eax, 8
cmp eax, ebx
je 0x59b9d6
mov edx, dword [esp + 0x2c]
mov ecx, dword [edx]
mov dword [eax], ecx
mov eax, dword [edi + 8]
inc eax
mov dword [edi + 8], eax
mov ecx, dword [0xd125c0]
mov edx, dword [esp + 0x60]
push edx
call fcn.00599750
mov eax, dword [0xd125c0]
mov ecx, dword [0xd12658]
push eax
add ecx, 0x18
call fcn.00598040
mov edx, dword [0xd125c0]
mov ecx, dword [0xd125c4]
mov eax, dword [edx + 0x124]
mov dword [0xd125c0], eax
mov dword [ecx + 0x11c], ebx
mov edx, dword [0xd125c4]
mov ecx, dword [esp + 0x24]
inc ecx
mov dword [edx + 0x120], ebx
mov eax, dword [0xd125c4]
mov dword [esp + 0x24], ecx
mov dword [eax + 0x124], ebx
mov eax, dword [0xd125c0]
mov dword [0xd125c4], eax
mov edx, dword [esi + 0x120]
cmp ecx, edx
jl 0x59b8d9
mov dword [esi + 0x11c], ebx
mov dword [esi + 0x120], ebx
mov dword [esi + 0x124], ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 4