Function at 0x42e160
Capabilities:
Check for software breakpoints
Check http status code
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x6c
push ebx
mov ebx, dword [ebp + 8]
push esi
mov esi, ecx
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
lea ecx, [ecx + edx + 0x7a4]
xor edx, edx
cmp dword [eax + 0x2e4], edx
push edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jle 0x431b1b
fldz
mov eax, dword [esi + ebx*4 + 0x194]
mov edi, dword [esp + 0x20]
movsx ecx, byte [eax + edx + 0x2d0]
mov edi, dword [edi + 0x128]
sub edi, 1
cmp ecx, edi
mov dword [esp + 0x1c], ecx
jg 0x431b19
mov edi, dword [eax + edx*4 + 0x280]
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x7c]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp byte [eax + ebx + 0xf0], 0
lea edx, [edx + ecx + 0x7a4]
mov dword [esp + 0x18], edx
jg 0x431afb
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0xeb], 0
je 0x42e22e
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
je 0x431b19
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x82c], 2
jne 0x42e294
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x90]
mov eax, dword [esi + edx*4 + 0x194]
cmp dword [eax + 0x8c], edi
jne 0x42e294
mov edx, dword [ecx + 0x90]
mov eax, dword [esi + edx*4 + 0x194]
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x858], 0
je 0x431afb
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x20]
lea edx, [edx + edx*4]
shl edx, 4
add edx, dword [eax + 0x130]
cmp dword [edx], 0
mov dword [esp + 0xc], edx
jne 0x42e2ff
cmp dword [edx + 0x2c], 0x15
jne 0x42e2ff
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x12
je 0x431b19
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x13
je 0x431b19
cmp dword [edx], 5
jne 0x42e3de
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42e3de
mov eax, dword [eax + 0xa0]
mov ecx, dword [esi + eax*4 + 0x194]
cmp dword [ecx + 0x9c], ebx
mov dword [esp + 0x1c], eax
jne 0x42e3de
mov eax, ecx
mov ecx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + eax + 0x88c]
test ecx, ecx
jle 0x42e471
cmp dword [esp + 0x1c], edi
je 0x42e471
mov eax, dword [edx]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 4]
mov dword [esp + 0x2c], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0xc]
mov edx, dword [edx + 0x10]
mov dword [esp + 0x38], edx
lea edx, [ecx + ecx*4]
mov ecx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [ecx + 0x368]
shl edx, 4
mov dword [esp + 0x34], eax
mov eax, 5
lea ecx, [ecx + edx + 0xc8]
mov edx, dword [ecx - 4]
mov dword [esp + eax*4 + 0x28], edx
mov edx, dword [ecx]
mov dword [esp + eax*4 + 0x2c], edx
mov edx, dword [ecx + 4]
mov dword [esp + eax*4 + 0x30], edx
mov edx, dword [ecx + 8]
mov dword [esp + eax*4 + 0x34], edx
mov edx, dword [ecx + 0xc]
mov dword [esp + eax*4 + 0x38], edx
add eax, 5
add ecx, 0x14
cmp eax, 0x14
jl 0x42e3a4
mov dword [esp + 0x28], 0
jmp 0x42e469
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x28], eax
mov eax, dword [edx + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [edx + 0xc]
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x10]
mov dword [esp + 0x34], ecx
mov ecx, dword [edx + 0x14]
mov dword [esp + 0x38], eax
mov eax, dword [edx + 0x18]
mov dword [esp + 0x3c], ecx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x20]
mov dword [esp + 0x44], ecx
mov ecx, dword [edx + 0x24]
mov dword [esp + 0x48], eax
mov eax, dword [edx + 0x28]
mov dword [esp + 0x4c], ecx
mov ecx, dword [edx + 0x2c]
mov dword [esp + 0x50], eax
mov eax, dword [edx + 0x30]
mov dword [esp + 0x54], ecx
mov ecx, dword [edx + 0x34]
mov dword [esp + 0x58], eax
mov eax, dword [edx + 0x38]
mov dword [esp + 0x5c], ecx
mov ecx, dword [edx + 0x3c]
mov dword [esp + 0x60], eax
mov eax, dword [edx + 0x40]
mov dword [esp + 0x64], ecx
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x68], eax
mov eax, dword [edx + 0x48]
mov dword [esp + 0x6c], ecx
mov ecx, dword [edx + 0x4c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], ecx
lea edx, [esp + 0x28]
mov dword [esp + 0xc], edx
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x320], 0
jle 0x42e4c1
cmp dword [edx], 4
jne 0x42e4c1
mov dword [edx], 0
mov ecx, dword [esi + ebx*4 + 0x194]
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x42e4a6
cmp byte [ecx + 0x80], 1
je 0x42e4b9
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42e4c1
cmp byte [ecx + 0x80], 0
jne 0x42e4c1
mov eax, dword [edx + 0x14]
neg eax
mov dword [edx + 0x14], eax
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x98], 2
jne 0x42e5a9
cmp dword [edx], 0
jne 0x42e5a9
mov ecx, dword [eax + 0x9c]
mov eax, dword [esi + ecx*4 + 0x194]
cmp dword [eax + 0xa0], edi
jne 0x42e5a9
cmp dword [eax + 0x98], 0xfffffffe
jne 0x42e5a9
mov edx, dword [esi + edi*4 + 0x194]
fstp st(0)
mov eax, dword [edx + 0x9c]
mov ecx, dword [esi + ebx*4 + 0x194]
mov byte [eax + ecx + 0xf0], 0x2d
mov edx, dword [esi + edi*4 + 0x194]
xor eax, eax
mov dword [edx + 0x98], eax
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x9c]
mov byte [edx + ecx + 0xf0], 0x1e
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x9c]
mov ecx, dword [esi + edx*4 + 0x194]
push 6
push 0xec
mov dword [ecx + 0x98], eax
call fcn.00417190
fld qword [0x4488f8]
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, dword [edx + 0x9c]
mov edx, dword [esi + ecx*4 + 0x194]
mov dword [edx + 0x70], eax
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x9c]
mov edx, dword [esi + ecx*4 + 0x194]
fstp qword [edx + 0x48]
mov edx, dword [esp + 0x14]
fldz
add esp, 8
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 2
jne 0x42e5db
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x14], eax
mov eax, dword [ecx + 0x18]
cdq
sub eax, edx
sar eax, 1
mov dword [ecx + 0x18], eax
mov edx, ecx
cmp dword [edx], 9
mov dword [esp + 0x1c], 0
jne 0x42e66e
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
je 0x42e641
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x3ea
je 0x42e641
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x7d0
jne 0x42e66e
mov dword [edx], 0
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x42e67c
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x2fc], 0
mov edx, dword [edx]
test edx, edx
jne 0x4305ce
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x40]
cmp ecx, 0x64
mov dword [esp + 0x10], ecx
je 0x42e872
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
cmp eax, 8
je 0x42e872
cmp eax, 0xb
je 0x42e872
cmp eax, 0xc
je 0x42e872
cmp eax, 0xd
je 0x42e872
cmp eax, 0xe
je 0x42e872
cmp eax, 0x10
je 0x42e872
cmp eax, 0x12
je 0x42e872
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6f4]
cmp ecx, 0x25
mov dword [esp + 0x14], ecx
jne 0x42e74c
cmp dword [eax + 0xb8], 0xf
jg 0x42e74c
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x2c]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x42e748
cmp eax, 3
je 0x42e748
cmp ecx, 2
je 0x42e748
cmp ecx, 3
je 0x42e748
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xd6
je 0x42e748
cmp eax, 0xd0
jne 0x42fe52
mov ecx, dword [esp + 0x14]
cmp ecx, 6
jne 0x42e82e
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0xb8], 1
jg 0x42e82e
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x2c]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 2
je 0x42e82e
cmp eax, 3
je 0x42e82e
cmp ecx, 2
je 0x42e82e
cmp ecx, 3
je 0x42e82e
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0xd6
je 0x42e82e
cmp eax, 0xd0
je 0x42e82e
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x70], 0x14
jl 0x42fe52
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 5
je 0x42fe52
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 4
je 0x42fe52
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 7
je 0x42fe52
cmp dword [esp + 0x14], 0x34
jne 0x42e86a
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0xb8], 0xf
jg 0x42e86a
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xd6
je 0x42e86a
cmp eax, 0xd0
jne 0x42fe52
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp dword [eax + 8], 7
jne 0x42e8dd
cmp ecx, 0x3c
jg 0x42e8dd
mov eax, dword [esi + ebx*4 + 0x194]
mov al, byte [eax + 0x80]
mov ecx, dword [esi + edi*4 + 0x194]
cmp al, byte [ecx + 0x80]
jne 0x42e8d0
cmp dword [edx + 0x14], 0
jl 0x42e8d0
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0x7c
je 0x42e8d0
cmp eax, 0xdc
je 0x42e8d0
cmp eax, 0xdd
je 0x42e8d0
cmp eax, 0xde
jne 0x42e8dd
cmp dword [ecx + 0x2fc], 0
jg 0x42fe52
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0xb8], 0x2d
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0x12c
mov eax, ecx
je 0x431b24
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6f8]
cmp ecx, 6
mov dword [esp + 0x10], ecx
je 0x42ea53
mov eax, dword [eax + 0x340]
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x14], eax
jle 0x42e947
mov eax, ecx
imul eax, eax, 0x64
cdq
idiv dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x2fc]
test edx, edx
jle 0x42e9b5
cmp ecx, edx
jl 0x42e9b5
cmp dword [esp + 0x10], 0
jne 0x42e9b5
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x42e9b5
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x354]
mov eax, dword [esi + edx*4 + 0x194]
mov edx, 1
add dword [eax + 0x358], edx
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
test eax, eax
jle 0x42e9b5
cmp eax, 3
jge 0x42e9b5
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
add dword [eax*4 + 0x451b60], edx
mov eax, dword [esi + edi*4 + 0x194]
sub dword [eax + 0x2fc], ecx
mov eax, 0x55555555
imul ecx
sub edx, ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x300], edx
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x34c], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x42ea29
cmp dword [edx + 0x2f4], 0xffffffff
jne 0x42ea29
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x354]
mov eax, dword [esi + edx*4 + 0x194]
add dword [eax + 0x348], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
test eax, eax
jle 0x42ea53
cmp eax, 3
jge 0x42ea53
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x344]
add dword [eax*4 + 0x451b68], ecx
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x2fc], 0
mov ecx, dword [esp + 0xc]
jle 0x42ea6d
cmp dword [ecx + 0x2c], 4
jne 0x42ea77
mov dword [eax + 0xb0], 0x50
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
mov eax, dword [edx + 0x6f8]
cmp eax, 1
je 0x42ea9e
cmp eax, 2
je 0x42ea9e
cmp eax, 4
je 0x42ea9e
cmp eax, 6
jne 0x42eac5
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x44]
sub dword [eax + 0x31c], edx
cmp dword [ecx + 0x40], 0x64
jne 0x42eac5
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x31c], 0xffffffff
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], 2
jne 0x42eae1
cmp dword [ecx + 0x1c], 0x28
jle 0x42eaec
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x20], 1
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
mov eax, dword [esi + edi*4 + 0x194]
jne 0x42eb03
add dword [eax + 0xb0], 0x14
jmp 0x42eb09
add dword [eax + 0xb0], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xd
je 0x42eb62
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xc
je 0x42eb62
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x42eb62
cmp eax, 4
je 0x42eb62
cmp eax, 6
je 0x42eb62
cmp eax, 2
jne 0x42eb73
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0xb0], 0x50
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0xb0]
cmp ecx, 0x3c
jle 0x42eba3
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42eba3
mov dword [eax + 0xb0], 0x50
jmp 0x42eccd
cmp ecx, 0x28
jle 0x42ebf8
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42ebf8
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x70], 0xe2
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0xb0], 0x3c
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0x14], 0
jge 0x42eccd
mov eax, edx
mov dword [eax + 0xb0], 0x50
jmp 0x42eccd
cmp ecx, 0x14
jle 0x42ec61
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42ec61
mov dl, byte [eax + 0x80]
mov ecx, dword [esi + ebx*4 + 0x194]
xor eax, eax
cmp dl, byte [ecx + 0x80]
mov ecx, dword [esi + edi*4 + 0x194]
sete al
lea eax, [eax + eax + 0xde]
mov dword [ecx + 0x70], eax
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0xb0], 0x28
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x14], 0
jge 0x42eccd
mov ecx, eax
mov dword [ecx + 0xb0], 0x50
jmp 0x42eccd
test ecx, ecx
jle 0x42eccd
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42eccd
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x70], 0xdc
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0xb0], 0x14
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0x14], 0
jge 0x42eccd
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, edx
mov dl, byte [eax + 0x80]
xor eax, eax
cmp dl, byte [ecx + 0x80]
sete al
lea eax, [eax + eax + 0xde]
mov ecx, eax
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x70], ecx
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], 3
jne 0x42ecff
mov eax, dword [eax + 0xac]
cmp eax, 0xffffffff
jle 0x42ecff
mov edx, dword [ecx + 0x10]
fstp st(0)
push eax
push edx
call fcn.00416fd0
fldz
add esp, 8
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
mov ecx, dword [edx + 0x6f8]
test ecx, ecx
jne 0x42eda8
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x2c], 0
jne 0x42ed54
mov ecx, dword [eax + 0xb0]
fstp st(0)
cmp ecx, 0x50
jne 0x42ed39
mov edx, dword [eax + 0x10]
push 2
push edx
jmp 0x42ed4a
cmp ecx, 0x3c
push 0
jne 0x42ed46
mov eax, dword [eax + 0x10]
push eax
jmp 0x42ed4a
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004170b0
fldz
add esp, 8
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x2c], 1
jne 0x42edd7
mov eax, dword [esi + edi*4 + 0x194]
fstp st(0)
mov ecx, dword [eax + 0xb0]
cmp ecx, 0x50
mov eax, dword [eax + 0x10]
mov dword [esp + 0x1c], 1
jne 0x42ed9c
push 0xc
push eax
call fcn.004170b0
push 2
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004170b0
add esp, 0x10
jmp 0x42edd5
push 0xb
push eax
call fcn.004170b0
push 0
jmp 0x42ed87
jle 0x42edd7
cmp dword [edx + 0xa4], 0xffffffff
jle 0x42edd7
mov eax, dword [esi + edi*4 + 0x194]
fstp st(0)
mov ecx, dword [eax + 0x368]
mov edx, dword [ecx + 0xa4]
mov eax, dword [eax + 0x10]
push edx
push eax
call fcn.00416fd0
add esp, 8
fldz
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0xb0], 0x50
jne 0x42ee82
fld qword [0x449030]
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42ee80
fld qword [0x448300]
fcomp qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x42ee80
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x14], 0
jne 0x42ee80
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x7d0
jne 0x42ee54
mov edx, dword [eax + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
fadd qword [eax + 0x28]
cmp edx, dword [eax + 0x10]
fstp qword [eax + 0x28]
jmp 0x42f109
movsx eax, byte [eax + 0x80]
mov ecx, dword [esi + edi*4 + 0x194]
add eax, eax
mov edx, 1
sub edx, eax
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmulp st(1)
fadd qword [ecx + 0x28]
fstp qword [ecx + 0x28]
jmp 0x42f109
fstp st(0)
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x70]
mov edx, dword [ecx + 0x368]
imul eax, eax, 0x178
cmp dword [eax + edx + 0x7ac], 0x7d0
jne 0x42eed8
mov ecx, dword [ecx + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
cmp ecx, dword [eax + 0x10]
jge 0x42eec6
mov edx, dword [esp + 0xc]
fild dword [edx + 0x14]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f109
mov ecx, dword [esp + 0xc]
fild dword [ecx + 0x14]
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f109
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
mov eax, dword [eax + 0x6f8]
cmp eax, 4
je 0x42ef78
cmp eax, 6
je 0x42ef78
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x2c]
cmp eax, 0x16
je 0x42ef50
cmp eax, 0x17
je 0x42ef50
cmp byte [ecx + 0x80], 0
jne 0x42ef23
fild dword [edx + 0x14]
mov eax, dword [esi + edi*4 + 0x194]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
mov ecx, dword [esi + ebx*4 + 0x194]
cmp byte [ecx + 0x80], 1
jne 0x42f109
mov edx, dword [esp + 0xc]
fild dword [edx + 0x14]
mov eax, dword [esi + edi*4 + 0x194]
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f109
mov eax, dword [esi + edi*4 + 0x194]
fild dword [edx + 0x14]
mov eax, dword [eax + 0x10]
cmp eax, dword [ecx + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
jle 0x42eebb
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f109
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ae0]
fmul st(1), st(0)
fxch st(2)
fcom qword [eax + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42efa1
fstp st(1)
fld qword [edx + 0x40]
fmul st(2)
fchs
fxch st(1)
mov edx, dword [esp + 0xc]
fild dword [edx + 0x14]
fcom st(2)
fnstsw ax
fstp st(2)
test ah, 0x41
je 0x42f026
mov dl, byte [ecx + 0x80]
test dl, dl
jne 0x42efce
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x28]
fnstsw ax
test ah, 5
jnp 0x42f026
cmp dl, 1
jne 0x42efe4
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x28]
fnstsw ax
test ah, 0x41
je 0x42f026
cmp dl, 1
fstp st(1)
jne 0x42effc
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x40]
fnstsw ax
test ah, 5
jnp 0x42f011
test dl, dl
jne 0x42f068
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42f068
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fmulp st(2)
fxch st(1)
fchs
fstp qword [eax + 0x28]
jmp 0x42f06a
cmp byte [ecx + 0x80], 0
fstp st(2)
jne 0x42f040
mov eax, dword [esi + edi*4 + 0x194]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f042
fstp st(0)
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 1
jne 0x42f06a
mov ecx, dword [esp + 0xc]
fild dword [ecx + 0x14]
mov eax, dword [esi + edi*4 + 0x194]
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f06a
fstp st(1)
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f4], 0x64
jne 0x42f109
cmp dword [eax + 0x98], 0
jge 0x42f109
mov eax, dword [esi + edi*4 + 0x194]
fstp st(0)
fld qword [eax + 0x28]
push 0xd
fmul qword [0x449260]
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.004170b0
fldz
mov ecx, dword [esi + edi*4 + 0x194]
fcom qword [ecx + 0x28]
add esp, 8
fnstsw ax
test ah, 5
jp 0x42f0e1
fld qword [0x4479f8]
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x42f0df
fstp qword [ecx + 0x28]
jmp 0x42f0e1
fstp st(0)
mov ecx, dword [esi + edi*4 + 0x194]
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x42f109
fld qword [0x4482f0]
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 5
jp 0x42f107
fstp qword [ecx + 0x28]
jmp 0x42f109
fstp st(0)
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x70]
mov ecx, dword [edx + 0x368]
imul eax, eax, 0x178
cmp dword [eax + ecx + 0x7ac], 0xbb8
jne 0x42f1e3
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
cmp dword [eax + 0x6f8], 0
je 0x42f1a1
cmp dword [ecx + 0x6f4], 0xd1
jne 0x42f1a1
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
je 0x42f1e3
cmp eax, 0xcb
je 0x42f1e3
cmp eax, 0xcd
je 0x42f1e3
cmp eax, 0xce
je 0x42f1e3
cmp eax, 0xcf
je 0x42f1e3
cmp eax, 0xd7
je 0x42f1e3
cmp eax, 0xd8
je 0x42f1e3
cmp eax, 0xd1
jne 0x42f1a1
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x70], 0x28
je 0x42f1e3
mov dword [edx + 0x70], 0xa
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x88], 0
mov edx, dword [esi + ebx*4 + 0x194]
fst qword [edx + 0x40]
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
fild dword [ecx + edx + 0x7bc]
fstp qword [eax + 0x50]
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0xb0], 0x50
jne 0x42f307
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f8]
mov dword [esp + 0x18], ecx
je 0x42f25b
cmp eax, 2
je 0x42f21c
cmp eax, 3
jne 0x42f222
cmp dword [edx + 0x1c], 0x28
jle 0x42f233
fild dword [esp + 0x18]
mov eax, dword [esi + edi*4 + 0x194]
fadd qword [eax + 0x30]
fstp qword [eax + 0x30]
mov eax, dword [esi + edi*4 + 0x194]
fild dword [eax + 0x14]
fadd qword [eax + 0x30]
call fcn.004451c0
test eax, eax
jle 0x42f27e
mov ecx, dword [esi + edi*4 + 0x194]
fld qword [0x448330]
fstp qword [ecx + 0x30]
jmp 0x42f27e
cmp eax, 2
je 0x42f265
cmp eax, 3
jne 0x42f26b
cmp dword [edx + 0x1c], 0x28
jle 0x42f27e
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x30]
fsub qword [0x447a48]
fstp qword [eax + 0x30]
mov ecx, dword [esi + edi*4 + 0x194]
mov dl, byte [ecx + 0x80]
test dl, dl
jne 0x42f299
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 1
je 0x42f2a8
cmp dl, 1
jne 0x42f2b1
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jp 0x42f2b1
mov dword [ecx + 0x70], 0xb4
jmp 0x42f2b8
mov dword [ecx + 0x70], 0xba
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x98], 0
jle 0x42f307
mov ecx, dword [eax + 0x9c]
mov edx, dword [esi + ecx*4 + 0x194]
cmp edi, dword [edx + 0xa0]
jne 0x42f307
mov ecx, dword [eax + 0x9c]
mov edx, dword [esi + ebx*4 + 0x194]
mov byte [ecx + edx + 0xf0], 0x2d
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x9c]
mov byte [ecx + eax + 0xf0], 0x1e
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0xb4], 0
jl 0x42f321
mov dword [eax + 0xb4], 3
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, dword [esp + 0xc]
mov dword [edx + 0xb4], 0xfffffffd
mov eax, dword [ecx + 0x20]
cmp eax, 4
jge 0x42f357
cmp dword [ecx + 0x24], 0
jne 0x42f357
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0xec], 4
jmp 0x42f364
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xec], eax
cmp dword [ecx + 0x24], 0
jle 0x42f37b
mov eax, dword [esi + edi*4 + 0x194]
mov cl, byte [ecx + 0x24]
mov byte [eax + ebx + 0xf0], cl
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x82c], 2
jne 0x42f42a
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x90]
mov eax, dword [esi + edx*4 + 0x194]
cmp dword [eax + 0x8c], edi
jne 0x42f42a
cmp dword [ecx + 0xb0], 0x50
je 0x42f42a
mov eax, ecx
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x838], 0
je 0x42f42a
mov al, byte [ecx + 0x80]
mov edx, dword [esi + ebx*4 + 0x194]
cmp al, byte [edx + 0x80]
mov eax, ecx
je 0x42f411
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
mov ecx, dword [ecx + edx + 0x838]
mov dword [eax + 0x70], ecx
jmp 0x42f42a
mov edx, dword [eax + 0x7c]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
mov edx, dword [edx + ecx + 0x83c]
mov dword [eax + 0x70], edx
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0xb0], 0x50
jne 0x42f444
mov dword [eax + 0xb0], 0
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42f46d
mov ecx, dword [eax + 0xa0]
mov edx, dword [esi + ecx*4 + 0x194]
mov eax, dword [eax + 0xb4]
mov dword [edx + 0xb4], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0x3ea
jne 0x42f50d
push 0x10
fstp st(0)
push 0xee
call fcn.00417190
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x70], eax
mov edx, dword [esi + edi*4 + 0x194]
fld qword [edx + 0x28]
mov eax, dword [esi + ebx*4 + 0x194]
fmul qword [0x448308]
add esp, 8
fchs
fstp qword [eax + 0x40]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [0x449040]
fstp qword [ecx + 0x48]
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 4
jne 0x42f50b
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 4
jne 0x42f50b
fld qword [ecx + 0x28]
fchs
fstp qword [eax + 0x28]
fldz
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 1
jne 0x42f561
push 0x10
fstp st(0)
push 0xef
mov byte [eax + 0xeb], 1
call fcn.00417190
fldz
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x70], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x364]
add esp, 8
mov dword [ecx + 0x364], edx
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 4
je 0x42f57e
cmp eax, 6
jne 0x42f5d2
mov edx, dword [esi + ebx*4 + 0x194]
fstp st(0)
mov byte [edx + edi + 0xf0], 0x1e
mov eax, dword [esi + edi*4 + 0x194]
push 0x10
push 0xf0
mov byte [eax + 0xeb], 1
call fcn.00417190
fldz
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x70], eax
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [edx + 0x364]
add esp, 8
mov dword [eax + 0x364], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
mov ecx, 2
cmp dword [edx + 0x6f8], ecx
jne 0x42f6e8
mov byte [eax + 0xeb], 1
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0xfffffffe
jne 0x42f645
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x1c], 0x28
jg 0x42f62e
cmp dword [ecx + 0x2c], 4
je 0x42f62e
mov eax, dword [eax + 0xa0]
mov edx, dword [esi + eax*4 + 0x194]
mov byte [edx + edi + 0xf0], 3
jmp 0x42f675
mov eax, dword [eax + 0xa0]
mov edx, dword [esi + eax*4 + 0x194]
mov byte [edx + edi + 0xf0], 0x13
jmp 0x42f675
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], ecx
mov ecx, dword [esp + 0xc]
je 0x42f675
cmp dword [ecx + 0x1c], 0x28
jg 0x42f66d
cmp dword [ecx + 0x2c], 4
je 0x42f66d
mov byte [eax + edi + 0xf0], 3
jmp 0x42f675
mov byte [eax + edi + 0xf0], 0x13
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov al, byte [eax + 0x80]
mov byte [edx + 0x80], al
cmp dword [ecx + 0x1c], 0x28
jg 0x42f6b1
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x14], 0
jl 0x42f6b1
cmp dword [ecx + 0x2c], 4
je 0x42f6b1
mov dword [eax + 0x70], 0x14
jmp 0x42f6ce
push 6
fstp st(0)
push 0xf1
call fcn.00417190
fldz
mov ecx, dword [esi + edi*4 + 0x194]
add esp, 8
mov dword [ecx + 0x70], eax
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [edx + 0x364]
mov dword [eax + 0x364], ecx
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f4], 0xc9
jne 0x42f71c
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x42f71c
mov byte [ebx + esi + 4], 0
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0xd6
jne 0x42f755
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, dword [edx + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x42f755
mov dword [eax + 0x2fc], 0
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], 3
jne 0x42fd0a
mov eax, edx
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
mov ecx, 0xbbd
cmp dword [edx + eax + 0x7ac], ecx
je 0x42fbc0
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0xbbe
jne 0x42f7d8
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], ecx
jne 0x42fbc0
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42f831
mov ecx, dword [eax + 0xa0]
mov edx, dword [esi + ecx*4 + 0x194]
mov ecx, dword [edx + 0x364]
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x364], ecx
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0xa0]
mov ecx, dword [esi + eax*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x354]
mov dword [edx + 0x354], eax
jmp 0x42f85e
mov edx, dword [eax + 0x364]
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x364], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x354]
mov dword [ecx + 0x354], edx
mov eax, dword [esi + edi*4 + 0x194]
mov byte [eax + 0xeb], 1
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x88], 0
mov edx, dword [esi + edi*4 + 0x194]
fst qword [edx + 0x30]
mov eax, dword [esi + edi*4 + 0x194]
fst qword [eax + 0x28]
mov ecx, dword [esi + edi*4 + 0x194]
fst qword [ecx + 0x38]
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0xd1
jne 0x42f96b
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
je 0x42f8fc
cmp eax, 0xcb
je 0x42f8fc
cmp eax, 0xcd
je 0x42f8fc
cmp eax, 0xce
je 0x42f8fc
cmp eax, 0xcf
je 0x42f8fc
cmp eax, 0xd7
je 0x42f8fc
cmp eax, 0xd8
jne 0x42f96b
mov eax, dword [ecx + 0x364]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x364], eax
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x354]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x354], eax
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x368]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x368], eax
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, 0x28
mov dword [ecx + 0x70], eax
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x74], eax
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x78], eax
jmp 0x42fa7e
cmp dword [edx + 0x6f8], 0
je 0x42f981
cmp dword [ecx + 0x98], 0
jge 0x42fa70
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x2c]
cmp eax, 2
je 0x42fa70
cmp eax, 0x14
je 0x42fa70
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x70], 0x1e
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 8
jne 0x42fa7e
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f4]
cmp eax, 0xc8
je 0x42fa06
cmp eax, 0xcb
je 0x42fa06
cmp eax, 0xcd
je 0x42fa06
cmp eax, 0xce
je 0x42fa06
cmp eax, 0xcf
je 0x42fa06
cmp eax, 0xd7
je 0x42fa06
cmp eax, 0xd8
jne 0x42fa7e
mov edx, dword [esi + 0x7d4]
mov ecx, dword [edx + 0x4d82380]
xor eax, eax
test ecx, ecx
jle 0x42fa7e
mov dword [esp + 0x18], edx
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0xd1
je 0x42fa3e
mov edx, dword [esp + 0x18]
add eax, 1
add edx, 4
cmp eax, ecx
mov dword [esp + 0x18], edx
jl 0x42fa1c
jmp 0x42fa7e
mov ecx, dword [esi + 0x7d4]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x368], eax
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov dword [eax + 0x74], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov dword [eax + 0x78], edx
jmp 0x42fa7e
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x70], 0x14
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
mov ecx, dword [esi + edi*4 + 0x194]
jge 0x42fbbe
mov edx, dword [eax + 0xa0]
mov dword [ecx], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0xd5
jne 0x42fbc0
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
je 0x42fb06
cmp eax, 0xcb
je 0x42fb06
cmp eax, 0xcd
je 0x42fb06
cmp eax, 0xce
je 0x42fb06
cmp eax, 0xcf
je 0x42fb06
cmp eax, 0xd7
je 0x42fb06
cmp eax, 0xd8
jne 0x42fbc0
mov edx, dword [esi + 0x7d4]
mov ecx, dword [edx + 0x4d82380]
xor eax, eax
test ecx, ecx
jle 0x42fb6e
mov dword [esp + 0x18], edx
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0xd1
je 0x42fb3e
mov edx, dword [esp + 0x18]
add eax, 1
add edx, 4
cmp eax, ecx
mov dword [esp + 0x18], edx
jl 0x42fb1c
jmp 0x42fb6e
mov ecx, dword [esi + 0x7d4]
mov eax, dword [ecx + eax*4]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x368], eax
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov dword [eax + 0x74], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov dword [eax + 0x78], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0xa0]
mov edx, dword [esi + ecx*4 + 0x194]
mov ecx, dword [edx + 0x364]
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x364], ecx
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0xa0]
mov ecx, dword [esi + eax*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x354]
mov dword [edx + 0x354], eax
jmp 0x42fbc0
mov dword [ecx], ebx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
mov ecx, 0xbbd
cmp dword [edx + eax + 0x7ac], ecx
jne 0x42fc03
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], ecx
je 0x42fc4a
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
mov ecx, 0xbbe
cmp dword [edx + eax + 0x7ac], ecx
jne 0x42fcbb
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], ecx
jne 0x42fcbb
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, 0x14
mov dword [edx + 0x70], ecx
mov edx, dword [esi + edi*4 + 0x194]
xor eax, eax
mov dword [edx + 0x88], eax
mov edx, dword [esi + edi*4 + 0x194]
fst qword [edx + 0x30]
mov edx, dword [esi + edi*4 + 0x194]
fst qword [edx + 0x28]
mov edx, dword [esi + edi*4 + 0x194]
fst qword [edx + 0x38]
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x70], ecx
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x88], eax
mov edx, dword [esi + ebx*4 + 0x194]
fst qword [edx + 0x30]
mov eax, dword [esi + ebx*4 + 0x194]
fst qword [eax + 0x28]
mov ecx, dword [esi + ebx*4 + 0x194]
fst qword [ecx + 0x38]
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42fcf3
mov eax, dword [eax + 0xa0]
mov edx, dword [esi + eax*4 + 0x194]
cmp dword [edx + 0xb4], 0
jle 0x42fd0a
mov eax, edx
mov ecx, dword [eax + 0xb4]
neg ecx
mov dword [eax + 0xb4], ecx
jmp 0x42fd0a
cmp dword [eax + 0xb4], 0
jle 0x42fd0a
mov edx, dword [eax + 0xb4]
neg edx
mov dword [eax + 0xb4], edx
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2c]
cmp eax, 3
je 0x42fd1b
cmp eax, 0x1e
jne 0x42fd7d
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x42fd7d
mov eax, ecx
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xd
je 0x42fd7d
mov dword [eax + 0x70], 0xc8
fstp st(0)
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x88], 0
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
push 0xe
push eax
call fcn.004170b0
fldz
add esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x2c]
cmp eax, 2
je 0x42fdbc
cmp eax, 0x15
je 0x42fdbc
cmp eax, 0x16
je 0x42fdbc
cmp eax, 0x14
jne 0x42fe26
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x78]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x12
je 0x42fe26
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x42fe26
mov eax, ecx
fstp st(0)
mov dword [eax + 0x70], 0xcb
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x88], 0
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
push 0x10
push eax
call fcn.004170b0
fldz
mov ecx, dword [esi + edi*4 + 0x194]
fcom qword [ecx + 0x28]
add esp, 8
fnstsw ax
test ah, 0x41
jp 0x42fe1f
mov byte [ecx + 0x80], 1
jmp 0x42fe26
mov byte [ecx + 0x80], 0
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x2c], 0x17
jne 0x4318da
mov edx, dword [esi + edi*4 + 0x194]
fstp st(0)
mov eax, dword [edx + 0x10]
push 0x10
push eax
call fcn.004170b0
fldz
add esp, 8
jmp 0x4318da
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
test edx, edx
jne 0x4305ce
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], edx
jne 0x4305ce
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42fec9
mov eax, dword [ecx + 0x6f4]
fstp st(0)
cmp eax, 0x25
je 0x42feb5
cmp eax, 6
je 0x42feb5
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x10]
push 1
push edx
call fcn.004170b0
jmp 0x42fee0
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x10]
push 0x11
push eax
call fcn.004170b0
jmp 0x42fee0
mov edx, dword [edx + 0xac]
cmp edx, 0xffffffff
jle 0x42fee5
mov ecx, dword [eax + 0x10]
fstp st(0)
push edx
push ecx
call fcn.00416fd0
fldz
add esp, 8
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
mov ecx, dword [edx + 0x6f8]
cmp ecx, 6
mov dword [esp + 0x10], ecx
je 0x430061
mov eax, dword [eax + 0x340]
test eax, eax
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 0x14], eax
jle 0x42ff26
mov eax, ecx
imul eax, eax, 0x64
cdq
idiv dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x2fc]
test eax, eax
mov dword [esp + 0x14], eax
jle 0x42ffb2
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x14]
jl 0x42ffb2
cmp dword [esp + 0x10], 0
jne 0x42ffb2
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x42ffb2
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x354]
mov eax, dword [esi + eax*4 + 0x194]
mov edx, 1
add dword [eax + 0x358], edx
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
test eax, eax
jle 0x42ffb2
cmp eax, 3
jge 0x42ffb2
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
add dword [eax*4 + 0x451b60], edx
mov eax, 0x66666667
imul ecx
mov eax, dword [esi + edi*4 + 0x194]
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
sub dword [eax + 0x2fc], ecx
mov eax, 0x55555555
imul ecx
sub edx, ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x300], edx
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x34c], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x430037
cmp dword [edx + 0x2f4], 0xffffffff
jne 0x430037
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x354]
mov eax, dword [esi + edx*4 + 0x194]
add dword [eax + 0x348], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
test eax, eax
jle 0x430061
cmp eax, 3
jge 0x430061
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x344]
add dword [eax*4 + 0x451b68], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x430088
cmp eax, 2
je 0x430088
cmp eax, 4
je 0x430088
cmp eax, 6
jne 0x4300b5
mov ecx, dword [esp + 0xc]
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x44]
sub dword [eax + 0x31c], edx
cmp dword [ecx + 0x40], 0x64
jne 0x4300b9
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x31c], 0xffffffff
jmp 0x4300b9
mov ecx, dword [esp + 0xc]
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x2fc], 0
jg 0x4300d3
mov dword [eax + 0xb0], 0x50
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x88], 0
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x40]
add dword [eax + 0xb8], edx
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x20], 1
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0xb4], 3
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0xb4], 0xfffffffb
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x14], 0
jne 0x43030e
cmp dword [eax + 0xb8], 0x1e
jle 0x43014e
mov edx, dword [esp + 0x18]
cmp dword [edx + 8], 7
jne 0x43014e
mov dword [eax + 0x70], 0x70
jmp 0x43015b
cmp dword [eax + 0x70], 0x6e
jne 0x43015b
mov dword [eax + 0x70], 0x6f
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0xb0], 0x50
jne 0x430229
fld qword [0x447a38]
fcom qword [edx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x430227
fld qword [0x449038]
fcomp qword [edx + 0x40]
fnstsw ax
test ah, 5
jp 0x430227
cmp dword [ecx + 0x14], 0
jne 0x430227
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x7d0
mov eax, dword [esi + ebx*4 + 0x194]
jne 0x4301fb
mov edx, dword [eax + 0x10]
fstp st(0)
mov eax, dword [esi + edi*4 + 0x194]
cmp edx, dword [eax + 0x10]
fld qword [eax + 0x28]
jge 0x4301ed
fadd qword [0x447938]
fstp qword [eax + 0x28]
jmp 0x43036f
fsub qword [0x447938]
fstp qword [eax + 0x28]
jmp 0x43036f
movsx eax, byte [eax + 0x80]
add eax, eax
mov edx, 1
sub edx, eax
mov eax, dword [esi + edi*4 + 0x194]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fmulp st(1)
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43036f
fstp st(0)
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x7d0
jne 0x430274
mov eax, dword [esi + ebx*4 + 0x194]
fild dword [ecx + 0x14]
mov edx, dword [eax + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
cmp edx, dword [eax + 0x10]
jge 0x4303dd
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43036f
mov eax, dword [ecx + 0x2c]
cmp eax, 0x16
je 0x4302e6
cmp eax, 0x17
je 0x4302e6
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 0
jne 0x4302ae
mov eax, dword [ecx + 0x14]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x18], eax
mov eax, dword [esi + edi*4 + 0x194]
fild dword [esp + 0x18]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 1
jne 0x43036f
mov eax, dword [ecx + 0x14]
cdq
sub eax, edx
sar eax, 1
neg eax
mov dword [esp + 0x18], eax
mov eax, dword [esi + edi*4 + 0x194]
fild dword [esp + 0x18]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43036f
mov eax, dword [esi + edi*4 + 0x194]
fild dword [ecx + 0x14]
mov edx, dword [eax + 0x10]
mov eax, dword [esi + ebx*4 + 0x194]
cmp edx, dword [eax + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
jle 0x4302db
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43036f
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0xb0], 0x50
jne 0x43039d
fld qword [0x447938]
fcom qword [edx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x43039b
fld qword [0x449ad8]
fcomp qword [edx + 0x40]
fnstsw ax
test ah, 5
jp 0x43039b
cmp dword [ecx + 0x14], 6
jge 0x43039b
mov eax, dword [esi + ebx*4 + 0x194]
movsx ecx, byte [eax + 0x80]
add ecx, ecx
mov eax, 1
sub eax, ecx
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmulp st(1)
fadd qword [edx + 0x28]
fstp qword [edx + 0x28]
mov eax, dword [ecx + 0x20]
cmp eax, 4
jge 0x430407
cmp dword [ecx + 0x24], 0
jne 0x430407
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xec], 4
jmp 0x43042e
fstp st(0)
mov eax, dword [ecx + 0x2c]
cmp eax, 0x16
je 0x4303e5
cmp eax, 0x17
je 0x4303e5
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 0
jne 0x4303c3
fild dword [ecx + 0x14]
fadd qword [edx + 0x28]
fstp qword [edx + 0x28]
mov edx, dword [esi + ebx*4 + 0x194]
cmp byte [edx + 0x80], 1
jne 0x43036f
mov eax, dword [esi + edi*4 + 0x194]
fild dword [ecx + 0x14]
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43036f
mov ecx, dword [edx + 0x10]
mov eax, dword [esi + ebx*4 + 0x194]
cmp ecx, dword [eax + 0x10]
mov ecx, dword [esp + 0xc]
fild dword [ecx + 0x14]
jle 0x430369
fsubr qword [edx + 0x28]
jmp 0x43036c
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xec], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, 0xc
cmp dword [eax + 0xec], edx
jle 0x43042e
mov dword [eax + 0xec], edx
mov eax, dword [ecx + 0x24]
test eax, eax
jle 0x430470
cmp eax, 4
mov eax, dword [esi + edi*4 + 0x194]
jle 0x430468
mov cl, byte [ecx + 0x24]
mov byte [eax + ebx + 0xf0], cl
mov edx, dword [esi + edi*4 + 0x194]
cmp byte [edx + ebx + 0xf0], 0xc
lea eax, [edx + ebx + 0xf0]
jle 0x430470
mov byte [eax], 0xc
jmp 0x430470
mov byte [eax + ebx + 0xf0], 4
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x430499
mov ecx, dword [eax + 0xa0]
mov edx, dword [esi + ecx*4 + 0x194]
mov eax, dword [eax + 0xb4]
mov dword [edx + 0xb4], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0x3ea
jne 0x430518
push 0x10
fstp st(0)
push 0xf3
call fcn.00417190
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x70], eax
mov edx, dword [esi + edi*4 + 0x194]
fld qword [edx + 0x28]
mov eax, dword [esi + ebx*4 + 0x194]
fmul qword [0x448308]
add esp, 8
fchs
fstp qword [eax + 0x40]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [0x449040]
fstp qword [ecx + 0x48]
mov eax, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x50]
fdiv qword [0x447990]
fstp qword [eax + 0x50]
fldz
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [ecx + 0x70]
mov eax, dword [ecx + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x7ac], 0x7d0
jne 0x430580
mov edx, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x10]
cmp dword [ecx + 0x10], edx
jle 0x430557
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
je 0x430563
cmp dword [ecx + 0x10], edx
jge 0x430580
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x430580
fld qword [ecx + 0x40]
fld qword [0x449260]
fdiv st(1), st(0)
fxch st(1)
fstp qword [ecx + 0x40]
mov eax, dword [esi + ebx*4 + 0x194]
fdivr qword [eax + 0x50]
fstp qword [eax + 0x50]
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [edx + ecx + 0x7ac], 0xbb8
jne 0x4318da
mov dword [eax + 0x70], 0xa
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x88], 0
mov ecx, dword [esi + ebx*4 + 0x194]
fst qword [ecx + 0x40]
jmp 0x4318da
cmp edx, 6
jne 0x4305e6
mov edx, dword [esi + edi*4 + 0x194]
mov byte [edx + 0xea], 3
jmp 0x4318da
mov ecx, 1
cmp edx, ecx
jne 0x4308af
mov eax, dword [esi + edi*4 + 0x194]
fst qword [eax + 0x40]
mov ecx, dword [esi + ebx*4 + 0x194]
fst qword [ecx + 0x40]
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x10]
mov edx, dword [esi + edi*4 + 0x194]
cmp ecx, dword [edx + 0x10]
mov cl, 1
setg dl
mov byte [eax + 0x80], dl
mov eax, dword [esi + ebx*4 + 0x194]
sub cl, byte [eax + 0x80]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [esp + 0xc]
mov byte [edx + 0x80], cl
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x30]
mov dword [ecx + 0x70], edx
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x38]
mov dword [ecx + 0x70], edx
mov edx, dword [eax + 0x30]
mov ecx, dword [esi + ebx*4 + 0x194]
imul edx, edx, 0x178
mov ecx, dword [ecx + 0x368]
mov edx, dword [ecx + edx + 0x830]
mov ecx, dword [esi + edi*4 + 0x194]
mov ecx, dword [ecx + 0x368]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x38]
imul edx, edx, 0x178
mov edx, dword [ecx + edx + 0x830]
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [esp + 0x14], edx
fild dword [ecx + 0x10]
fstp qword [ecx + 0x58]
mov ecx, dword [esi + ebx*4 + 0x194]
fild dword [ecx + 0x14]
fstp qword [ecx + 0x60]
mov ecx, dword [esi + ebx*4 + 0x194]
cmp byte [ecx + 0x80], 0
jne 0x43076d
mov eax, dword [eax + 0x30]
mov edx, dword [ecx + 0x368]
imul eax, eax, 0x178
mov ecx, dword [ecx + 0x10]
sub ecx, dword [eax + edx + 0x7f4]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x38]
imul eax, eax, 0x178
sub ecx, dword [eax + edx + 0x7f4]
add ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 0x194]
fstp qword [ecx + 0x58]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x30]
imul edx, edx, 0x178
mov eax, dword [esi + edi*4 + 0x194]
imul ecx, ecx, 0x178
mov ebx, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov edx, dword [eax + edx + 0x7f8]
mov ebx, dword [ebx + 0x368]
sub edx, dword [ebx + ecx + 0x7f8]
mov ebx, dword [ebp + 8]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, dword [eax + 0x14]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jmp 0x43080a
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x38]
imul edx, edx, 0x178
mov ecx, dword [ecx + 0x368]
imul eax, eax, 0x178
mov edx, dword [edx + ecx + 0x7f4]
add edx, dword [eax + ecx + 0x7f4]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, dword [eax + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
sub edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
sub edx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fstp qword [eax + 0x58]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x30]
imul edx, edx, 0x178
mov eax, dword [esi + edi*4 + 0x194]
imul ecx, ecx, 0x178
mov ebx, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov edx, dword [eax + edx + 0x7f8]
mov ebx, dword [ebx + 0x368]
sub edx, dword [ebx + ecx + 0x7f8]
mov ebx, dword [ebp + 8]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, dword [eax + 0x14]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov eax, dword [esi + edi*4 + 0x194]
fstp qword [eax + 0x60]
mov eax, dword [esi + edi*4 + 0x194]
fild dword [eax + 0x10]
fsub qword [eax + 0x58]
fmul qword [0x448308]
fld qword [eax + 0x58]
fadd st(1)
fstp qword [eax + 0x58]
mov eax, dword [esi + ebx*4 + 0x194]
fadd qword [eax + 0x58]
fstp qword [eax + 0x58]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x58]
call fcn.004451c0
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x58]
call fcn.004451c0
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x8c], edi
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x90], ebx
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x94], 0x12c
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0xb0], 0
jmp 0x4318da
cmp edx, 7
jne 0x430a0c
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jne 0x430a0c
mov dword [eax + 0x98], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x98], 0xffffffff
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x364]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x364], eax
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x9c], edi
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0xa0], ebx
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x354], ebx
mov eax, dword [esi + ebx*4 + 0x194]
add dword [eax + 0x35c], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f4]
cmp eax, 0x78
je 0x43094e
cmp eax, 0x7c
jne 0x43095f
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x98], 0x65
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
mov ecx, 4
cmp dword [edx + 0x6f8], ecx
jne 0x430997
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x98], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x98], 0xfffffffc
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 6
jne 0x4318da
cmp dword [eax + 0x2fc], 0
jle 0x4309cd
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x98], 6
jmp 0x4309eb
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x98], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x31c], 0
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [ecx + 0x98]
mov eax, dword [esi + edi*4 + 0x194]
neg edx
mov dword [eax + 0x98], edx
jmp 0x4318da
cmp edx, 2
jne 0x430cec
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], ecx
jne 0x430ad6
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x70], 0x73
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x98], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0x78
je 0x430a66
cmp eax, 0x7c
jne 0x430a77
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x98], 0x65
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x98], 0xffffffff
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x364]
mov dword [eax + 0x364], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x9c], edi
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0xa0], ebx
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x354], ebx
mov eax, dword [esi + ebx*4 + 0x194]
add dword [eax + 0x35c], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x368]
mov eax, 4
cmp dword [edx + 0x6f8], eax
jne 0x430b6f
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x70], 0x73
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x98], eax
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x98], 0xfffffffc
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x9c], edi
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0xa0], ebx
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x364]
mov dword [eax + 0x364], edx
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x354], ebx
mov eax, dword [esi + ebx*4 + 0x194]
add dword [eax + 0x35c], ecx
mov eax, 4
mov edx, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 6
jne 0x430c42
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x70], 0x73
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0x2fc], 0
jle 0x430bba
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x98], 6
jmp 0x430bd8
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x98], eax
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x31c], 0
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x98]
mov edx, dword [esi + edi*4 + 0x194]
neg eax
mov dword [edx + 0x98], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x9c], edi
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0xa0], ebx
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x364]
mov dword [edx + 0x364], eax
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x354], ebx
mov eax, dword [esi + ebx*4 + 0x194]
add dword [eax + 0x35c], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 2
jne 0x430cd6
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x70], 0x74
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x98], 2
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x98], 0xfffffffe
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x364]
mov dword [eax + 0x364], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x9c], edi
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0xa0], ebx
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x354], ebx
mov eax, dword [esi + ebx*4 + 0x194]
add dword [eax + 0x35c], ecx
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x88], 0
jmp 0x4318da
cmp edx, 8
jne 0x430d4b
mov eax, dword [esp + 0xc]
mov edx, dword [eax + 0x44]
mov ecx, dword [esi + edi*4 + 0x194]
add edx, 0x3e8
mov dword [ecx + 0xe0], edx
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x14]
mov dword [edx + 0x70], eax
mov ecx, dword [esi + edi*4 + 0x194]
fld qword [ecx + 0x58]
mov edx, dword [esi + ebx*4 + 0x194]
fstp qword [edx + 0x58]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x68]
mov ecx, dword [esi + ebx*4 + 0x194]
fadd qword [0x447a00]
fstp qword [ecx + 0x68]
jmp 0x4318da
cmp edx, 9
jne 0x430ed9
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
mov edx, dword [eax + 0x6f8]
cmp edx, 3
jne 0x430ebb
mov eax, dword [eax + 0xac]
cmp eax, 0xffffffff
jle 0x430d8c
mov edx, dword [ecx + 0x10]
fstp st(0)
push eax
push edx
call fcn.00416fd0
fldz
add esp, 8
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xbbd
je 0x430e89
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0xb4], 0xfffffffd
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x364]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x364], eax
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x354]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x354], eax
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xeb], 1
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [edx + 0x354]
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x354], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x70], 0x1e
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x88], 0
mov ecx, dword [esi + edi*4 + 0x194]
fst qword [ecx + 0x30]
mov edx, dword [esi + edi*4 + 0x194]
fst qword [edx + 0x48]
mov eax, dword [esi + edi*4 + 0x194]
fst qword [eax + 0x28]
mov ecx, dword [esi + edi*4 + 0x194]
fst qword [ecx + 0x40]
mov edx, dword [esi + edi*4 + 0x194]
fst qword [edx + 0x38]
mov eax, dword [esi + edi*4 + 0x194]
fst qword [eax + 0x50]
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx], ebx
jmp 0x4318da
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xb4], 0xfffffffd
mov eax, dword [esi + edi*4 + 0x194]
mov byte [eax + 0xeb], 1
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x70], 0x28
jmp 0x4318da
test edx, edx
jne 0x4318da
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x2fc], 0
jmp 0x4318da
cmp edx, 0xa
je 0x4316cc
cmp edx, 0xb
jne 0x430efb
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x320], 0
jl 0x4316cc
cmp edx, 3
jne 0x4311c0
mov ecx, dword [esi + edi*4 + 0x194]
fst qword [ecx + 0x40]
mov edx, dword [esi + ebx*4 + 0x194]
fst qword [edx + 0x40]
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x10]
mov ecx, dword [esi + edi*4 + 0x194]
cmp edx, dword [ecx + 0x10]
setg cl
mov byte [eax + 0x80], cl
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov al, 1
sub al, byte [edx + 0x80]
mov byte [ecx + 0x80], al
mov eax, dword [esp + 0xc]
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x30]
mov dword [edx + 0x70], ecx
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x38]
mov dword [edx + 0x70], ecx
mov edx, dword [eax + 0x30]
mov ecx, dword [esi + ebx*4 + 0x194]
imul edx, edx, 0x178
mov ecx, dword [ecx + 0x368]
mov edx, dword [ecx + edx + 0x830]
mov ecx, dword [esi + edi*4 + 0x194]
mov ecx, dword [ecx + 0x368]
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x38]
imul edx, edx, 0x178
mov edx, dword [ecx + edx + 0x830]
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [esp + 0x14], edx
fild dword [ecx + 0x10]
fstp qword [ecx + 0x58]
mov ecx, dword [esi + ebx*4 + 0x194]
fild dword [ecx + 0x14]
fstp qword [ecx + 0x60]
mov ecx, dword [esi + ebx*4 + 0x194]
cmp byte [ecx + 0x80], 0
jne 0x43107e
mov eax, dword [eax + 0x30]
mov edx, dword [ecx + 0x368]
imul eax, eax, 0x178
mov ecx, dword [ecx + 0x10]
sub ecx, dword [eax + edx + 0x7f4]
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x38]
imul eax, eax, 0x178
sub ecx, dword [eax + edx + 0x7f4]
add ecx, dword [esp + 0x14]
add ecx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
mov ecx, dword [esi + edi*4 + 0x194]
fstp qword [ecx + 0x58]
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x30]
imul edx, edx, 0x178
mov eax, dword [esi + edi*4 + 0x194]
imul ecx, ecx, 0x178
mov ebx, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov edx, dword [eax + edx + 0x7f8]
mov ebx, dword [ebx + 0x368]
sub edx, dword [ebx + ecx + 0x7f8]
mov ebx, dword [ebp + 8]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, dword [eax + 0x14]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
jmp 0x43111b
mov edx, dword [eax + 0x30]
mov eax, dword [eax + 0x38]
imul edx, edx, 0x178
mov ecx, dword [ecx + 0x368]
imul eax, eax, 0x178
mov edx, dword [edx + ecx + 0x7f4]
add edx, dword [eax + ecx + 0x7f4]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, dword [eax + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
sub edx, dword [esp + 0x14]
mov ecx, dword [esp + 0xc]
sub edx, dword [esp + 0x10]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
fstp qword [eax + 0x58]
mov edx, dword [ecx + 0x38]
mov ecx, dword [ecx + 0x30]
imul edx, edx, 0x178
mov eax, dword [esi + edi*4 + 0x194]
imul ecx, ecx, 0x178
mov ebx, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov edx, dword [eax + edx + 0x7f8]
mov ebx, dword [ebx + 0x368]
sub edx, dword [ebx + ecx + 0x7f8]
mov ebx, dword [ebp + 8]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, dword [eax + 0x14]
mov dword [esp + 0x18], edx
fild dword [esp + 0x18]
mov eax, dword [esi + edi*4 + 0x194]
fstp qword [eax + 0x60]
mov eax, dword [esi + edi*4 + 0x194]
fild dword [eax + 0x10]
fsub qword [eax + 0x58]
fmul qword [0x448308]
fld qword [eax + 0x58]
fadd st(1)
fstp qword [eax + 0x58]
mov eax, dword [esi + ebx*4 + 0x194]
fadd qword [eax + 0x58]
fstp qword [eax + 0x58]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x58]
call fcn.004451c0
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x58]
call fcn.004451c0
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x10], eax
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x8c], edi
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x90], ebx
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x94], 0x12c
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0xb0], 0
jmp 0x4318da
cmp edx, 0xe
jne 0x43129f
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ecx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [ecx + 0x10]
add eax, 5
cmp ecx, eax
jle 0x431204
fcom qword [edx + 0x40]
fnstsw ax
test ah, 5
jnp 0x4311f8
fcom qword [edx + 0x28]
fnstsw ax
test ah, 5
jp 0x431204
mov dword [edx + 0x3f4], 1
jmp 0x43122c
mov eax, dword [edx + 0x10]
add eax, 0xfffffffb
cmp ecx, eax
jge 0x43122c
fcom qword [edx + 0x40]
fnstsw ax
test ah, 0x41
je 0x431222
fcom qword [edx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x43122c
mov dword [edx + 0x3f0], 1
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x18]
mov ecx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [ecx + 0x18]
add eax, 2
cmp ecx, eax
jle 0x43126a
fcom qword [edx + 0x50]
fnstsw ax
test ah, 5
jnp 0x43125b
fcom qword [edx + 0x38]
fnstsw ax
test ah, 5
jp 0x43126a
mov dword [edx + 0x3ec], 1
jmp 0x4318da
mov eax, dword [edx + 0x18]
add eax, 0xfffffffe
cmp ecx, eax
jge 0x4318da
fcom qword [edx + 0x50]
fnstsw ax
test ah, 0x41
je 0x431290
fcom qword [edx + 0x38]
fnstsw ax
test ah, 0x41
jne 0x4318da
mov dword [edx + 0x3e8], 1
jmp 0x4318da
cmp edx, 0xf
je 0x4312ad
cmp edx, 0x10
jne 0x4318da
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6f8]
test ecx, ecx
jne 0x4315c4
cmp edx, 0x10
jne 0x4314fc
mov edx, dword [esp + 0xc]
fstp st(0)
mov ecx, dword [edx + 0x44]
mov edx, dword [eax + 0x340]
test edx, edx
mov dword [esp + 0x14], edx
jle 0x4312fb
mov eax, ecx
imul eax, eax, 0x64
cdq
idiv dword [esp + 0x14]
mov ecx, eax
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x2fc]
test edx, edx
jle 0x43134e
cmp ecx, edx
jl 0x43134e
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x43134e
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x354]
mov eax, dword [esi + edx*4 + 0x194]
mov edx, 1
add dword [eax + 0x358], edx
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
test eax, eax
jle 0x43134e
cmp eax, 3
jge 0x43134e
add dword [eax*4 + 0x451b60], edx
mov eax, dword [esi + edi*4 + 0x194]
sub dword [eax + 0x2fc], ecx
mov eax, 0x55555555
imul ecx
sub edx, ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edx, eax
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x300], edx
mov eax, dword [esi + edi*4 + 0x194]
add dword [eax + 0x34c], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x4313c2
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x4313c2
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x354]
mov eax, dword [esi + edx*4 + 0x194]
add dword [eax + 0x348], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x344]
test eax, eax
jle 0x4313df
cmp eax, 3
jge 0x4313df
add dword [eax*4 + 0x451b68], ecx
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x70], 0xc8
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x88], 0
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x10]
push 0xe
push ecx
call fcn.004170b0
mov edx, dword [esp + 0x14]
add esp, 8
cmp dword [edx + 0x24], 0
jle 0x431430
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, edx
mov dl, byte [ecx + 0x24]
mov byte [eax + ebx + 0xf0], dl
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x98], 2
jne 0x4314fa
mov eax, dword [eax + 0x9c]
mov ecx, dword [esi + eax*4 + 0x194]
cmp dword [ecx + 0xa0], edi
jne 0x4314fa
cmp dword [ecx + 0x98], 0xfffffffe
jne 0x4314fa
mov ecx, dword [esi + ebx*4 + 0x194]
mov byte [ecx + eax + 0xf0], 0x2d
mov edx, dword [esi + edi*4 + 0x194]
xor ecx, ecx
mov dword [edx + 0x98], ecx
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x9c]
mov byte [edx + eax + 0xf0], 0x1e
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x9c]
mov eax, dword [esi + edx*4 + 0x194]
push 6
push 0xf4
mov dword [eax + 0x98], ecx
call fcn.00417190
fld qword [0x4488f8]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x9c]
mov ecx, dword [esi + edx*4 + 0x194]
mov dword [ecx + 0x70], eax
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x9c]
mov ecx, dword [esi + eax*4 + 0x194]
fstp qword [ecx + 0x48]
add esp, 8
fldz
mov edx, dword [esp + 0xc]
cmp dword [edx], 0xf
jne 0x4318da
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x40]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jle 0x43152a
fsub qword [0x447a00]
jmp 0x431530
fadd qword [0x447a00]
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x28]
fstp qword [eax + 0x40]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x50]
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jle 0x431561
fsub qword [0x448308]
jmp 0x431567
fadd qword [0x448308]
fstp qword [eax + 0x38]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x38]
fstp qword [eax + 0x50]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, 0xfffffffe
cmp dword [eax + 0x14], ecx
jl 0x43159b
fld qword [0x449ad8]
mov dword [eax + 0x14], ecx
mov eax, dword [esi + edi*4 + 0x194]
fstp qword [eax + 0x48]
mov ecx, dword [esi + edi*4 + 0x194]
fld qword [0x449ad8]
fcomp qword [ecx + 0x48]
fnstsw ax
test ah, 5
jp 0x4318da
fld qword [ecx + 0x48]
fsub qword [0x447a38]
jmp 0x4318ca
cmp ecx, 1
je 0x4315d3
cmp ecx, 4
je 0x4315d3
cmp ecx, 6
jne 0x43163a
mov edx, dword [eax + 0x368]
mov edx, dword [edx + 0x6f4]
cmp edx, 0xc9
je 0x43163a
cmp edx, 0xca
je 0x43163a
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x3e8
je 0x431612
mov dword [eax + 0x70], 0
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x40]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jle 0x43152a
fsub qword [0x447a00]
jmp 0x431530
cmp ecx, 2
jne 0x4318da
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x7d0
je 0x431666
mov dword [eax + 0x70], 0
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x40]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jle 0x431687
fsub qword [0x447a00]
jmp 0x43168d
fadd qword [0x447a00]
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x28]
fstp qword [eax + 0x40]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x50]
mov edx, dword [eax + 0x18]
cmp edx, dword [ecx + 0x18]
jle 0x4316c1
fsub qword [0x448308]
jmp 0x431876
fadd qword [0x448308]
jmp 0x431876
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov edx, dword [ecx + 0x6f8]
test edx, edx
jne 0x4317a1
mov dword [eax + 0x320], 0xffffffec
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], edx
jne 0x431732
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x431732
cmp dword [0x450bd0], edx
jne 0x431732
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x354]
mov eax, dword [esi + eax*4 + 0x194]
add dword [eax + 0x348], 0xb
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x344]
test eax, eax
jle 0x431750
cmp eax, 3
jge 0x431750
add dword [eax*4 + 0x451b68], 0xb
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ad0]
fdiv st(1), st(0)
fxch st(1)
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x28]
fstp qword [eax + 0x40]
mov eax, dword [esi + edi*4 + 0x194]
fdivr qword [eax + 0x50]
fstp qword [eax + 0x38]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x38]
fstp qword [eax + 0x50]
mov edx, dword [esi + edi*4 + 0x194]
mov dword [edx + 0x70], 0xb6
jmp 0x431577
cmp edx, 1
je 0x4317b0
cmp edx, 4
je 0x4317b0
cmp edx, 6
jne 0x43181c
mov ecx, dword [ecx + 0x6f4]
cmp ecx, 0xc9
je 0x43181c
cmp ecx, 0xca
je 0x43181c
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x3e8
je 0x4317e9
mov dword [eax + 0x70], 0
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ad0]
fdiv st(1), st(0)
fxch st(1)
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x28]
fstp qword [eax + 0x40]
mov eax, dword [esi + edi*4 + 0x194]
fdivr qword [eax + 0x50]
jmp 0x431567
cmp edx, 2
jne 0x4318da
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x7d0
je 0x431848
mov dword [eax + 0x70], 0
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ad0]
fdiv st(1), st(0)
fxch st(1)
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x28]
fstp qword [eax + 0x40]
mov eax, dword [esi + edi*4 + 0x194]
fdivr qword [eax + 0x50]
fstp qword [eax + 0x38]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x38]
mov ecx, 0xfffffffe
fstp qword [eax + 0x50]
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x14], ecx
jl 0x4318aa
fld qword [0x449ad8]
mov dword [eax + 0x14], ecx
mov eax, dword [esi + edi*4 + 0x194]
fstp qword [eax + 0x48]
mov ecx, dword [esi + edi*4 + 0x194]
fld qword [0x449ad8]
fcomp qword [ecx + 0x48]
fnstsw ax
test ah, 5
jp 0x4318da
fld qword [ecx + 0x48]
fsub qword [str.ffffff]
fstp qword [ecx + 0x48]
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x48]
fstp qword [eax + 0x30]
mov ecx, dword [esp + 0xc]
cmp dword [ecx], 0
jne 0x431afb
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x18]
mov ecx, dword [ecx + 0x18]
cmp ecx, eax
jl 0x431926
cmp byte [ebx + esi + 4], 0
je 0x431926
cmp ecx, eax
jle 0x431912
mov eax, ebx
mov dword [esp + 0x10], eax
jmp 0x43192c
cmp ebx, edi
jle 0x43191e
mov eax, ebx
mov dword [esp + 0x10], eax
jmp 0x43192c
mov eax, edi
mov dword [esp + 0x10], eax
jmp 0x43192c
mov eax, edi
mov dword [esp + 0x10], edi
mov eax, dword [esi + eax*4 + 0x194]
mov ecx, dword [eax + 0x36c]
cmp ecx, 0xa
jge 0x431afb
mov edx, dword [esp + 0x10]
fstp st(0)
add ecx, 1
mov dword [eax + 0x36c], ecx
mov eax, dword [esi + edx*4 + 0x194]
mov ecx, dword [eax + 0x36c]
mov edx, dword [esp + 0xc]
sub ecx, 1
cmp dword [edx + 0x1c], 0x3c
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x18], ecx
lea edx, [edx + edx*4]
jle 0x43197c
add edx, edx
add edx, edx
jmp 0x431983
lea edx, [edx*4 + 0xa]
mov dword [eax + ecx*4 + 0x3c0], edx
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x70]
lea ecx, [ecx*4 + 0x370]
imul edx, edx, 0x178
cmp byte [eax + 0x80], 0
mov dword [esp + 0x14], ecx
mov ecx, dword [eax + 0x368]
jne 0x4319f9
mov eax, dword [eax + 0x10]
sub eax, dword [edx + ecx + 0x7f4]
mov edx, eax
mov eax, dword [esp + 0xc]
add edx, dword [eax + 0xc]
add edx, dword [eax + 4]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax*4 + 0x194]
mov eax, dword [esp + 0x14]
mov dword [eax + ecx], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + edx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
add eax, ecx
mov ecx, dword [edx + 0x10]
cmp dword [eax], ecx
jle 0x431a3c
jmp 0x431a3a
mov edx, dword [edx + ecx + 0x7f4]
mov ecx, dword [esp + 0xc]
sub edx, dword [ecx + 0xc]
sub edx, dword [ecx + 4]
add edx, dword [eax + 0x10]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + eax*4 + 0x194]
mov eax, dword [esp + 0x14]
mov dword [eax + ecx], edx
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + edx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
add eax, ecx
mov ecx, dword [edx + 0x10]
cmp dword [eax], ecx
jge 0x431a3c
mov dword [eax], ecx
mov ecx, dword [esi + ebx*4 + 0x194]
mov eax, dword [ecx + 0x70]
mov edx, dword [ecx + 0x368]
imul eax, eax, 0x178
mov eax, dword [eax + edx + 0x7f8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1c], eax
mov eax, dword [edx + 0x10]
cdq
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
add eax, dword [ecx + 0x14]
mov ecx, dword [esp + 0xc]
add eax, dword [ecx + 8]
mov ecx, dword [esi + edi*4 + 0x194]
mov edi, dword [ecx + 0x14]
mov ecx, edi
sub eax, edx
sub ecx, edx
cmp eax, ecx
mov dword [esp + 0x1c], eax
jge 0x431a93
add eax, ecx
jmp 0x431a99
cmp eax, edi
jle 0x431aa2
add eax, edi
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0x1c], eax
call dword [sym.imp.MSVCR80.dll_rand]
cdq
mov ecx, 9
idiv ecx
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
add edx, dword [eax + 0x18]
mov eax, dword [esp + 0x10]
lea edx, [edx + ecx - 4]
mov ecx, dword [esi + eax*4 + 0x194]
mov dword [ecx + edi*4 + 0x398], edx
mov edx, dword [esi + eax*4 + 0x194]
mov eax, dword [esp + 0x14]
lea edi, [edx + eax]
call dword [sym.imp.MSVCR80.dll_rand]
fldz
cdq
mov ecx, 9
idiv ecx
sub edx, 4
add dword [edi], edx
mov edx, dword [esp + 0x24]
mov eax, dword [esi + ebx*4 + 0x194]
add edx, 1
cmp edx, dword [eax + 0x2e4]
mov dword [esp + 0x24], edx
jl 0x42e1a6
fstp st(0)
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov ecx, dword [eax + 0x70]
fstp st(0)
mov edx, dword [eax + 0x368]
add ecx, 6
imul ecx, ecx, 0x178
cmp dword [ecx + edx], 0
jle 0x431b1b
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
mov eax, dword [ecx + edx + 0x8d8]
cmp dword [eax], 0x3e8
jle 0x431b1b
mov ecx, dword [esi + edi*4 + 0x194]
mov dword [ecx + 0x364], 1
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
mov edx, dword [ecx + edx + 0x8d8]
mov ecx, dword [edx]
sub ecx, 0x3e8
mov dword [eax + 0x70], ecx
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xb4], 3
mov eax, dword [esi + edi*4 + 0x194]
pop edi
pop esi
mov dword [eax + 0xb4], 0xfffffffd
pop ebx
mov esp, ebp
pop ebp
ret 4