Function at 0x42e100
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 0x431abb
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 0x431ab9
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 0x431a9b
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0xeb], 0
je 0x42e1ce
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
je 0x431ab9
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 0x42e234
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 0x42e234
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 0x431a9b
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 0x42e29f
cmp dword [edx + 0x2c], 0x15
jne 0x42e29f
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 0x431ab9
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 0x431ab9
cmp dword [edx], 5
jne 0x42e37e
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42e37e
mov eax, dword [eax + 0xa0]
mov ecx, dword [esi + eax*4 + 0x194]
cmp dword [ecx + 0x9c], ebx
mov dword [esp + 0x1c], eax
jne 0x42e37e
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 0x42e411
cmp dword [esp + 0x1c], edi
je 0x42e411
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 0x42e344
mov dword [esp + 0x28], 0
jmp 0x42e409
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 0x42e461
cmp dword [edx], 4
jne 0x42e461
mov dword [edx], 0
mov ecx, dword [esi + ebx*4 + 0x194]
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x42e446
cmp byte [ecx + 0x80], 1
je 0x42e459
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42e461
cmp byte [ecx + 0x80], 0
jne 0x42e461
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 0x42e549
cmp dword [edx], 0
jne 0x42e549
mov ecx, dword [eax + 0x9c]
mov eax, dword [esi + ecx*4 + 0x194]
cmp dword [eax + 0xa0], edi
jne 0x42e549
cmp dword [eax + 0x98], 0xfffffffe
jne 0x42e549
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.00417170
fld qword [0x448910]
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 0x42e57b
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 0x42e60e
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], 0
je 0x42e5e1
mov ecx, dword [eax + 0x70]
mov eax, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + eax + 0x7ac], 0x3ea
je 0x42e5e1
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 0x42e60e
mov dword [edx], 0
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f8], 0
jne 0x42e61c
mov ecx, dword [esi + ebx*4 + 0x194]
mov dword [ecx + 0x2fc], 0
mov edx, dword [edx]
test edx, edx
jne 0x43056e
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x40]
cmp ecx, 0x64
mov dword [esp + 0x10], ecx
je 0x42e812
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 8]
cmp eax, 8
je 0x42e812
cmp eax, 0xb
je 0x42e812
cmp eax, 0xc
je 0x42e812
cmp eax, 0xd
je 0x42e812
cmp eax, 0xe
je 0x42e812
cmp eax, 0x10
je 0x42e812
cmp eax, 0x12
je 0x42e812
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 0x42e6ec
cmp dword [eax + 0xb8], 0xf
jg 0x42e6ec
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 0x42e6e8
cmp eax, 3
je 0x42e6e8
cmp ecx, 2
je 0x42e6e8
cmp ecx, 3
je 0x42e6e8
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xd6
je 0x42e6e8
cmp eax, 0xd0
jne 0x42fdf2
mov ecx, dword [esp + 0x14]
cmp ecx, 6
jne 0x42e7ce
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0xb8], 1
jg 0x42e7ce
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 0x42e7ce
cmp eax, 3
je 0x42e7ce
cmp ecx, 2
je 0x42e7ce
cmp ecx, 3
je 0x42e7ce
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0xd6
je 0x42e7ce
cmp eax, 0xd0
je 0x42e7ce
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x70], 0x14
jl 0x42fdf2
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 5
je 0x42fdf2
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 4
je 0x42fdf2
mov ecx, dword [eax + 0x70]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 7
je 0x42fdf2
cmp dword [esp + 0x14], 0x34
jne 0x42e80a
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0xb8], 0xf
jg 0x42e80a
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xd6
je 0x42e80a
cmp eax, 0xd0
jne 0x42fdf2
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
cmp dword [eax + 8], 7
jne 0x42e87d
cmp ecx, 0x3c
jg 0x42e87d
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 0x42e870
cmp dword [edx + 0x14], 0
jl 0x42e870
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 0x7c
je 0x42e870
cmp eax, 0xdc
je 0x42e870
cmp eax, 0xdd
je 0x42e870
cmp eax, 0xde
jne 0x42e87d
cmp dword [ecx + 0x2fc], 0
jg 0x42fdf2
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 0x431ac4
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6f8]
cmp ecx, 6
mov dword [esp + 0x10], ecx
je 0x42e9f3
mov eax, dword [eax + 0x340]
test eax, eax
mov edx, dword [esp + 0xc]
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x14], eax
jle 0x42e8e7
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 0x42e955
cmp ecx, edx
jl 0x42e955
cmp dword [esp + 0x10], 0
jne 0x42e955
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x42e955
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 0x42e955
cmp eax, 3
jge 0x42e955
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 0x42e9c9
cmp dword [edx + 0x2f4], 0xffffffff
jne 0x42e9c9
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 0x42e9f3
cmp eax, 3
jge 0x42e9f3
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 0x42ea0d
cmp dword [ecx + 0x2c], 4
jne 0x42ea17
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 0x42ea3e
cmp eax, 2
je 0x42ea3e
cmp eax, 4
je 0x42ea3e
cmp eax, 6
jne 0x42ea65
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x44]
sub dword [eax + 0x31c], edx
cmp dword [ecx + 0x40], 0x64
jne 0x42ea65
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 0x42ea81
cmp dword [ecx + 0x1c], 0x28
jle 0x42ea8c
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 0x42eaa3
add dword [eax + 0xb0], 0x14
jmp 0x42eaa9
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 0x42eb02
mov ecx, dword [eax + 0x7c]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xc
je 0x42eb02
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f8]
cmp eax, 1
je 0x42eb02
cmp eax, 4
je 0x42eb02
cmp eax, 6
je 0x42eb02
cmp eax, 2
jne 0x42eb13
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 0x42eb43
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42eb43
mov dword [eax + 0xb0], 0x50
jmp 0x42ec6d
cmp ecx, 0x28
jle 0x42eb98
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42eb98
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 0x42ec6d
mov eax, edx
mov dword [eax + 0xb0], 0x50
jmp 0x42ec6d
cmp ecx, 0x14
jle 0x42ec01
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42ec01
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 0x42ec6d
mov ecx, eax
mov dword [ecx + 0xb0], 0x50
jmp 0x42ec6d
test ecx, ecx
jle 0x42ec6d
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42ec6d
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 0x42ec6d
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 0x42ec9f
mov eax, dword [eax + 0xac]
cmp eax, 0xffffffff
jle 0x42ec9f
mov edx, dword [ecx + 0x10]
fstp st(0)
push eax
push edx
call fcn.00416fb0
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 0x42ed48
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x2c], 0
jne 0x42ecf4
mov ecx, dword [eax + 0xb0]
fstp st(0)
cmp ecx, 0x50
jne 0x42ecd9
mov edx, dword [eax + 0x10]
push 2
push edx
jmp 0x42ecea
cmp ecx, 0x3c
push 0
jne 0x42ece6
mov eax, dword [eax + 0x10]
push eax
jmp 0x42ecea
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00417090
fldz
add esp, 8
mov edx, dword [esp + 0xc]
cmp dword [edx + 0x2c], 1
jne 0x42ed77
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 0x42ed3c
push 0xc
push eax
call fcn.00417090
push 2
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x10]
push edx
call fcn.00417090
add esp, 0x10
jmp 0x42ed75
push 0xb
push eax
call fcn.00417090
push 0
jmp 0x42ed27
jle 0x42ed77
cmp dword [edx + 0xa4], 0xffffffff
jle 0x42ed77
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.00416fb0
add esp, 8
fldz
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0xb0], 0x50
jne 0x42ee22
fld qword [0x449048]
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42ee20
fld qword [0x448308]
fcomp qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x42ee20
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x14], 0
jne 0x42ee20
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 0x42edf4
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 0x42f0a9
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 0x42f0a9
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 0x42ee78
mov ecx, dword [ecx + 0x10]
mov eax, dword [esi + edi*4 + 0x194]
cmp ecx, dword [eax + 0x10]
jge 0x42ee66
mov edx, dword [esp + 0xc]
fild dword [edx + 0x14]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f0a9
mov ecx, dword [esp + 0xc]
fild dword [ecx + 0x14]
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f0a9
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
mov eax, dword [eax + 0x6f8]
cmp eax, 4
je 0x42ef18
cmp eax, 6
je 0x42ef18
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x2c]
cmp eax, 0x16
je 0x42eef0
cmp eax, 0x17
je 0x42eef0
cmp byte [ecx + 0x80], 0
jne 0x42eec3
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 0x42f0a9
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 0x42f0a9
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 0x42ee5b
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42f0a9
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449af8]
fmul st(1), st(0)
fxch st(2)
fcom qword [eax + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42ef41
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 0x42efc6
mov dl, byte [ecx + 0x80]
test dl, dl
jne 0x42ef6e
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x28]
fnstsw ax
test ah, 5
jnp 0x42efc6
cmp dl, 1
jne 0x42ef84
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x28]
fnstsw ax
test ah, 0x41
je 0x42efc6
cmp dl, 1
fstp st(1)
jne 0x42ef9c
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x40]
fnstsw ax
test ah, 5
jnp 0x42efb1
test dl, dl
jne 0x42f008
mov eax, dword [esi + edi*4 + 0x194]
fcom qword [eax + 0x40]
fnstsw ax
test ah, 0x41
jne 0x42f008
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fmulp st(2)
fxch st(1)
fchs
fstp qword [eax + 0x28]
jmp 0x42f00a
cmp byte [ecx + 0x80], 0
fstp st(2)
jne 0x42efe0
mov eax, dword [esi + edi*4 + 0x194]
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x42efe2
fstp st(0)
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 1
jne 0x42f00a
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 0x42f00a
fstp st(1)
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f4], 0x64
jne 0x42f0a9
cmp dword [eax + 0x98], 0
jge 0x42f0a9
mov eax, dword [esi + edi*4 + 0x194]
fstp st(0)
fld qword [eax + 0x28]
push 0xd
fmul qword [0x449278]
fstp qword [eax + 0x28]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x10]
push ecx
call fcn.00417090
fldz
mov ecx, dword [esi + edi*4 + 0x194]
fcom qword [ecx + 0x28]
add esp, 8
fnstsw ax
test ah, 5
jp 0x42f081
fld qword [0x447a00]
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x42f07f
fstp qword [ecx + 0x28]
jmp 0x42f081
fstp st(0)
mov ecx, dword [esi + edi*4 + 0x194]
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x42f0a9
fld qword [0x4482f8]
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 5
jp 0x42f0a7
fstp qword [ecx + 0x28]
jmp 0x42f0a9
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 0x42f183
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
cmp dword [eax + 0x6f8], 0
je 0x42f141
cmp dword [ecx + 0x6f4], 0xd1
jne 0x42f141
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
je 0x42f183
cmp eax, 0xcb
je 0x42f183
cmp eax, 0xcd
je 0x42f183
cmp eax, 0xce
je 0x42f183
cmp eax, 0xcf
je 0x42f183
cmp eax, 0xd7
je 0x42f183
cmp eax, 0xd8
je 0x42f183
cmp eax, 0xd1
jne 0x42f141
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x70], 0x28
je 0x42f183
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 0x42f2a7
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 0x42f1fb
cmp eax, 2
je 0x42f1bc
cmp eax, 3
jne 0x42f1c2
cmp dword [edx + 0x1c], 0x28
jle 0x42f1d3
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.004450d0
test eax, eax
jle 0x42f21e
mov ecx, dword [esi + edi*4 + 0x194]
fld qword [0x448338]
fstp qword [ecx + 0x30]
jmp 0x42f21e
cmp eax, 2
je 0x42f205
cmp eax, 3
jne 0x42f20b
cmp dword [edx + 0x1c], 0x28
jle 0x42f21e
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x30]
fsub qword [0x447a50]
fstp qword [eax + 0x30]
mov ecx, dword [esi + edi*4 + 0x194]
mov dl, byte [ecx + 0x80]
test dl, dl
jne 0x42f239
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 1
je 0x42f248
cmp dl, 1
jne 0x42f251
fcom qword [ecx + 0x28]
fnstsw ax
test ah, 0x41
jp 0x42f251
mov dword [ecx + 0x70], 0xb4
jmp 0x42f258
mov dword [ecx + 0x70], 0xba
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x98], 0
jle 0x42f2a7
mov ecx, dword [eax + 0x9c]
mov edx, dword [esi + ecx*4 + 0x194]
cmp edi, dword [edx + 0xa0]
jne 0x42f2a7
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 0x42f2c1
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 0x42f2f7
cmp dword [ecx + 0x24], 0
jne 0x42f2f7
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0xec], 4
jmp 0x42f304
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xec], eax
cmp dword [ecx + 0x24], 0
jle 0x42f31b
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 0x42f3ca
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 0x42f3ca
cmp dword [ecx + 0xb0], 0x50
je 0x42f3ca
mov eax, ecx
mov edx, dword [eax + 0x7c]
mov eax, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + eax + 0x838], 0
je 0x42f3ca
mov al, byte [ecx + 0x80]
mov edx, dword [esi + ebx*4 + 0x194]
cmp al, byte [edx + 0x80]
mov eax, ecx
je 0x42f3b1
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 0x42f3ca
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 0x42f3e4
mov dword [eax + 0xb0], 0
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42f40d
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 0x42f4ad
push 0x10
fstp st(0)
push 0xee
call fcn.00417170
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 [0x448310]
add esp, 8
fchs
fstp qword [eax + 0x40]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [0x449058]
fstp qword [ecx + 0x48]
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 4
jne 0x42f4ab
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 4
jne 0x42f4ab
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 0x42f501
push 0x10
fstp st(0)
push 0xef
mov byte [eax + 0xeb], 1
call fcn.00417170
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 0x42f51e
cmp eax, 6
jne 0x42f572
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.00417170
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 0x42f688
mov byte [eax + 0xeb], 1
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0xfffffffe
jne 0x42f5e5
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x1c], 0x28
jg 0x42f5ce
cmp dword [ecx + 0x2c], 4
je 0x42f5ce
mov eax, dword [eax + 0xa0]
mov edx, dword [esi + eax*4 + 0x194]
mov byte [edx + edi + 0xf0], 3
jmp 0x42f615
mov eax, dword [eax + 0xa0]
mov edx, dword [esi + eax*4 + 0x194]
mov byte [edx + edi + 0xf0], 0x13
jmp 0x42f615
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], ecx
mov ecx, dword [esp + 0xc]
je 0x42f615
cmp dword [ecx + 0x1c], 0x28
jg 0x42f60d
cmp dword [ecx + 0x2c], 4
je 0x42f60d
mov byte [eax + edi + 0xf0], 3
jmp 0x42f615
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 0x42f651
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x14], 0
jl 0x42f651
cmp dword [ecx + 0x2c], 4
je 0x42f651
mov dword [eax + 0x70], 0x14
jmp 0x42f66e
push 6
fstp st(0)
push 0xf1
call fcn.00417170
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 0x42f6bc
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x42f6bc
mov byte [ebx + esi + 4], 0
mov eax, dword [esi + ebx*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0xd6
jne 0x42f6f5
mov edx, dword [esi + edi*4 + 0x194]
mov ecx, dword [edx + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x42f6f5
mov dword [eax + 0x2fc], 0
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], 3
jne 0x42fcaa
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 0x42fb60
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 0x42f778
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 0x42fb60
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x42f7d1
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 0x42f7fe
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 0x42f90b
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
je 0x42f89c
cmp eax, 0xcb
je 0x42f89c
cmp eax, 0xcd
je 0x42f89c
cmp eax, 0xce
je 0x42f89c
cmp eax, 0xcf
je 0x42f89c
cmp eax, 0xd7
je 0x42f89c
cmp eax, 0xd8
jne 0x42f90b
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 0x42fa1e
cmp dword [edx + 0x6f8], 0
je 0x42f921
cmp dword [ecx + 0x98], 0
jge 0x42fa10
mov edx, dword [esp + 0xc]
mov eax, dword [edx + 0x2c]
cmp eax, 2
je 0x42fa10
cmp eax, 0x14
je 0x42fa10
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 0x42fa1e
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov eax, dword [ecx + 0x6f4]
cmp eax, 0xc8
je 0x42f9a6
cmp eax, 0xcb
je 0x42f9a6
cmp eax, 0xcd
je 0x42f9a6
cmp eax, 0xce
je 0x42f9a6
cmp eax, 0xcf
je 0x42f9a6
cmp eax, 0xd7
je 0x42f9a6
cmp eax, 0xd8
jne 0x42fa1e
mov edx, dword [esi + 0x7d4]
mov ecx, dword [edx + 0x4d82380]
xor eax, eax
test ecx, ecx
jle 0x42fa1e
mov dword [esp + 0x18], edx
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0xd1
je 0x42f9de
mov edx, dword [esp + 0x18]
add eax, 1
add edx, 4
cmp eax, ecx
mov dword [esp + 0x18], edx
jl 0x42f9bc
jmp 0x42fa1e
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 0x42fa1e
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 0x42fb5e
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 0x42fb60
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
mov eax, dword [eax + 0x6f4]
cmp eax, 0xc8
je 0x42faa6
cmp eax, 0xcb
je 0x42faa6
cmp eax, 0xcd
je 0x42faa6
cmp eax, 0xce
je 0x42faa6
cmp eax, 0xcf
je 0x42faa6
cmp eax, 0xd7
je 0x42faa6
cmp eax, 0xd8
jne 0x42fb60
mov edx, dword [esi + 0x7d4]
mov ecx, dword [edx + 0x4d82380]
xor eax, eax
test ecx, ecx
jle 0x42fb0e
mov dword [esp + 0x18], edx
mov edx, dword [edx]
cmp dword [edx + 0x6f4], 0xd1
je 0x42fade
mov edx, dword [esp + 0x18]
add eax, 1
add edx, 4
cmp eax, ecx
mov dword [esp + 0x18], edx
jl 0x42fabc
jmp 0x42fb0e
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 0x42fb60
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 0x42fba3
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 0x42fbea
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 0x42fc5b
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 0x42fc5b
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 0x42fc93
mov eax, dword [eax + 0xa0]
mov edx, dword [esi + eax*4 + 0x194]
cmp dword [edx + 0xb4], 0
jle 0x42fcaa
mov eax, edx
mov ecx, dword [eax + 0xb4]
neg ecx
mov dword [eax + 0xb4], ecx
jmp 0x42fcaa
cmp dword [eax + 0xb4], 0
jle 0x42fcaa
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 0x42fcbb
cmp eax, 0x1e
jne 0x42fd1d
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x42fd1d
mov eax, ecx
mov ecx, dword [eax + 0x78]
mov edx, dword [eax + 0x368]
imul ecx, ecx, 0x178
cmp dword [ecx + edx + 0x7ac], 0xd
je 0x42fd1d
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.00417090
fldz
add esp, 8
mov ecx, dword [esp + 0xc]
mov eax, dword [ecx + 0x2c]
cmp eax, 2
je 0x42fd5c
cmp eax, 0x15
je 0x42fd5c
cmp eax, 0x16
je 0x42fd5c
cmp eax, 0x14
jne 0x42fdc6
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 0x42fdc6
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x42fdc6
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.00417090
fldz
mov ecx, dword [esi + edi*4 + 0x194]
fcom qword [ecx + 0x28]
add esp, 8
fnstsw ax
test ah, 0x41
jp 0x42fdbf
mov byte [ecx + 0x80], 1
jmp 0x42fdc6
mov byte [ecx + 0x80], 0
mov ecx, dword [esp + 0xc]
cmp dword [ecx + 0x2c], 0x17
jne 0x43187a
mov edx, dword [esi + edi*4 + 0x194]
fstp st(0)
mov eax, dword [edx + 0x10]
push 0x10
push eax
call fcn.00417090
fldz
add esp, 8
jmp 0x43187a
mov ecx, dword [esp + 0xc]
mov edx, dword [ecx]
test edx, edx
jne 0x43056e
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], edx
jne 0x43056e
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 3
je 0x42fe69
mov eax, dword [ecx + 0x6f4]
fstp st(0)
cmp eax, 0x25
je 0x42fe55
cmp eax, 6
je 0x42fe55
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x10]
push 1
push edx
call fcn.00417090
jmp 0x42fe80
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x10]
push 0x11
push eax
call fcn.00417090
jmp 0x42fe80
mov edx, dword [edx + 0xac]
cmp edx, 0xffffffff
jle 0x42fe85
mov ecx, dword [eax + 0x10]
fstp st(0)
push edx
push ecx
call fcn.00416fb0
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 0x430001
mov eax, dword [eax + 0x340]
test eax, eax
mov ecx, dword [esp + 0xc]
mov ecx, dword [ecx + 0x44]
mov dword [esp + 0x14], eax
jle 0x42fec6
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 0x42ff52
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, dword [esp + 0x14]
jl 0x42ff52
cmp dword [esp + 0x10], 0
jne 0x42ff52
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x42ff52
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 0x42ff52
cmp eax, 3
jge 0x42ff52
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 0x42ffd7
cmp dword [edx + 0x2f4], 0xffffffff
jne 0x42ffd7
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 0x430001
cmp eax, 3
jge 0x430001
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 0x430028
cmp eax, 2
je 0x430028
cmp eax, 4
je 0x430028
cmp eax, 6
jne 0x430055
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 0x430059
mov eax, dword [esi + edi*4 + 0x194]
mov dword [eax + 0x31c], 0xffffffff
jmp 0x430059
mov ecx, dword [esp + 0xc]
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x2fc], 0
jg 0x430073
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 0x4302ae
cmp dword [eax + 0xb8], 0x1e
jle 0x4300ee
mov edx, dword [esp + 0x18]
cmp dword [edx + 8], 7
jne 0x4300ee
mov dword [eax + 0x70], 0x70
jmp 0x4300fb
cmp dword [eax + 0x70], 0x6e
jne 0x4300fb
mov dword [eax + 0x70], 0x6f
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0xb0], 0x50
jne 0x4301c9
fld qword [0x447a40]
fcom qword [edx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x4301c7
fld qword [0x449050]
fcomp qword [edx + 0x40]
fnstsw ax
test ah, 5
jp 0x4301c7
cmp dword [ecx + 0x14], 0
jne 0x4301c7
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 0x43019b
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 0x43018d
fadd qword [0x447940]
fstp qword [eax + 0x28]
jmp 0x43030f
fsub qword [0x447940]
fstp qword [eax + 0x28]
jmp 0x43030f
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 0x43030f
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 0x430214
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 0x43037d
fadd qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43030f
mov eax, dword [ecx + 0x2c]
cmp eax, 0x16
je 0x430286
cmp eax, 0x17
je 0x430286
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 0
jne 0x43024e
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 0x43030f
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 0x43030f
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 0x43027b
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43030f
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0xb0], 0x50
jne 0x43033d
fld qword [0x447940]
fcom qword [edx + 0x40]
fnstsw ax
test ah, 0x41
jne 0x43033b
fld qword [0x449af0]
fcomp qword [edx + 0x40]
fnstsw ax
test ah, 5
jp 0x43033b
cmp dword [ecx + 0x14], 6
jge 0x43033b
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 0x4303a7
cmp dword [ecx + 0x24], 0
jne 0x4303a7
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0xec], 4
jmp 0x4303ce
fstp st(0)
mov eax, dword [ecx + 0x2c]
cmp eax, 0x16
je 0x430385
cmp eax, 0x17
je 0x430385
mov eax, dword [esi + ebx*4 + 0x194]
cmp byte [eax + 0x80], 0
jne 0x430363
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 0x43030f
mov eax, dword [esi + edi*4 + 0x194]
fild dword [ecx + 0x14]
fsubr qword [eax + 0x28]
fstp qword [eax + 0x28]
jmp 0x43030f
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 0x430309
fsubr qword [edx + 0x28]
jmp 0x43030c
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 0x4303ce
mov dword [eax + 0xec], edx
mov eax, dword [ecx + 0x24]
test eax, eax
jle 0x430410
cmp eax, 4
mov eax, dword [esi + edi*4 + 0x194]
jle 0x430408
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 0x430410
mov byte [eax], 0xc
jmp 0x430410
mov byte [eax + ebx + 0xf0], 4
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jge 0x430439
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 0x4304b8
push 0x10
fstp st(0)
push 0xf3
call fcn.00417170
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 [0x448310]
add esp, 8
fchs
fstp qword [eax + 0x40]
mov ecx, dword [esi + ebx*4 + 0x194]
fld qword [0x449058]
fstp qword [ecx + 0x48]
mov eax, dword [esi + ebx*4 + 0x194]
fld qword [eax + 0x50]
fdiv qword [0x447998]
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 0x430520
mov edx, dword [esi + edi*4 + 0x194]
mov edx, dword [edx + 0x10]
cmp dword [ecx + 0x10], edx
jle 0x4304f7
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 0x41
je 0x430503
cmp dword [ecx + 0x10], edx
jge 0x430520
fcom qword [ecx + 0x40]
fnstsw ax
test ah, 5
jp 0x430520
fld qword [ecx + 0x40]
fld qword [0x449278]
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 0x43187a
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 0x43187a
cmp edx, 6
jne 0x430586
mov edx, dword [esi + edi*4 + 0x194]
mov byte [edx + 0xea], 3
jmp 0x43187a
mov ecx, 1
cmp edx, ecx
jne 0x43084f
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 0x43070d
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 0x4307aa
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 [0x448310]
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.004450d0
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.004450d0
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 0x43187a
cmp edx, 7
jne 0x4309ac
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x98], 0
jne 0x4309ac
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 0x4308ee
cmp eax, 0x7c
jne 0x4308ff
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 0x430937
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 0x43187a
cmp dword [eax + 0x2fc], 0
jle 0x43096d
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x98], 6
jmp 0x43098b
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 0x43187a
cmp edx, 2
jne 0x430c8c
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x368]
cmp dword [eax + 0x6f8], ecx
jne 0x430a76
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 0x430a06
cmp eax, 0x7c
jne 0x430a17
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 0x430b0f
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 0x430be2
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 0x430b5a
mov eax, dword [esi + ebx*4 + 0x194]
mov dword [eax + 0x98], 6
jmp 0x430b78
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 0x430c76
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 0x43187a
cmp edx, 8
jne 0x430ceb
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 [0x447a08]
fstp qword [ecx + 0x68]
jmp 0x43187a
cmp edx, 9
jne 0x430e79
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
mov edx, dword [eax + 0x6f8]
cmp edx, 3
jne 0x430e5b
mov eax, dword [eax + 0xac]
cmp eax, 0xffffffff
jle 0x430d2c
mov edx, dword [ecx + 0x10]
fstp st(0)
push eax
push edx
call fcn.00416fb0
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 0x430e29
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 0x43187a
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 0x43187a
test edx, edx
jne 0x43187a
mov edx, dword [esi + ebx*4 + 0x194]
mov dword [edx + 0x2fc], 0
jmp 0x43187a
cmp edx, 0xa
je 0x43166c
cmp edx, 0xb
jne 0x430e9b
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x320], 0
jl 0x43166c
cmp edx, 3
jne 0x431160
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 0x43101e
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 0x4310bb
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 [0x448310]
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.004450d0
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.004450d0
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 0x43187a
cmp edx, 0xe
jne 0x43123f
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 0x4311a4
fcom qword [edx + 0x40]
fnstsw ax
test ah, 5
jnp 0x431198
fcom qword [edx + 0x28]
fnstsw ax
test ah, 5
jp 0x4311a4
mov dword [edx + 0x3f4], 1
jmp 0x4311cc
mov eax, dword [edx + 0x10]
add eax, 0xfffffffb
cmp ecx, eax
jge 0x4311cc
fcom qword [edx + 0x40]
fnstsw ax
test ah, 0x41
je 0x4311c2
fcom qword [edx + 0x28]
fnstsw ax
test ah, 0x41
jne 0x4311cc
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 0x43120a
fcom qword [edx + 0x50]
fnstsw ax
test ah, 5
jnp 0x4311fb
fcom qword [edx + 0x38]
fnstsw ax
test ah, 5
jp 0x43120a
mov dword [edx + 0x3ec], 1
jmp 0x43187a
mov eax, dword [edx + 0x18]
add eax, 0xfffffffe
cmp ecx, eax
jge 0x43187a
fcom qword [edx + 0x50]
fnstsw ax
test ah, 0x41
je 0x431230
fcom qword [edx + 0x38]
fnstsw ax
test ah, 0x41
jne 0x43187a
mov dword [edx + 0x3e8], 1
jmp 0x43187a
cmp edx, 0xf
je 0x43124d
cmp edx, 0x10
jne 0x43187a
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov ecx, dword [ecx + 0x6f8]
test ecx, ecx
jne 0x431564
cmp edx, 0x10
jne 0x43149c
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 0x43129b
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 0x4312ee
cmp ecx, edx
jl 0x4312ee
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x4312ee
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 0x4312ee
cmp eax, 3
jge 0x4312ee
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 0x431362
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x431362
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 0x43137f
cmp eax, 3
jge 0x43137f
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.00417090
mov edx, dword [esp + 0x14]
add esp, 8
cmp dword [edx + 0x24], 0
jle 0x4313d0
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 0x43149a
mov eax, dword [eax + 0x9c]
mov ecx, dword [esi + eax*4 + 0x194]
cmp dword [ecx + 0xa0], edi
jne 0x43149a
cmp dword [ecx + 0x98], 0xfffffffe
jne 0x43149a
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.00417170
fld qword [0x448910]
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 0x43187a
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 0x4314ca
fsub qword [0x447a08]
jmp 0x4314d0
fadd qword [0x447a08]
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 0x431501
fsub qword [0x448310]
jmp 0x431507
fadd qword [0x448310]
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 0x43153b
fld qword [0x449af0]
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 [0x449af0]
fcomp qword [ecx + 0x48]
fnstsw ax
test ah, 5
jp 0x43187a
fld qword [ecx + 0x48]
fsub qword [0x447a40]
jmp 0x43186a
cmp ecx, 1
je 0x431573
cmp ecx, 4
je 0x431573
cmp ecx, 6
jne 0x4315da
mov edx, dword [eax + 0x368]
mov edx, dword [edx + 0x6f4]
cmp edx, 0xc9
je 0x4315da
cmp edx, 0xca
je 0x4315da
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x3e8
je 0x4315b2
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 0x4314ca
fsub qword [0x447a08]
jmp 0x4314d0
cmp ecx, 2
jne 0x43187a
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x7d0
je 0x431606
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 0x431627
fsub qword [0x447a08]
jmp 0x43162d
fadd qword [0x447a08]
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 0x431661
fsub qword [0x448310]
jmp 0x431816
fadd qword [0x448310]
jmp 0x431816
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
mov edx, dword [ecx + 0x6f8]
test edx, edx
jne 0x431741
mov dword [eax + 0x320], 0xffffffec
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f8], edx
jne 0x4316d2
cmp dword [eax + 0x2f4], 0xffffffff
jne 0x4316d2
cmp dword [0x450bd0], edx
jne 0x4316d2
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 0x4316f0
cmp eax, 3
jge 0x4316f0
add dword [eax*4 + 0x451b68], 0xb
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ae8]
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 0x431517
cmp edx, 1
je 0x431750
cmp edx, 4
je 0x431750
cmp edx, 6
jne 0x4317bc
mov ecx, dword [ecx + 0x6f4]
cmp ecx, 0xc9
je 0x4317bc
cmp ecx, 0xca
je 0x4317bc
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x3e8
je 0x431789
mov dword [eax + 0x70], 0
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ae8]
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 0x431507
cmp edx, 2
jne 0x43187a
mov edx, dword [eax + 0x70]
mov ecx, dword [eax + 0x368]
imul edx, edx, 0x178
cmp dword [edx + ecx + 0x7ac], 0x7d0
je 0x4317e8
mov dword [eax + 0x70], 0
mov eax, dword [esi + edi*4 + 0x194]
fld qword [eax + 0x40]
fld qword [0x449ae8]
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 0x43184a
fld qword [0x449af0]
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 [0x449af0]
fcomp qword [ecx + 0x48]
fnstsw ax
test ah, 5
jp 0x43187a
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 0x431a9b
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 0x4318c6
cmp byte [ebx + esi + 4], 0
je 0x4318c6
cmp ecx, eax
jle 0x4318b2
mov eax, ebx
mov dword [esp + 0x10], eax
jmp 0x4318cc
cmp ebx, edi
jle 0x4318be
mov eax, ebx
mov dword [esp + 0x10], eax
jmp 0x4318cc
mov eax, edi
mov dword [esp + 0x10], eax
jmp 0x4318cc
mov eax, edi
mov dword [esp + 0x10], edi
mov eax, dword [esi + eax*4 + 0x194]
mov ecx, dword [eax + 0x36c]
cmp ecx, 0xa
jge 0x431a9b
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 0x43191c
add edx, edx
add edx, edx
jmp 0x431923
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 0x431999
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 0x4319dc
jmp 0x4319da
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 0x4319dc
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 0x431a33
add eax, ecx
jmp 0x431a39
cmp eax, edi
jle 0x431a42
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 0x42e146
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 0x431abb
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 0x431abb
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