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

Disassembly:
push ebx
push ecx
push edx
push esi
push edi
push ebp
mov ebp, esp
sub esp, 0x9c
and esp, 0xfffffff8
mov ecx, dword [0x42801c]
mov esi, dword [0x428034]
mov dword [esp + 0x24], eax
xor edx, edx
mov eax, dword [0x428070]
mov dword [esp + 0x20], edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x14], edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x80], edx
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x90], edx
mov dword [esp + 0x60], edx
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x58], edx
mov dword [esp + 0x90], eax
lea ecx, [eax + 1]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x90], ecx
lea eax, [ecx*4]
mov dword [esp + 0x1c], edx
sub eax, ecx
mov dword [esp + 0x6c], edx
shl eax, 2
mov dword [esp + 0x98], edx
add eax, ecx
mov dword [esp + 0x84], edx
shl eax, 2
mov dword [esp + 0x94], edx
mov dword [esp + 0x5c], eax
call fcn.00402180
mov ebx, dword [esp + 0x5c]
mov ecx, eax
mov dword [esp + 0x34], eax
call fcn.004121a4
mov eax, dword [0x428070]
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x90], eax
cmp ecx, 0xbfffffff
jle 0x4038c9
mov esi, dword [0x428034]
jmp 0x4038e1
fld qword [ecx*8]
mov esi, dword [0x428034]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x90]
mov dword [ecx], eax
mov eax, dword [0x4281a0]
mov edi, dword [eax*8 + 8]
inc edi
mov edx, dword [esp + 0x34]
mov dword [eax*8 + 8], edi
mov dword [0x42801c], ecx
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [0x428034], esi
mov dword [esp + 0x44], eax
cmp edx, 0xbfffffff
jle 0x403937
lea eax, [edx + 0x34]
mov dword [esp + 0x7c], eax
lea eax, [edx - 0x3fffffcc]
test eax, eax
jl 0x403953
fild dword [esp + 0x7c]
jmp 0x403944
fld qword [edx*8]
fadd qword [0x424188]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x7c], eax
mov ebx, 1
mov eax, dword [0x428070]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
mov eax, dword [eax*8 + 4]
mov dword [esp + 8], ebx
mov dword [esp + 0x90], eax
mov eax, dword [esp + 8]
mov edi, dword [esp + 0x90]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, edi
jg 0x4058bb
mov eax, dword [esp + 0x6c]
cmp eax, 0xbfffffff
jge 0x4039bb
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4039bb
call fcn.00414800
mov edx, dword [0x428070]
mov eax, dword [esp + 8]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x6c], eax
cmp eax, 0xbfffffff
jge 0x4039ed
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp ebx, 0xbfffffff
jge 0x403a20
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x403a20
mov eax, ebx
call fcn.00414800
mov ebx, dword [esp + 0x6c]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp ebx, 0xa0000000
setge al
and eax, 0xff
je 0x403c86
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x403a6d
lea eax, [edi + 4]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3ffffffc]
test eax, eax
jl 0x403a8c
fild dword [esp + 0x98]
jmp 0x403a7a
fld qword [edi*8]
fadd qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x403aa4
mov ecx, eax
jmp 0x403ab6
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x6c]
cmp edx, 0xbfffffff
jle 0x403ac6
mov dword [ecx], edx
jmp 0x403b25
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x403ae6
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
jmp 0x403b25
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x403b09
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x403aec
je 0x403b25
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x403aec
mov eax, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x403b55
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x403b55
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x403b7e
lea eax, [edi + 8]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3ffffff8]
test eax, eax
jl 0x403b9d
fild dword [esp + 0x98]
jmp 0x403b8b
fld qword [edi*8]
fadd qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jle 0x403bb5
mov esi, eax
jmp 0x403bc7
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov byte [esi], 3
cmp edx, 0xbfffffff
jge 0x403bfd
mov ebx, dword [edx*8 + 8]
dec ebx
mov dword [edx*8 + 8], ebx
jne 0x403bfd
mov eax, edx
call fcn.00414800
mov eax, dword [esp + 0x7c]
cmp eax, 0xbfffffff
jle 0x403c28
add eax, 9
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x7c]
sub eax, 0x3ffffff7
test eax, eax
jl 0x403c47
fild dword [esp + 0x98]
jmp 0x403c35
fld qword [eax*8]
fadd qword [0x4241a0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x403c60
mov esi, edx
jmp 0x403c72
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov byte [esi], 9
jmp 0x405842
cmp eax, 0xbfffffff
jge 0x403ca3
mov edi, dword [eax*8 + 8]
dec edi
mov dword [eax*8 + 8], edi
jne 0x403ca3
call fcn.00414800
mov ebx, dword [esp + 0x7c]
cmp ebx, 0xbfffffff
jle 0x403ccc
lea eax, [ebx + 4]
mov dword [esp + 0x98], eax
lea eax, [ebx - 0x3ffffffc]
test eax, eax
jl 0x403ceb
fild dword [esp + 0x98]
jmp 0x403cd9
fld qword [ebx*8]
fadd qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x84]
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jge 0x403d18
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x403d18
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 8]
mov esi, dword [0x428034]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x403d41
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jle 0x403d53
mov ecx, eax
jmp 0x403d65
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jle 0x403d78
mov dword [ecx], edx
jmp 0x403dd7
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x403d98
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
jmp 0x403dd7
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x403dbb
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x403d9e
je 0x403dd7
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x403d9e
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x403e0a
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x403e0a
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x403e33
lea eax, [edi + 8]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3ffffff8]
test eax, eax
jl 0x403e52
fild dword [esp + 0x84]
jmp 0x403e40
fld qword [edi*8]
fadd qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jge 0x403e7c
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x403e7c
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0xc]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x403ea5
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x84]
cmp eax, 0xbfffffff
jle 0x403eb7
mov esi, eax
jmp 0x403ec9
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jle 0x403ee3
mov al, byte [esp + 0x98]
mov byte [esi], al
jmp 0x403f42
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x403f05
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x403f42
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x403f26
inc esi
mov byte [esi - 1], dl
jmp 0x403f0b
je 0x403f42
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x403f0b
mov eax, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x403f72
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x403f72
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x403f9b
lea eax, [edi + 9]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3ffffff7]
test eax, eax
jl 0x403fba
fild dword [esp + 0x98]
jmp 0x403fa8
fld qword [edi*8]
fadd qword [0x4241a0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jge 0x403fe4
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x403fe4
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x40400d
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jle 0x40401f
mov esi, eax
jmp 0x404031
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jle 0x40404b
mov al, byte [esp + 0x84]
mov byte [esi], al
jmp 0x4040aa
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x40406d
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x4040aa
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x40408e
inc esi
mov byte [esi - 1], dl
jmp 0x404073
je 0x4040aa
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x404073
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x4040da
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4040da
call fcn.00414800
mov eax, dword [esp + 0x6c]
mov esi, dword [0x428034]
mov eax, dword [eax*8 + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 6
setge al
and eax, 0xff
mov dword [esp + 0x84], eax
je 0x404544
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jge 0x404134
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x404134
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x18]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x404163
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x4041ab
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x4041ab
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
test ebx, ebx
je 0x404544
cmp ebx, 0xbfffffff
jge 0x4041e6
mov edx, dword [ebx*8 + 8]
dec edx
mov dword [ebx*8 + 8], edx
jne 0x4041e6
mov eax, ebx
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x40420f
lea eax, [edi + 0xa]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3ffffff6]
test eax, eax
jl 0x40422e
fild dword [esp + 0x98]
jmp 0x40421c
fld qword [edi*8]
fadd qword [0x4241a8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jge 0x404258
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x404258
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x14]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x404281
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jle 0x404293
mov esi, eax
jmp 0x4042a5
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jle 0x4042bf
mov al, byte [esp + 0x84]
mov byte [esi], al
jmp 0x40431e
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x4042e1
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x40431e
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x404302
inc esi
mov byte [esi - 1], dl
jmp 0x4042e7
je 0x40431e
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x4042e7
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x40434e
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x40434e
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x404377
lea eax, [edi + 0x10]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3ffffff0]
test eax, eax
jl 0x404396
fild dword [esp + 0x84]
jmp 0x404384
fld qword [edi*8]
fadd qword [0x4241b0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x4043c0
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4043c0
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x1c]
mov esi, dword [0x428034]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4043e9
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x84]
cmp eax, 0xbfffffff
jle 0x4043fb
mov ecx, eax
jmp 0x40440d
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jle 0x404420
mov dword [ecx], edx
jmp 0x40447f
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x404440
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
jmp 0x40447f
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x404463
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x404446
je 0x40447f
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x404446
mov eax, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x4044af
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4044af
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x18]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4044de
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x40451f
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x40451f
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov ebx, dword [esp + 0x44]
mov esi, dword [0x428034]
inc edx
mov ecx, dword [0x42801c]
add ebx, edx
mov dword [esp + 0x98], edx
mov dword [esp + 0x44], ebx
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x404577
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x404577
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x40459a
inc dword [eax*8 + 8]
mov ebx, 1
mov edx, dword [esp + 0x98]
mov eax, 4
call fcn.0041571c
mov edx, eax
mov eax, dword [esp + 0x98]
shl eax, 3
test edx, edx
jne 0x40546d
mov ebx, dword [esp + 0x98]
cmp ebx, 0xbfffffff
jge 0x4045e3
mov edi, dword [eax + 8]
dec edi
mov dword [eax + 8], edi
jne 0x4045e3
mov eax, ebx
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x404606
inc dword [eax*8 + 8]
mov eax, 3
call fcn.00410908
mov edx, dword [eax]
mov edi, dword [esp + 0x84]
mov dword [edx + 4], 0x1b
shr eax, 3
mov dword [edx + 8], 0x1f5
add eax, 0x80000000
mov dword [edx + 0xc], 0x1f8
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x40465d
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x40465d
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x84]
mov eax, dword [esp + 0x98]
mov edx, edi
call fcn.00415b84
mov ebx, dword [edi*8 + 8]
mov dword [esp + 0x84], eax
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x404691
mov eax, edi
call fcn.00414a24
cmp dword [esp + 0x84], 0
je 0x405842
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x20]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x4046ce
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x404716
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x404716
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x84]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
test edx, edx
je 0x404eb5
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x20]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x404754
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x404795
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x404795
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x84]
cmp ebx, 0x3fff
jg 0x4047b4
lea edi, [ebx*4]
mov dword [esp + 0x84], edi
jmp 0x4047d3
fild dword [esp + 0x84]
fmul qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov edi, dword [esp + 0x84]
cmp edi, 0xbfffffff
jle 0x4047ff
lea eax, [edi - 0x3ffffffc]
lea edx, [edi + 4]
mov dword [esp + 0x84], edx
test eax, eax
jl 0x40481e
fild dword [esp + 0x84]
jmp 0x40480c
fld qword [edi*8]
fadd qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x40483e
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x40483e
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jge 0x404854
inc dword [edx*8 + 8]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x60]
call fcn.00402180
mov dword [esp + 0x60], eax
cmp edi, 0xbfffffff
jge 0x404888
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x404888
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x84]
cmp ebx, 0xbfffffff
jge 0x4048af
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x4048af
mov eax, ebx
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x20]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x4048de
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x84]
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x40491f
mov eax, dword [edi*8 + 8]
mov dword [0x42801c], ecx
dec eax
mov dword [edi*8 + 8], eax
jne 0x40491f
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x60]
mov esi, dword [0x428034]
cmp ebx, 0xbfffffff
jle 0x404935
mov ecx, ebx
jmp 0x404947
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x60]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov dword [ecx], eax
cmp edi, 0xbfffffff
jle 0x404985
lea eax, [edi + 4]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3ffffffc]
test eax, eax
jl 0x4049a4
fild dword [esp + 0x84]
jmp 0x404992
fld qword [edi*8]
fadd qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x4049ce
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4049ce
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x20]
mov esi, dword [0x428034]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4049f7
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x84]
cmp eax, 0xbfffffff
jle 0x404a09
mov ecx, eax
jmp 0x404a1b
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jle 0x404a2e
mov dword [ecx], edx
jmp 0x404a8d
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x404a4e
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
jmp 0x404a8d
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x404a71
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x404a54
je 0x404a8d
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x404a54
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x404ac0
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x404ac0
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x404ae9
lea eax, [edi + 0x14]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3fffffec]
test eax, eax
jl 0x404b08
fild dword [esp + 0x98]
jmp 0x404af6
fld qword [edi*8]
fadd qword [0x4241b8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x404b20
mov ecx, eax
jmp 0x404b32
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x60]
cmp edx, 0xbfffffff
jg 0x404b50
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
mov ebx, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp ebx, 0xbfffffff
jge 0x404b85
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x404b85
mov eax, ebx
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x24]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x404bb4
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x404bfc
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x404bfc
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
test edx, edx
je 0x404eb5
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x404c3a
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x404c7b
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x404c7b
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x98]
cmp ebx, 0x3fff
jg 0x404c9a
lea edi, [ebx*4]
mov dword [esp + 0x98], edi
jmp 0x404cb9
fild dword [esp + 0x98]
fmul qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jge 0x404cce
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x98]
mov edi, dword [esp + 0x58]
call fcn.00402180
mov dword [esp + 0x58], eax
cmp edi, 0xbfffffff
jge 0x404d02
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x404d02
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jge 0x404d2f
mov ebx, dword [edx*8 + 8]
dec ebx
mov dword [edx*8 + 8], ebx
jne 0x404d2f
mov eax, edx
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x24]
mov esi, dword [0x428034]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x404d58
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x58]
cmp ebx, 0xbfffffff
jle 0x404d68
mov ecx, ebx
jmp 0x404d7a
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edi, dword [esp + 0x98]
cmp edi, 0xbfffffff
jle 0x404d8d
mov dword [ecx], edi
jmp 0x404dec
lea eax, [edi*8]
cmp edi, 0xa0000000
jl 0x404dad
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
jmp 0x404dec
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x404dd0
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x404db3
je 0x404dec
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x404db3
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x404e1f
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x404e1f
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x404e48
lea eax, [edi + 0x18]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3fffffe8]
test eax, eax
jl 0x404e67
fild dword [esp + 0x98]
jmp 0x404e55
fld qword [edi*8]
fadd qword [0x4241c0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x404e7f
mov ecx, eax
jmp 0x404e91
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x58]
cmp edx, 0xbfffffff
jle 0x404ea1
mov dword [ecx], edx
jmp 0x404eb5
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
mov ebx, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp ebx, 0xbfffffff
jge 0x404ee8
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x404ee8
mov eax, ebx
call fcn.00414800
mov ebx, dword [esp + 0x7c]
cmp ebx, 0xbfffffff
jle 0x404f11
lea eax, [ebx + 0x1c]
mov dword [esp + 0x98], eax
lea eax, [ebx - 0x3fffffe4]
test eax, eax
jl 0x404f30
fild dword [esp + 0x98]
jmp 0x404f1e
fld qword [ebx*8]
fadd qword [0x4241c8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x84]
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jge 0x404f5d
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x404f5d
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x30]
mov esi, dword [0x428034]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x404f86
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jle 0x404f98
mov ecx, eax
jmp 0x404faa
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jle 0x404fbd
mov dword [ecx], edx
jmp 0x40501c
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x404fdd
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
jmp 0x40501c
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x405000
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x404fe3
je 0x40501c
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x404fe3
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x40504c
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x40504c
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x405075
lea eax, [edi + 0x20]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3fffffe0]
test eax, eax
jl 0x405094
fild dword [esp + 0x84]
jmp 0x405082
fld qword [edi*8]
fadd qword [0x4241d0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x4050be
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4050be
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x28]
mov esi, dword [0x428034]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4050e7
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x84]
cmp eax, 0xbfffffff
jle 0x4050f9
mov ecx, eax
jmp 0x40510b
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jle 0x40511e
mov dword [ecx], edx
jmp 0x40517d
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x40513e
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
jmp 0x40517d
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x405161
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x405144
je 0x40517d
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x405144
mov eax, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x4051ad
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4051ad
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x4051d6
lea eax, [edi + 0x24]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3fffffdc]
test eax, eax
jl 0x4051f5
fild dword [esp + 0x98]
jmp 0x4051e3
fld qword [edi*8]
fadd qword [0x4241d8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x40521f
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x40521f
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x2c]
mov esi, dword [0x428034]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x405248
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jle 0x40525a
mov ecx, eax
jmp 0x40526c
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jle 0x40527f
mov dword [ecx], edx
jmp 0x4052de
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x40529f
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
jmp 0x4052de
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x4052c2
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x4052a5
je 0x4052de
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x4052a5
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x40530e
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x40530e
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x405337
lea eax, [edi + 0x30]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3fffffd0]
test eax, eax
jl 0x405356
fild dword [esp + 0x84]
jmp 0x405344
fld qword [edi*8]
fadd qword [0x4241e0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x98]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x405380
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x405380
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x34]
mov esi, dword [0x428034]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4053a9
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x84]
cmp eax, 0xbfffffff
jle 0x4053bb
mov ecx, eax
jmp 0x4053cd
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jle 0x4053ef
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov dword [ecx], edx
jmp 0x405842
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x40541e
fld qword [eax]
call fcn.0041a602
mov dword [0x42801c], ecx
fistp qword [esp]
mov eax, dword [esp]
mov dword [0x428034], esi
mov dword [ecx], eax
jmp 0x405842
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x405441
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x405424
mov dword [0x42801c], ecx
mov dword [0x428034], esi
je 0x405842
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x405424
mov edi, dword [esp + 0x98]
cmp edi, 0xbfffffff
jge 0x40548c
mov edx, dword [eax + 8]
dec edx
mov dword [eax + 8], edx
jne 0x40548c
mov eax, edi
call fcn.00414800
mov eax, dword [esp + 0x6c]
mov esi, dword [0x428034]
mov eax, dword [eax*8 + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 7
setge al
and eax, 0xff
je 0x4055bb
mov eax, dword [esp + 0x84]
cmp eax, 0xbfffffff
jge 0x4054df
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4054df
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x1c]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x40550e
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x405539
cmp edi, 0x20b
sete al
and eax, 0xff
jmp 0x40554a
mov ebx, 0x20b
mov eax, 3
mov edx, edi
call fcn.004157ac
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x405571
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x405571
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x84]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x405598
test edx, edx
setne al
and eax, 0xff
jmp 0x4055bb
mov ebx, dword [edx*8 + 4]
mov edi, dword [edx*8]
test ebx, 0x7fffffff
jne 0x4055b2
test edi, edi
je 0x4055b9
mov eax, 1
jmp 0x4055bb
xor eax, eax
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
test edi, edi
jne 0x40574b
cmp edi, 0xbfffffff
jge 0x4055fd
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x4055fd
mov eax, edi
call fcn.00414800
mov eax, dword [esp + 0x6c]
mov esi, dword [0x428034]
mov eax, dword [eax*8 + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 6
setl al
and eax, 0xff
je 0x405729
mov eax, dword [esp + 0x94]
cmp eax, 0xbfffffff
jge 0x405650
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x405650
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0xc]
mov ecx, dword [0x42801c]
mov dword [esp + 0x94], eax
cmp eax, 0xbfffffff
jge 0x40567f
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x94]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x4056a7
cmp edi, 2
sete al
and eax, 0xff
jmp 0x4056b8
mov ebx, 2
mov eax, 3
mov edx, edi
call fcn.004157ac
mov dword [esp + 0x94], eax
cmp edi, 0xbfffffff
jge 0x4056df
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x4056df
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x94]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x405706
test edx, edx
setne al
and eax, 0xff
jmp 0x405729
mov ebx, dword [edx*8 + 4]
mov edi, dword [edx*8]
test ebx, 0x7fffffff
jne 0x405720
test edi, edi
je 0x405727
mov eax, 1
jmp 0x405729
xor eax, eax
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
test edi, edi
je 0x405842
mov eax, dword [esp + 0x94]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x405775
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x405775
call fcn.00414800
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov eax, dword [eax*8 + 4]
mov esi, dword [0x428034]
mov dword [esp + 0x94], eax
cmp ecx, 0xbfffffff
jg 0x4057ab
fld qword [ecx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x6c]
mov dword [ecx], eax
mov eax, dword [edx*8]
mov eax, dword [eax + 4]
mov dword [esp + 0x94], eax
cmp eax, 0xbfffffff
jge 0x4057d7
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x94]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp ebx, 0xbfffffff
jge 0x4057f9
inc dword [ebx*8 + 8]
mov edi, dword [esp + 0x94]
mov eax, edi
call fcn.00408690
mov dword [esp + 0x94], eax
cmp edi, 0xbfffffff
jge 0x40582e
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x40582e
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x10]
lea eax, [esp + 0x10]
call fcn.00414354
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x405865
lea eax, [edi - 0x3fffffcc]
lea edx, [edi + 0x34]
mov dword [esp + 0x7c], edx
test eax, eax
jl 0x405881
fild dword [esp + 0x7c]
jmp 0x405872
fld qword [edi*8]
fadd qword [0x424188]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x7c], eax
cmp edi, 0xbfffffff
jge 0x4058a1
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x4058a1
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 8]
mov esi, dword [0x428034]
inc edx
mov ecx, dword [0x42801c]
mov dword [esp + 8], edx
jmp 0x40397b
mov eax, dword [esp + 0x94]
call fcn.00414958
mov eax, dword [esp + 0x10]
mov eax, dword [eax*8 + 4]
mov edi, dword [esp + 0x80]
mov dword [esp + 0x94], eax
call fcn.00402180
mov esi, eax
mov dword [esp + 0x80], eax
mov eax, edi
call fcn.00414958
cmp esi, 0xbfffffff
jle 0x405905
mov ecx, dword [0x42801c]
jmp 0x40591d
fld qword [esi*8]
mov ecx, dword [0x42801c]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov eax, dword [esp + 0x10]
shl eax, 3
mov dword [esp + 0x70], eax
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x405949
inc esi
mov byte [esi - 1], dl
jmp 0x40592e
mov dword [0x42801c], ecx
mov dword [0x428034], esi
je 0x405971
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x40592e
mov eax, dword [0x4281a0]
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x10]
call fcn.00414958
mov eax, dword [0x4281a0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x94], eax
cmp eax, 0x3fffffff
jle 0x4059bb
fild dword [esp + 0x94]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x94], eax
mov edx, dword [esp + 0x94]
cmp edx, 0xbfffffff
jge 0x4059d1
inc dword [edx*8 + 8]
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x30]
call fcn.00402180
mov edx, eax
mov dword [esp + 0x30], eax
mov eax, edi
call fcn.00414958
cmp edx, 0xbfffffff
jge 0x4059fd
inc dword [edx*8 + 8]
mov eax, dword [esp + 0x7c]
call fcn.00414958
mov eax, dword [esp + 0x30]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x34]
cmp eax, 0xbfffffff
jge 0x405a20
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x8c]
call fcn.00414958
mov eax, dword [esp + 0x34]
mov dword [esp + 0x8c], eax
mov eax, dword [0x428130]
mov ebx, dword [eax*8 + 8]
inc ebx
mov edi, dword [esp + 0x3c]
mov dword [eax*8 + 8], ebx
call fcn.00402778
mov dword [esp + 0x3c], eax
mov eax, edi
call fcn.00414958
mov eax, dword [esp + 0x94]
call fcn.00414958
mov eax, dword [0x428070]
mov edi, 1
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x40], edi
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x40]
cmp eax, dword [esp + 0x94]
jg 0x406488
mov ebx, dword [esp + 0x6c]
cmp ebx, 0xbfffffff
jge 0x405abc
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x405abc
mov eax, ebx
call fcn.00414800
mov edx, dword [0x428070]
mov ebx, dword [esp + 0x40]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x6c], eax
cmp eax, 0xbfffffff
jge 0x405aee
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x8c]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x405b26
lea eax, [edi - 0x3fffffcc]
lea edx, [edi + 0x34]
mov dword [esp + 0x8c], edx
test eax, eax
jl 0x405b45
fild dword [esp + 0x8c]
jmp 0x405b33
fld qword [edi*8]
fadd qword [0x424188]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x8c], eax
cmp edi, 0xbfffffff
jge 0x405b65
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x405b65
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jge 0x405b8c
mov ebx, dword [edx*8 + 8]
dec ebx
mov dword [edx*8 + 8], ebx
jne 0x405b8c
mov eax, edx
call fcn.00414800
mov edx, dword [esp + 0x6c]
cmp edx, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x98], eax
je 0x40647f
shl edx, 3
mov esi, dword [0x428034]
mov eax, dword [edx + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 6
jl 0x406244
mov eax, dword [edx]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x405be7
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x405c2f
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x405c2f
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
test ebx, ebx
je 0x406183
mov edi, dword [esp + 0x8c]
cmp edi, 0xbfffffff
jle 0x405c76
lea eax, [edi + 0xc]
mov dword [esp + 0x98], eax
lea eax, [edi - 0x3ffffff4]
test eax, eax
jl 0x405c95
fild dword [esp + 0x98]
jmp 0x405c83
fld qword [edi*8]
fadd qword [0x4241e8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x405cad
mov ecx, eax
jmp 0x405cbf
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x7c]
cmp edx, 0xbfffffff
jle 0x405ccf
mov dword [ecx], edx
jmp 0x405ce3
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
mov ebx, dword [esp + 0x98]
mov dword [0x42801c], ecx
cmp ebx, 0xbfffffff
jge 0x405d16
mov edi, dword [ebx*8 + 8]
mov dword [0x428034], esi
dec edi
mov dword [ebx*8 + 8], edi
jne 0x405d16
mov eax, ebx
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x18]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x405d3f
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x405d4f
mov esi, edi
jmp 0x405d61
fld qword [edi*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jle 0x405d7a
mov al, byte [esp + 0x98]
mov byte [esi], al
jmp 0x405ddc
mov edx, dword [esp + 0x98]
shl eax, 3
cmp edx, 0xa0000000
jl 0x405d9f
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x405ddc
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x405dc0
inc esi
mov byte [esi - 1], dl
jmp 0x405da5
je 0x405ddc
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x405da5
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x405e0f
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x405e0f
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 0x18]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x405e3e
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x405e7f
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x405e7f
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x405ea9
mov eax, dword [esp + 0x98]
lea ebx, [edi + eax]
mov dword [esp + 0x7c], ebx
lea eax, [ebx - 0x40000000]
test eax, eax
jl 0x405ec6
fild dword [esp + 0x7c]
jmp 0x405eb7
fild dword [esp + 0x98]
fadd qword [edi*8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x7c], eax
mov esi, dword [0x428034]
cmp edi, 0xbfffffff
jge 0x405eec
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x405eec
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x7c]
mov ecx, dword [0x42801c]
cmp ebx, 0xbfffffff
jle 0x405f02
mov esi, ebx
jmp 0x405f14
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edi, dword [esp + 0x7c]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov byte [esi], 0
cmp edi, 0xbfffffff
jle 0x405f4f
lea edx, [edi + 1]
mov dword [esp + 0x7c], edx
cmp edx, 0x3fffffff
jle 0x405f64
fild dword [esp + 0x7c]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
jmp 0x405f60
mov edx, 1
mov eax, 0xb
mov ebx, edi
call fcn.004157ac
mov dword [esp + 0x7c], eax
cmp edi, 0xbfffffff
jge 0x405f84
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x405f84
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x405fa7
inc dword [eax*8 + 8]
mov ebx, 0x20b
mov edx, dword [esp + 0x98]
mov eax, 4
call fcn.0041571c
test eax, eax
jne 0x40647f
mov eax, dword [esp + 0x98]
cmp eax, 0xbfffffff
jge 0x405fe9
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x405fe9
call fcn.00414800
mov edi, dword [esp + 0x8c]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x40601f
mov eax, dword [edi]
mov dword [esp + 0x98], eax
cmp eax, 0x3fffffff
jbe 0x40605f
xor edi, edi
mov dword [esp], eax
mov dword [esp + 4], edi
jmp 0x40604a
fld qword [edi*8]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
cmp eax, 0x3fffffff
jbe 0x40605f
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
fild qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x4060a5
mov edx, dword [esp + 0x80]
cmp edx, 0xbfffffff
jle 0x4060a5
add edx, edi
mov dword [esp + 0x98], edx
lea eax, [edx - 0x40000000]
test eax, eax
jl 0x406108
fild dword [esp + 0x98]
jmp 0x4060f6
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
shl eax, 3
cmp ebx, 0xbfffffff
jle 0x4060d3
fild dword [esp + 0x98]
jmp 0x4060f4
lea edx, [ebx*8]
cmp dword [esp + 0x80], 0xbfffffff
jle 0x4060f2
fild dword [esp + 0x80]
fadd qword [edx]
jmp 0x4060f6
fld qword [edx]
fadd qword [eax]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jge 0x40612e
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x40612e
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x8c]
mov esi, dword [0x428034]
cmp edx, 0xbfffffff
jle 0x406147
mov ecx, edx
jmp 0x406159
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x98]
cmp ebx, 0xbfffffff
jle 0x40645f
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov dword [ecx], ebx
inc dword [esp + 0x40]
jmp 0x405a87
cmp ebx, 0xbfffffff
jge 0x4061a3
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x4061a3
mov eax, ebx
call fcn.00414800
mov ebx, dword [esp + 0x8c]
cmp ebx, 0xbfffffff
jle 0x4061cf
lea eax, [ebx + 0xc]
mov dword [esp + 0x98], eax
lea eax, [ebx - 0x3ffffff4]
test eax, eax
jl 0x4061ee
fild dword [esp + 0x98]
jmp 0x4061dc
fld qword [ebx*8]
fadd qword [0x4241e8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp ecx, 0xbfffffff
jg 0x406215
fld qword [ecx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edi, dword [esp + 0x3c]
cmp edi, 0xbfffffff
jle 0x406238
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov dword [ecx], edi
inc dword [esp + 0x40]
jmp 0x405a87
fld qword [edi*8]
jmp 0x406466
cmp eax, 0xbfffffff
jge 0x406261
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406261
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x406284
inc dword [eax*8 + 8]
mov ebx, 2
mov edx, dword [esp + 0x98]
mov eax, 4
call fcn.0041571c
test eax, eax
jne 0x40647f
mov ebx, dword [esp + 0x98]
cmp ebx, 0xbfffffff
jge 0x4062c9
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x4062c9
mov eax, ebx
call fcn.00414800
mov ebx, dword [esp + 0x8c]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp ebx, 0xbfffffff
jle 0x4062ff
mov eax, dword [ebx]
mov dword [esp + 0x98], eax
cmp eax, 0x3fffffff
jbe 0x40633f
xor ebx, ebx
mov dword [esp], eax
mov dword [esp + 4], ebx
jmp 0x40632a
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov eax, dword [eax]
mov dword [esp + 0x98], eax
cmp eax, 0x3fffffff
jbe 0x40633f
mov dword [esp], eax
xor eax, eax
mov dword [esp + 4], eax
fild qword [esp]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov edi, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x406385
mov edx, dword [esp + 0x80]
cmp edx, 0xbfffffff
jle 0x406385
add edx, edi
mov dword [esp + 0x98], edx
lea eax, [edx - 0x40000000]
test eax, eax
jl 0x4063e8
fild dword [esp + 0x98]
jmp 0x4063d6
mov eax, dword [esp + 0x80]
mov ebx, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
shl eax, 3
cmp ebx, 0xbfffffff
jle 0x4063b3
fild dword [esp + 0x98]
jmp 0x4063d4
lea edx, [ebx*8]
cmp dword [esp + 0x80], 0xbfffffff
jle 0x4063d2
fild dword [esp + 0x80]
fadd qword [edx]
jmp 0x4063d6
fld qword [edx]
fadd qword [eax]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jge 0x40640e
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x40640e
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x8c]
mov esi, dword [0x428034]
cmp edx, 0xbfffffff
jle 0x406427
mov ecx, edx
jmp 0x406439
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x98]
cmp ebx, 0xbfffffff
jle 0x40645f
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov dword [ecx], ebx
inc dword [esp + 0x40]
jmp 0x405a87
fld qword [ebx*8]
call fcn.0041a602
mov dword [0x42801c], ecx
fistp qword [esp]
mov eax, dword [esp]
mov dword [0x428034], esi
mov dword [ecx], eax
inc dword [esp + 0x40]
jmp 0x405a87
mov eax, dword [0x4281a0]
mov edi, dword [eax*8 + 8]
inc edi
mov edx, dword [0x428070]
mov dword [eax*8 + 8], edi
mov eax, edx
call fcn.00414958
mov eax, dword [0x4281a0]
mov dword [0x428070], eax
xor eax, eax
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x98]
call fcn.00414958
mov eax, dword [0x428084]
mov edx, 1
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x48], edx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x98]
jg 0x4066a9
mov ebx, dword [esp + 0x94]
cmp ebx, 0xbfffffff
jge 0x406519
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x406519
mov eax, ebx
call fcn.00414800
mov edx, dword [0x428084]
mov ebx, dword [esp + 0x48]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x94], eax
cmp eax, 0xbfffffff
jge 0x40654e
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x94]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x94], eax
cmp edi, 0xbfffffff
jge 0x406596
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x406596
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x94]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
test edx, edx
je 0x4065b6
inc dword [esp + 0x5c]
jmp 0x40668f
cmp edx, 0xbfffffff
jge 0x4065d6
mov eax, edx
mov edx, dword [edx*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4065d6
call fcn.00414800
mov edx, dword [0x428084]
mov eax, dword [esp + 0x48]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x94], eax
cmp eax, 0xbfffffff
jge 0x40660b
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x94]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp ebx, 0xbfffffff
jle 0x40662c
add dword [esp + 0x5c], ebx
jmp 0x40663e
mov edx, dword [esp + 0x5c]
mov eax, 0xb
call fcn.004157ac
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0x5c]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jg 0x40668f
fld qword [eax*8]
call fcn.0041a602
mov edx, dword [eax*8 + 8]
fistp dword [esp + 0x70]
dec edx
mov dword [eax*8 + 8], edx
jne 0x40667b
call fcn.00414800
mov eax, dword [esp + 0x70]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
mov dword [esp + 0x5c], eax
mov edi, dword [esp + 0x48]
mov dword [0x42801c], ecx
inc edi
mov dword [0x428034], esi
mov dword [esp + 0x48], edi
jmp 0x4064e1
mov eax, dword [esp + 0x94]
call fcn.00414958
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x94], eax
cmp eax, 0x3fffffff
jle 0x4066e1
fild dword [esp + 0x94]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x94], eax
mov edi, dword [esp + 0x94]
lea eax, [edi*8]
cmp edi, 0xbfffffff
jle 0x40670e
mov edx, dword [esp + 0x92]
sar edx, 0x10
cmp edx, edi
je 0x406721
fild dword [esp + 0x94]
jmp 0x406710
fld qword [eax]
fmul qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x94], eax
mov eax, edi
mov edi, dword [esp + 0x94]
call fcn.00414958
cmp edi, 0xbfffffff
jge 0x406745
inc dword [edi*8 + 8]
mov eax, dword [esp + 0x94]
mov edi, dword [esp + 0x38]
call fcn.00402180
mov dword [esp + 0x38], eax
mov eax, edi
call fcn.00414958
mov eax, dword [esp + 0x94]
call fcn.00414958
mov eax, dword [esp + 0x5c]
inc eax
mov dword [esp + 0x94], eax
cmp eax, 0x3fffffff
jle 0x406798
fild dword [esp + 0x94]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x94], eax
mov edi, dword [esp + 0x94]
lea eax, [edi*8]
cmp edi, 0xbfffffff
jg 0x4067c1
fld qword [eax]
fmul qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x94], eax
mov eax, edi
mov ebx, dword [esp + 0x94]
call fcn.00414958
xor edx, edx
mov eax, dword [esp + 0x38]
call fcn.004121a4
mov ebx, dword [esp + 0x38]
cmp ebx, 0xbfffffff
jle 0x4067f1
mov ecx, ebx
jmp 0x406803
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x5c]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x38]
mov dword [0x42801c], ecx
mov dword [ecx], edx
call fcn.00414958
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x406841
lea eax, [edi + 8]
mov dword [esp + 0x7c], eax
lea eax, [edi - 0x3ffffff8]
test eax, eax
jl 0x40685d
fild dword [esp + 0x7c]
jmp 0x40684e
fld qword [edi*8]
fadd qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x94]
call fcn.00414958
mov eax, dword [0x428084]
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x94], eax
mov dword [esp + 0x74], 1
mov eax, dword [esp + 0x74]
cmp eax, dword [esp + 0x94]
jg 0x4078fc
mov ebx, dword [esp + 0x98]
cmp ebx, 0xbfffffff
jge 0x4068bc
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x4068bc
mov eax, ebx
call fcn.00414800
mov edx, dword [0x428084]
mov ebx, dword [esp + 0x74]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4068f1
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xa0000000
setl al
and eax, 0xff
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x406939
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x406939
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
test edx, edx
je 0x4069b3
mov ebx, dword [esp + 0x6c]
cmp ebx, 0xbfffffff
jge 0x406974
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x406974
mov eax, ebx
call fcn.00414800
mov edx, dword [0x428084]
mov eax, dword [esp + 0x74]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x6c], eax
cmp eax, 0xbfffffff
jge 0x4069a6
inc dword [eax*8 + 8]
mov dword [esp + 0x50], 1
jmp 0x406d06
cmp edx, 0xbfffffff
jge 0x4069d3
mov ebx, dword [edx*8 + 8]
dec ebx
mov dword [edx*8 + 8], ebx
jne 0x4069d3
mov eax, edx
call fcn.00414800
mov eax, dword [esp + 0x74]
dec eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x6c]
cmp eax, 0xbfffffff
jge 0x406a00
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406a00
call fcn.00414800
mov edx, dword [0x428084]
mov eax, dword [esp + 0x98]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x6c], eax
cmp eax, 0xbfffffff
jge 0x406a35
inc dword [eax*8 + 8]
mov edx, dword [esp + 0x6c]
shl edx, 3
mov eax, dword [edx + 4]
mov dword [esp + 0x98], eax
cmp eax, 4
jge 0x406b72
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x406a69
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x406aa9
lea eax, [edi + 1]
mov dword [esp + 0x98], eax
cmp eax, 0x3fffffff
jle 0x406ac1
fild dword [esp + 0x98]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
jmp 0x406aba
mov edx, 1
mov eax, 0xb
mov ebx, edi
call fcn.004157ac
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x406ae1
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x406ae1
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jge 0x406b03
inc dword [edx*8 + 8]
mov edx, dword [esp + 0x6c]
shl edx, 3
mov dword [0x42801c], ecx
mov edi, dword [edx + 8]
mov dword [0x428034], esi
cmp edi, 1
je 0x406b33
mov eax, edx
call fcn.00410994
mov edx, eax
shr eax, 3
add eax, 0x80000000
mov dword [esp + 0x6c], eax
mov edx, dword [edx]
mov eax, dword [edx + 4]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x98]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x70]
add edx, 4
cmp eax, 0xbfffffff
jge 0x406ccb
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406ccb
jmp 0x406cc6
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x406b9b
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406b9b
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 8]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x406bca
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x406c0a
lea eax, [edi + 1]
mov dword [esp + 0x98], eax
cmp eax, 0x3fffffff
jle 0x406c22
fild dword [esp + 0x98]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
jmp 0x406c1b
mov edx, 1
mov eax, 0xb
mov ebx, edi
call fcn.004157ac
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x406c42
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x406c42
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jge 0x406c64
inc dword [edx*8 + 8]
mov edx, dword [esp + 0x6c]
shl edx, 3
mov dword [0x42801c], ecx
mov edi, dword [edx + 8]
mov dword [0x428034], esi
cmp edi, 1
je 0x406c94
mov eax, edx
call fcn.00410994
mov edx, eax
shr eax, 3
add eax, 0x80000000
mov dword [esp + 0x6c], eax
mov edx, dword [edx]
mov eax, dword [edx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x98]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x70]
add edx, 8
cmp eax, 0xbfffffff
jge 0x406ccb
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406ccb
call fcn.00414800
mov edx, dword [0x428084]
mov eax, dword [esp + 0x74]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x50], eax
cmp eax, 0xbfffffff
jg 0x406d06
fld qword [eax*8]
call fcn.0041a602
fistp dword [esp + 0x50]
mov eax, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x406d36
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406d36
call fcn.00414800
mov eax, dword [esp + 0x6c]
mov esi, dword [0x428034]
mov eax, dword [eax*8 + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 4
setl al
and eax, 0xff
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x98], eax
mov dword [esp + 0x64], 1
mov eax, dword [esp + 0x64]
cmp eax, dword [esp + 0x98]
jg 0x4078e2
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x406dba
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x406dba
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x406de3
lea eax, [edi + 4]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3ffffffc]
test eax, eax
jl 0x406e02
fild dword [esp + 0x84]
jmp 0x406df0
fld qword [edi*8]
fadd qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x406e33
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406e33
mov eax, dword [esp + 0x90]
call fcn.00414800
mov eax, 2
sub eax, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
mov dword [esp + 0x90], eax
mov edx, dword [edx*8]
mov eax, dword [edx + eax*4]
mov esi, dword [0x428034]
mov dword [esp + 0x90], eax
cmp eax, 0xbfffffff
jge 0x406e6c
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x84]
cmp ebx, 0xbfffffff
jle 0x406e7f
mov ecx, ebx
jmp 0x406e91
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edi, dword [esp + 0x90]
cmp edi, 0xbfffffff
jle 0x406ea4
mov dword [ecx], edi
jmp 0x406f03
lea eax, [edi*8]
cmp edi, 0xa0000000
jl 0x406ec4
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
jmp 0x406f03
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x406ee7
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x406eca
je 0x406f03
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x406eca
mov eax, dword [esp + 0x90]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x406f3a
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406f3a
mov eax, dword [esp + 0x90]
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x406f63
lea eax, [edi + 6]
mov dword [esp + 0x90], eax
lea eax, [edi - 0x3ffffffa]
test eax, eax
jl 0x406f82
fild dword [esp + 0x90]
jmp 0x406f70
fld qword [edi*8]
fadd qword [0x4241f0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jge 0x406fac
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x406fac
call fcn.00414800
mov eax, 3
mov esi, dword [esp + 0x68]
mov edx, dword [esp + 0x6c]
sub eax, esi
mov edx, dword [edx*8]
mov dword [esp + 0x84], eax
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x406fe7
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x90]
cmp ebx, 0xbfffffff
jle 0x406ffa
mov esi, ebx
jmp 0x40700c
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edi, dword [esp + 0x84]
cmp edi, 0xbfffffff
jle 0x407026
mov al, byte [esp + 0x84]
mov byte [esi], al
jmp 0x407085
lea eax, [edi*8]
cmp edi, 0xa0000000
jl 0x407048
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x407085
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x407069
inc esi
mov byte [esi - 1], dl
jmp 0x40704e
je 0x407085
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x40704e
cmp dword [esp + 0x68], 0
jne 0x4076b8
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x4070c0
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4070c0
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x4070ef
inc dword [eax*8 + 8]
mov ebx, dword [esp + 0x84]
test ebx, ebx
je 0x407548
cmp ebx, 0xbfffffff
setle al
and eax, 0xff
je 0x40712c
mov edx, dword [ebx*8 + 4]
mov ebx, dword [ebx*8]
test edx, 0x7fffffff
jne 0x40712c
test ebx, ebx
je 0x407548
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x40715f
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x40715f
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x40718e
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x407221
test edi, edi
jl 0x4071cb
mov ebx, 0x2710
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv ebx
mov dword [esp + 0x84], eax
jmp 0x407267
fild dword [esp + 0x84]
fdiv qword [0x4241f8]
sub esp, 8
fstp qword [esp]
call fcn.0041a61f
fstp qword [0x428010]
cmp edi, 0xc0000000
je 0x407205
fld qword [0x428010]
call fcn.0041a602
fistp dword [esp + 0x84]
jmp 0x407267
mov edx, dword [0x428014]
push edx
mov ebx, dword [0x428010]
push ebx
call fcn.00410ec0
mov dword [esp + 0x84], eax
jmp 0x407267
mov ebx, 0x2710
mov eax, 0xe
mov edx, edi
call fcn.004157ac
mov ebx, eax
mov edx, eax
mov eax, 0x53
call fcn.0041569c
mov dword [esp + 0x84], eax
cmp ebx, 0xbfffffff
jge 0x407267
mov eax, dword [ebx*8 + 8]
dec eax
mov dword [ebx*8 + 8], eax
jne 0x407267
mov eax, ebx
call fcn.00414800
cmp edi, 0xbfffffff
jge 0x407287
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x407287
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x84]
cmp edi, 0xbfffffff
jle 0x40729b
lea eax, [edi + 1]
jmp 0x4072ac
mov edx, 1
mov eax, 0xb
mov ebx, edi
call fcn.004157ac
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x4072d3
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x4072d3
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x84]
mov edx, dword [0x428088]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
shl edx, 3
cmp edi, 0xbfffffff
jg 0x40730f
fld qword [edi*8]
call fcn.0041a602
mov edx, dword [edx]
fistp dword [esp + 0x78]
mov eax, dword [esp + 0x78]
jmp 0x407313
mov eax, edi
mov edx, dword [edx]
mov eax, dword [edx + eax*4]
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jge 0x407333
inc dword [edx*8 + 8]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x40735f
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x40735f
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x90]
cmp ebx, 0xbfffffff
jge 0x40738b
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x40738b
mov eax, dword [esp + 0x90]
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x90], eax
cmp eax, 0xbfffffff
jge 0x4073ba
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x90]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x4073ec
mov ebx, 0x2710
mov edx, edi
mov eax, edi
sar edx, 0x1f
idiv ebx
mov dword [esp + 0x90], edx
jmp 0x407404
mov ebx, 0x2710
mov eax, 0x47
mov edx, edi
call fcn.004157ac
mov dword [esp + 0x90], eax
cmp edi, 0xbfffffff
jge 0x407424
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x407424
mov eax, edi
call fcn.00414800
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x90]
cmp eax, 0xbfffffff
jle 0x407469
cmp edi, 0xbfffffff
jle 0x407469
lea ebx, [edi + eax]
mov dword [esp + 0x90], ebx
lea eax, [ebx - 0x40000000]
test eax, eax
jl 0x407488
fild dword [esp + 0x90]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
jmp 0x407481
mov ebx, dword [esp + 0x90]
mov edx, dword [esp + 0x84]
mov eax, 0xb
call fcn.004157ac
mov dword [esp + 0x90], eax
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jge 0x4074ae
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x4074ae
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x7c]
mov esi, dword [0x428034]
cmp ebx, 0xbfffffff
jle 0x4074c4
mov ecx, ebx
jmp 0x4074d6
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edi, dword [esp + 0x90]
cmp edi, 0xbfffffff
jle 0x4074e9
mov dword [ecx], edi
jmp 0x407548
lea eax, [edi*8]
cmp edi, 0xa0000000
jl 0x407509
fld qword [eax]
call fcn.0041a602
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx], eax
jmp 0x407548
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x40752c
add ecx, 4
mov dword [ecx - 4], edx
jmp 0x40750f
je 0x407548
fld qword [edx*8]
call fcn.0041a602
add ecx, 4
fistp qword [esp]
mov eax, dword [esp]
mov dword [ecx - 4], eax
jmp 0x40750f
mov edi, dword [esp + 0x90]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x407580
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x407580
mov eax, dword [esp + 0x90]
call fcn.00414800
mov edi, dword [esp + 0x7c]
cmp edi, 0xbfffffff
jle 0x4075a9
lea eax, [edi + 7]
mov dword [esp + 0x90], eax
lea eax, [edi - 0x3ffffff9]
test eax, eax
jl 0x4075c8
fild dword [esp + 0x90]
jmp 0x4075b6
fld qword [edi*8]
fadd qword [0x424200]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jge 0x4075f2
mov edx, dword [eax*8 + 8]
dec edx
mov dword [eax*8 + 8], edx
jne 0x4075f2
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov eax, dword [edx*8]
mov eax, dword [eax + 0x10]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x40761b
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x90]
cmp eax, 0xbfffffff
jle 0x40762d
mov esi, eax
jmp 0x40763f
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jle 0x407659
mov al, byte [esp + 0x84]
mov byte [esi], al
jmp 0x4076b8
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x40767b
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x4076b8
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov edi, dword [esp + 0x70]
add edi, 4
mov edx, dword [edi]
mov dword [esp + 0x70], edi
cmp edx, 0xbfffffff
jle 0x40769c
inc esi
mov byte [esi - 1], dl
jmp 0x407681
je 0x4076b8
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x407681
mov edi, dword [esp + 0x7c]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x4076e7
lea eax, [edi - 0x3ffffff8]
lea edx, [edi + 8]
mov dword [esp + 0x7c], edx
test eax, eax
jl 0x407703
fild dword [esp + 0x7c]
jmp 0x4076f4
fld qword [edi*8]
fadd qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x7c], eax
cmp edi, 0xbfffffff
jge 0x407723
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x407723
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jge 0x40774a
mov ebx, dword [edx*8 + 8]
dec ebx
mov dword [edx*8 + 8], ebx
jne 0x40774a
mov eax, edx
call fcn.00414800
mov eax, 2
sub eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x84], eax
cmp ebx, 0xbfffffff
jge 0x407786
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x407786
mov eax, dword [esp + 0x90]
call fcn.00414800
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x84]
mov eax, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x90], eax
cmp eax, 0xbfffffff
jge 0x4077bc
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x90]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jle 0x4077fd
lea edx, [edi + 1]
mov dword [esp + 0x90], edx
cmp edx, 0x3fffffff
jle 0x407815
fild dword [esp + 0x90]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
jmp 0x40780e
mov edx, 1
mov eax, 0xb
mov ebx, edi
call fcn.004157ac
mov dword [esp + 0x90], eax
cmp edi, 0xbfffffff
jge 0x407835
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x407835
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x90]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp ebx, 0xbfffffff
jge 0x407857
inc dword [ebx*8 + 8]
mov edx, dword [esp + 0x6c]
shl edx, 3
mov dword [0x42801c], ecx
mov eax, dword [edx + 8]
mov dword [0x428034], esi
cmp eax, 1
je 0x407887
mov eax, edx
call fcn.00410994
mov edx, eax
shr eax, 3
add eax, 0x80000000
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x84]
mov edx, dword [edx]
shl eax, 2
add edx, eax
mov eax, dword [edx]
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x90]
mov dword [edx], eax
mov edx, dword [esp + 0x70]
cmp edx, 0xbfffffff
jge 0x4078c8
mov ebx, dword [edx*8 + 8]
dec ebx
mov dword [edx*8 + 8], ebx
jne 0x4078c8
mov eax, edx
call fcn.00414800
mov eax, dword [esp + 0x64]
mov esi, dword [0x428034]
inc eax
mov ecx, dword [0x42801c]
mov dword [esp + 0x64], eax
jmp 0x406d76
mov ebx, dword [esp + 0x74]
mov dword [0x42801c], ecx
inc ebx
mov dword [0x428034], esi
mov dword [esp + 0x74], ebx
jmp 0x406884
mov eax, dword [0x4281a0]
mov ebx, dword [eax*8 + 8]
inc ebx
mov edx, dword [0x428084]
mov dword [eax*8 + 8], ebx
mov eax, edx
call fcn.00414958
mov eax, dword [0x4281a0]
mov dword [0x428084], eax
mov eax, dword [0x428074]
mov edi, dword [eax*8 + 8]
mov edx, dword [0x428080]
inc edi
mov ebx, eax
mov dword [eax*8 + 8], edi
lea eax, [esp + 0x90]
call fcn.00414244
mov edx, dword [esp + 0x90]
lea eax, [esp + 0xc]
mov ebx, dword [0x428050]
call fcn.00414354
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x90]
call fcn.00414958
mov eax, dword [esp + 0xc]
mov eax, dword [eax*8 + 4]
mov ebx, 1
mov dword [esp + 0x90], eax
cmp ebx, dword [esp + 0x90]
jg 0x407a51
mov edi, dword [esp + 0x84]
cmp edi, 0xbfffffff
jge 0x4079c2
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x4079c2
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0xc]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + ebx*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
cmp eax, 0xbfffffff
jge 0x4079f1
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x84], eax
cmp edi, 0xbfffffff
jge 0x407a32
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x407a32
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x84]
mov edx, dword [esp + 0x44]
inc edi
inc ebx
add edx, edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x44], edx
jmp 0x40798e
mov eax, dword [esp + 0x84]
call fcn.00414958
mov eax, dword [esp + 0xc]
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x84], eax
lea ebx, [eax + 0xa]
mov dword [esp + 0x84], ebx
cmp ebx, 0x3fff
jg 0x407a8a
lea eax, [ebx*4]
jmp 0x407aa2
fild dword [esp + 0x84]
fmul qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov edx, dword [esp + 0x84]
cmp edx, 0xbfffffff
jge 0x407abf
inc dword [edx*8 + 8]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x4c]
call fcn.00402180
mov ecx, eax
mov dword [esp + 0x4c], eax
mov eax, edi
call fcn.00414958
cmp ecx, 0xbfffffff
jg 0x407af6
fld qword [ecx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [0x428064]
mov edi, dword [esp + 0x4c]
mov dword [ecx], eax
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
call fcn.00414958
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x407b3e
lea eax, [edi + 4]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3ffffffc]
test eax, eax
jl 0x407b5d
fild dword [esp + 0x84]
jmp 0x407b4b
fld qword [edi*8]
fadd qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x407b75
mov ecx, eax
jmp 0x407b87
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x84]
mov edx, dword [0x428044]
mov dword [0x42801c], ecx
mov dword [ecx], edx
call fcn.00414958
mov edx, dword [esp + 0x4c]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x407bd0
lea eax, [edx + 8]
mov dword [esp + 0x84], eax
lea eax, [edx - 0x3ffffff8]
test eax, eax
jl 0x407bef
fild dword [esp + 0x84]
jmp 0x407bdd
fld qword [edx*8]
fadd qword [0x424198]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp ebx, 0xbfffffff
jle 0x407c08
mov ecx, ebx
jmp 0x407c1a
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x4c]
mov edx, dword [0x42804c]
mov dword [0x42801c], ecx
mov dword [ecx], edx
call fcn.00414958
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x407c63
lea eax, [edi + 0xc]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3ffffff4]
test eax, eax
jl 0x407c82
fild dword [esp + 0x84]
jmp 0x407c70
fld qword [edi*8]
fadd qword [0x4241e8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x407c9a
mov ecx, eax
jmp 0x407cac
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x84]
mov edx, dword [0x428060]
mov dword [0x42801c], ecx
mov dword [ecx], edx
call fcn.00414958
mov edx, dword [esp + 0x4c]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x407cf5
lea eax, [edx + 0x10]
mov dword [esp + 0x84], eax
lea eax, [edx - 0x3ffffff0]
test eax, eax
jl 0x407d14
fild dword [esp + 0x84]
jmp 0x407d02
fld qword [edx*8]
fadd qword [0x4241b0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov ebx, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp ebx, 0xbfffffff
jle 0x407d2d
mov ecx, ebx
jmp 0x407d3f
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x4c]
mov edx, dword [0x42806c]
mov dword [0x42801c], ecx
mov dword [ecx], edx
call fcn.00414958
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jle 0x407d88
lea eax, [edi + 0x14]
mov dword [esp + 0x84], eax
lea eax, [edi - 0x3fffffec]
test eax, eax
jl 0x407da7
fild dword [esp + 0x84]
jmp 0x407d95
fld qword [edi*8]
fadd qword [0x4241b8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x84]
mov esi, dword [0x428034]
cmp eax, 0xbfffffff
jle 0x407dbf
mov ecx, eax
jmp 0x407dd1
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x84]
mov dword [0x42801c], ecx
mov dword [ecx], edx
call fcn.00414958
mov edx, dword [esp + 0x4c]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x407e18
lea eax, [edx + 0x18]
mov dword [esp + 0x84], eax
lea eax, [edx - 0x3fffffe8]
test eax, eax
jl 0x407e37
fild dword [esp + 0x84]
jmp 0x407e25
fld qword [edx*8]
fadd qword [0x4241c0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x84]
xor ebx, ebx
call fcn.00414958
mov dword [esp + 0x90], ebx
cmp ecx, 0xbfffffff
jle 0x407e63
mov esi, dword [0x428034]
jmp 0x407e7b
fld qword [ecx*8]
mov esi, dword [0x428034]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov edi, dword [esp + 0x4c]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov dword [ecx], 0
cmp edi, 0xbfffffff
jle 0x407eb6
lea eax, [edi + 0x1c]
mov dword [esp + 0x90], eax
lea eax, [edi - 0x3fffffe4]
test eax, eax
jl 0x407ed5
fild dword [esp + 0x90]
jmp 0x407ec3
fld qword [edi*8]
fadd qword [0x4241c8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x90], eax
mov eax, dword [esp + 0x84]
call fcn.00414958
mov eax, dword [0x428080]
mov eax, dword [eax*8 + 4]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x90]
cmp eax, 0xbfffffff
jle 0x407f06
mov ecx, eax
jmp 0x407f18
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x88]
mov dword [ecx], eax
mov eax, dword [esp + 0x44]
mov dword [0x42801c], ecx
call fcn.00402180
mov dword [esp + 0x88], eax
mov eax, edi
mov edx, 1
call fcn.00414958
mov eax, dword [esp + 0xc]
mov dword [esp + 0x54], edx
mov eax, dword [eax*8 + 4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x84]
mov dword [0x42801c], ecx
cmp eax, edx
jg 0x408459
mov ebx, dword [esp + 0x90]
cmp ebx, 0xbfffffff
jge 0x407fab
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x407fab
mov eax, dword [esp + 0x90]
call fcn.00414800
mov ebx, dword [esp + 0x4c]
cmp ebx, 0xbfffffff
jle 0x407fd4
lea eax, [ebx + 0x20]
mov dword [esp + 0x90], eax
lea eax, [ebx - 0x3fffffe0]
test eax, eax
jl 0x407ff3
fild dword [esp + 0x90]
jmp 0x407fe1
fld qword [ebx*8]
fadd qword [0x4241d0]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x90], eax
mov edi, dword [esp + 0x98]
cmp edi, 0xbfffffff
jge 0x40801a
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x40801a
mov eax, edi
call fcn.00414800
mov eax, dword [esp + 0x54]
dec eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x96]
mov edi, dword [esp + 0x98]
sar eax, 0x10
cmp eax, edi
jne 0x408044
lea eax, [edi*4]
jmp 0x40805c
fild dword [esp + 0x98]
fmul qword [0x424190]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov edx, dword [esp + 0x90]
mov edi, dword [esp + 0x98]
mov esi, dword [0x428034]
mov ecx, dword [0x42801c]
cmp edx, 0xbfffffff
jle 0x4080a9
cmp edi, 0xbfffffff
jle 0x4080a9
add edx, edi
mov dword [esp + 0x98], edx
lea eax, [edx - 0x40000000]
test eax, eax
jl 0x408109
fild dword [esp + 0x98]
jmp 0x4080f7
mov edx, dword [esp + 0x98]
mov eax, dword [esp + 0x90]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
shl edx, 3
cmp eax, 0xbfffffff
jle 0x4080d6
fild dword [esp + 0x90]
jmp 0x4080f5
mov ebx, dword [esp + 0x98]
shl eax, 3
cmp ebx, 0xbfffffff
jle 0x4080f3
fild dword [esp + 0x98]
fadd qword [eax]
jmp 0x4080f7
fld qword [eax]
fadd qword [edx]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x98], eax
mov ecx, dword [0x42801c]
cmp edi, 0xbfffffff
jge 0x40812f
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x40812f
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0x98]
mov esi, dword [0x428034]
cmp edx, 0xbfffffff
jle 0x408148
mov ecx, edx
jmp 0x40815a
fld qword [edx*8]
call fcn.0041a602
fistp qword [esp]
mov ecx, dword [esp]
mov ebx, dword [esp + 0x88]
cmp ebx, 0xbfffffff
jle 0x40816d
mov dword [ecx], ebx
jmp 0x408181
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov edx, dword [esp]
mov dword [ecx], edx
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
cmp edi, 0xbfffffff
jge 0x4081b4
mov edx, dword [edi*8 + 8]
mov dword [0x428034], esi
dec edx
mov dword [edi*8 + 8], edx
jne 0x4081b4
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x54]
mov eax, dword [edx*8]
mov eax, dword [eax + ebx*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4081e1
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x88]
cmp eax, 0xbfffffff
jle 0x4081f3
mov esi, eax
jmp 0x408205
fld qword [eax*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edx, dword [esp + 0x98]
cmp edx, 0xbfffffff
jle 0x40821f
mov al, byte [esp + 0x98]
mov byte [esi], al
jmp 0x40827e
lea eax, [edx*8]
cmp edx, 0xa0000000
jl 0x408241
fld qword [eax]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
mov byte [esi], al
jmp 0x40827e
mov eax, dword [eax]
mov dword [esp + 0x70], eax
mov ebx, dword [esp + 0x70]
add ebx, 4
mov edx, dword [ebx]
mov dword [esp + 0x70], ebx
cmp edx, 0xbfffffff
jle 0x408262
inc esi
mov byte [esi - 1], dl
jmp 0x408247
je 0x40827e
fld qword [edx*8]
call fcn.0041a602
fistp dword [esp + 0x78]
mov al, byte [esp + 0x78]
inc esi
mov byte [esi - 1], al
jmp 0x408247
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
cmp edi, 0xbfffffff
jge 0x4082b1
mov edx, dword [edi*8 + 8]
dec edx
mov dword [edi*8 + 8], edx
jne 0x4082b1
mov eax, edi
call fcn.00414800
mov edx, dword [esp + 0xc]
mov eax, dword [esp + 0x54]
mov edx, dword [edx*8]
mov esi, dword [0x428034]
mov eax, dword [edx + eax*4]
mov ecx, dword [0x42801c]
mov dword [esp + 0x98], eax
cmp eax, 0xbfffffff
jge 0x4082e4
inc dword [eax*8 + 8]
mov edi, dword [esp + 0x98]
mov dword [0x42801c], ecx
mov eax, dword [edi*8 + 4]
mov dword [0x428034], esi
mov dword [esp + 0x98], eax
cmp edi, 0xbfffffff
jge 0x408325
mov ebx, dword [edi*8 + 8]
dec ebx
mov dword [edi*8 + 8], ebx
jne 0x408325
mov eax, edi
call fcn.00414800
mov edi, dword [esp + 0x88]
cmp edi, 0xbfffffff
jle 0x408358
mov eax, dword [esp + 0x98]
lea ebx, [edi + eax]
mov dword [esp + 0x88], ebx
lea eax, [ebx - 0x40000000]
test eax, eax
jl 0x408378
fild dword [esp + 0x88]
jmp 0x408366
fild dword [esp + 0x98]
fadd qword [edi*8]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
mov dword [esp + 0x88], eax
mov esi, dword [0x428034]
cmp edi, 0xbfffffff
jge 0x40839e
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x40839e
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x88]
mov ecx, dword [0x42801c]
cmp ebx, 0xbfffffff
jle 0x4083b7
mov esi, ebx
jmp 0x4083c9
fld qword [ebx*8]
call fcn.0041a602
fistp qword [esp]
mov esi, dword [esp]
mov edi, dword [esp + 0x88]
mov dword [0x42801c], ecx
mov dword [0x428034], esi
mov byte [esi], 0
cmp edi, 0xbfffffff
jle 0x40840d
lea edx, [edi + 1]
mov dword [esp + 0x88], edx
cmp edx, 0x3fffffff
jle 0x408425
fild dword [esp + 0x88]
sub esp, 8
fstp qword [esp]
call fcn.00410ec0
jmp 0x40841e
mov edx, 1
mov eax, 0xb
mov ebx, edi
call fcn.004157ac
mov dword [esp + 0x88], eax
cmp edi, 0xbfffffff
jge 0x408445
mov eax, dword [edi*8 + 8]
dec eax
mov dword [edi*8 + 8], eax
jne 0x408445
mov eax, edi
call fcn.00414800
mov ebx, dword [esp + 0x54]
inc ebx
mov ecx, dword [0x42801c]
mov dword [esp + 0x54], ebx
jmp 0x407f66
mov eax, 4
call fcn.00410908
mov dword [esp + 0x70], eax
mov edx, dword [eax]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x98]
cmp eax, 0xbfffffff
jge 0x408482
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x34]
mov esi, dword [0x428034]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x38]
mov ecx, dword [0x42801c]
cmp eax, 0xbfffffff
jge 0x4084a7
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x38]
mov dword [edx + 8], eax
mov eax, dword [esp + 0x4c]
cmp eax, 0xbfffffff
jge 0x4084c0
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x4c]
mov dword [0x42801c], ecx
mov dword [edx + 0xc], eax
mov eax, dword [esp + 0x80]
mov dword [0x428034], esi
cmp eax, 0xbfffffff
jge 0x4084e8
inc dword [eax*8 + 8]
mov eax, dword [esp + 0x80]
mov dword [edx + 0x10], eax
mov eax, dword [esp + 0x70]
shr eax, 3
add eax, 0x80000000
mov dword [esp + 0x98], eax
mov eax, edi
mov edx, dword [esp + 0x98]
call fcn.00414958
mov eax, 0x41
call fcn.00412a7c
mov eax, dword [esp + 0x7c]
call fcn.00414958
mov eax, dword [esp + 0x34]
call fcn.00414958
mov eax, dword [esp + 0x20]
call fcn.00414958
mov eax, dword [esp + 0x18]
call fcn.00414958
mov eax, dword [esp + 0x30]
call fcn.00414958
mov eax, dword [esp + 0x4c]
call fcn.00414958
mov eax, dword [esp + 0x28]
call fcn.00414958
mov eax, dword [esp + 0x14]
call fcn.00414958
mov eax, dword [esp + 0x38]
call fcn.00414958
mov eax, dword [esp + 0x2c]
call fcn.00414958
mov eax, dword [esp + 0x80]
call fcn.00414958
mov eax, dword [esp + 0x88]
call fcn.00414958
mov eax, dword [esp + 0x8c]
call fcn.00414958
mov eax, dword [esp + 0x60]
call fcn.00414958
mov eax, dword [esp + 0x58]
call fcn.00414958
mov eax, dword [esp + 0x3c]
call fcn.00414958
mov eax, dword [esp + 0x1c]
call fcn.00414958
mov eax, dword [esp + 0x10]
call fcn.00414958
mov eax, dword [esp + 0xc]
call fcn.00414958
mov eax, dword [esp + 0x6c]
call fcn.00414958
mov eax, dword [esp + 0x98]
mov edi, dword [eax*8 + 8]
dec edi
mov dword [eax*8 + 8], edi
jne 0x4085f7
call fcn.00414800
mov ebx, dword [esp + 0x90]
cmp ebx, 0xbfffffff
jge 0x408623
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x408623
mov eax, dword [esp + 0x90]
call fcn.00414800
mov ebx, dword [esp + 0x84]
cmp ebx, 0xbfffffff
jge 0x40864a
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x40864a
mov eax, ebx
call fcn.00414800
mov ebx, dword [esp + 0x94]
cmp ebx, 0xbfffffff
jge 0x408671
mov edi, dword [ebx*8 + 8]
dec edi
mov dword [ebx*8 + 8], edi
jne 0x408671
mov eax, ebx
call fcn.00414800
mov ecx, dword [0x42801c]
xor eax, eax
mov esp, ebp
pop ebp
pop edi
pop esi
pop edx
pop ecx
pop ebx
ret