Function at 0x403a40
Capabilities:
Parse pe header

Disassembly:
mov eax, dword [0x44f618]
sub esp, 8
push esi
add eax, 1
push eax
push 0x3c
mov esi, ecx
call fcn.00417190
add esp, 8
test eax, eax
jle 0x403a66
xor eax, eax
pop esi
add esp, 8
ret 0x1c
push ebx
push ebp
mov ebp, dword [esp + 0x18]
push edi
mov edi, dword [esp + 0x20]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 2
jne 0x403e83
push 0xa
push 0x3d
call fcn.00417190
add esp, 8
test eax, eax
jne 0x403b09
mov ebx, dword [esi + edi*4 + 0x194]
cmp dword [ebx + 0x308], 0x15e
jle 0x403b09
mov eax, ebx
mov ecx, dword [eax + 0x300]
sub ecx, 0x46
cmp dword [eax + 0x2fc], ecx
jge 0x403ad1
cmp dword [ebx + 0x2fc], 0x8c
jl 0x4055e9
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x300]
lea edx, [eax + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ecx + 0x2fc], eax
jge 0x403b09
cmp dword [ebx + 0x2fc], 0x8c
jge 0x4055e9
cmp dword [esp + 0x30], 0x2710
jge 0x403b3a
push 0x1e
push 0x3e
call fcn.00417190
add esp, 8
test eax, eax
jne 0x403b3a
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0xfa
jg 0x405300
mov ecx, dword [esi + ebp*4 + 0x194]
mov edx, dword [ecx + 0x368]
mov eax, dword [edx + 0x6f4]
cmp eax, 2
je 0x403c2e
cmp eax, 9
je 0x403c2e
cmp eax, 0xa
je 0x403c2e
cmp eax, 0xb
je 0x403c2e
cmp eax, 0x21
je 0x403c2e
cmp eax, 0x22
je 0x403c2e
push 0xf
push 0x40
call fcn.00417190
add esp, 8
test eax, eax
jne 0x403ca1
mov edx, dword [esi + ebp*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x403ca1
cmp eax, 0xfa
jge 0x403ca1
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x1e
jge 0x403ca1
cmp dword [ecx + 0x308], 0x64
jle 0x403ca1
cmp dword [edx + 0x308], 0xaa
jle 0x403ca1
cmp dword [esp + 0x2c], 0
jne 0x403ca1
cmp dword [esp + 0x20], ebx
jle 0x405f0e
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd8], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
push 0xf
push 0x3f
call fcn.00417190
add esp, 8
test eax, eax
jne 0x403ca1
mov edx, dword [esi + ebp*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x403ca1
cmp eax, 0x1f4
jge 0x403ca1
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x1e
jge 0x403ca1
cmp dword [ecx + 0x308], 0x64
jle 0x403ca1
cmp dword [edx + 0x308], 0xdc
jle 0x403ca1
cmp dword [esp + 0x2c], 0
je 0x403c0e
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x98], 0
je 0x403cbb
cmp dword [ecx + 0x70], 9
jge 0x403e83
mov eax, dword [esi + edi*4 + 0x194]
mov edx, dword [eax + 0x300]
sub edx, 0x46
cmp dword [eax + 0x2fc], edx
jge 0x403ce3
cmp dword [ecx + 0x2fc], 0x8c
jl 0x403e83
mov ebx, dword [esi + edi*4 + 0x194]
mov eax, dword [ebx + 0x300]
lea edx, [eax + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebx + 0x2fc], eax
jge 0x403d1b
cmp dword [ecx + 0x2fc], 0x8c
jge 0x403e83
cmp dword [esp + 0x34], 0
jne 0x403e83
xor ebp, ebp
lea edx, [esi + 0x194]
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], edx
cmp ebp, edi
je 0x403e64
cmp byte [esi + ebp + 4], 0
je 0x403e64
mov ebx, dword [edx]
mov eax, dword [ebx + 0x364]
test eax, eax
je 0x403e64
cmp eax, dword [ecx + 0x364]
jne 0x403e64
mov eax, dword [ebx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xfa
mov dword [esp + 0x14], eax
jge 0x403e64
mov eax, dword [ebx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x3c
mov dword [esp + 0x10], eax
jge 0x403e64
cmp dword [ecx + 0x308], 0x15e
jle 0x403e64
mov edx, ebx
mov ebp, dword [edx + 0x300]
sub ebp, 0x5a
cmp dword [edx + 0x2fc], ebp
jge 0x403dd0
mov edx, dword [ebx + 0x2fc]
cmp edx, 0x8c
jl 0x403e09
mov edx, dword [esp + 0x20]
mov ebp, dword [edx]
mov eax, dword [ebp + 0x300]
lea edx, [eax + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ebp + 0x2fc], eax
jge 0x403e60
mov edx, dword [ebx + 0x2fc]
cmp edx, 0x8c
jl 0x403e60
mov eax, dword [esp + 0x10]
test edx, edx
mov ebp, dword [esp + 0x2c]
jle 0x403e64
mov edx, dword [esp + 0x14]
lea ebx, [eax + edx]
mov eax, 0x55555556
imul dword [esp + 0x30]
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ebx, eax
jge 0x403e64
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
cmp eax, dword [ecx + 0x10]
jle 0x403f67
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xd0], 1
mov edx, dword [esi + edi*4 + 0x194]
mov byte [edx + 0xcf], 0
jmp 0x403f83
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x20]
add ebp, 1
add edx, 4
cmp ebp, 0x14
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x20], edx
jl 0x403d36
mov ebp, dword [esp + 0x1c]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 1
mov ebx, dword [esp + 0x28]
jne 0x4041e4
mov eax, dword [ecx + 0x70]
cmp eax, 0x104
jl 0x404056
cmp eax, 0x121
jg 0x404056
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x404056
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x404056
cmp dword [edx + 0x14], 0
jne 0x403f06
cmp dword [ecx + 0x14], 0
jne 0x403f06
push 3
push 0x41
call fcn.00417190
add esp, 8
test eax, eax
je 0x403f3c
mov ecx, dword [esi + ebp*4 + 0x194]
cmp dword [ecx + 0x14], 0
jge 0x403fd7
mov edx, dword [esi + edi*4 + 0x194]
cmp dword [edx + 0x14], 0
jge 0x403fd7
push 7
push 0x42
call fcn.00417190
add esp, 8
test eax, eax
jne 0x403fd7
mov eax, dword [esi + edi*4 + 0x194]
mov byte [eax + 0xd1], 1
mov ecx, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xca], 0
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
mov byte [eax + 0xd0], 0
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xcf], 1
mov edi, dword [esi + edi*4 + 0x194]
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ecx, dword [edi + 0x10]
cmp eax, ecx
jle 0x403fa6
cmp byte [edi + 0x80], 0
je 0x403fc1
cmp eax, ecx
jge 0x403fb1
cmp byte [edi + 0x80], 1
je 0x403fc1
sub eax, ecx
push eax
call fcn.00403270
add esp, 4
cmp eax, 5
jge 0x403fc8
mov byte [edi + 0xda], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov edx, dword [esi + ebp*4 + 0x194]
cmp dword [edx + 0x14], 0
jge 0x403ff4
push 5
push 0x43
call fcn.00417190
add esp, 8
test eax, eax
je 0x404004
push 0x1e
push 0x44
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404047
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [esi + ebp*4 + 0x194]
mov ecx, dword [ecx + 0x10]
mov edx, dword [eax + 0x10]
cmp ecx, edx
jle 0x404027
cmp byte [eax + 0x80], 0
je 0x404032
cmp ecx, edx
jge 0x404039
cmp byte [eax + 0x80], 1
jne 0x404039
mov byte [eax + 0xd2], 1
mov edx, dword [esi + edi*4 + 0x194]
mov byte [edx + 0xcb], 0
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
push 7
push 0x45
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4040f2
mov edx, dword [esi + ebp*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x96
jge 0x4040f2
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 8
jge 0x4040f2
cmp dword [ecx + 0x308], 0x96
jle 0x4040f2
push 0xa
push 0x46
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4040c7
cmp ebx, 3
jne 0x404a75
push 3
push 0x47
call fcn.00417190
add esp, 8
test eax, eax
jle 0x4040f2
cmp ebx, 0x10
je 0x404a75
cmp ebx, 8
je 0x404a75
cmp ebx, 0xb
je 0x404a75
push 7
push 0x48
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4041e4
mov edx, dword [esi + ebp*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x4041e4
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x4041e4
mov ecx, dword [ecx + 0x308]
cmp ecx, 0x4b
jle 0x4041e4
cmp ecx, 0x96
jle 0x4041c7
push 0xa
push 0x49
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404170
cmp ebx, 3
jne 0x404185
push 3
push 0x4a
call fcn.00417190
add esp, 8
test eax, eax
jle 0x4041c7
cmp ebx, 0x10
jne 0x4041c7
mov eax, dword [esi + ebp*4 + 0x194]
mov edi, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x10]
cmp ecx, dword [edi + 0x10]
jle 0x4041b1
mov byte [edi + 0xd8], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov byte [edi + 0xd9], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov edx, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [edx + 0xd7], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 4
jne 0x404361
cmp dword [ecx + 0x308], 0x168
jle 0x40427d
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x40427d
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x46
jge 0x40427d
mov ecx, dword [ecx + 0x2fc]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
lea ecx, [edx + eax + 0xa]
push ecx
push 0x4b
call fcn.00417190
add esp, 8
test eax, eax
jne 0x40427d
mov edx, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [edx + 0xda], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
push 0x2d
push 0x4c
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4042e0
mov edx, dword [esi + ebp*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x4042e0
cmp eax, 0x226
jge 0x4042e0
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x14
jge 0x4042e0
cmp dword [ecx + 0x308], 0xaa
jg 0x403c0e
push 0x1e
push 0x4d
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404361
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0xc8
jle 0x404361
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x404361
cmp eax, 0xa0
jge 0x404361
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x37
jge 0x404361
mov al, byte [ecx + 0x80]
test al, al
jne 0x404353
cmp ebx, dword [esp + 0x20]
jl 0x405d8a
cmp al, 1
jne 0x404361
cmp ebx, dword [esp + 0x20]
jg 0x405d8a
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 5
jne 0x4044ed
cmp dword [ecx + 0x308], 0x1c2
jle 0x404414
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x404414
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x32
jle 0x404414
push 3
push 0x4e
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404414
push 2
push 0x4f
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4043f7
mov eax, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [eax + 0xda], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xdb], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0x46
jle 0x40446e
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x40446e
cmp eax, 0xa0
jge 0x40446e
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 8
jge 0x40446e
push 0xa
push 0x50
call fcn.00417190
add esp, 8
test eax, eax
je 0x404a75
push 0x1e
push 0x51
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4044ed
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0xc8
jle 0x4044ed
mov edx, dword [esi + ebp*4 + 0x194]
mov ebx, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov eax, ebx
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x4044e9
cmp eax, 0xa0
jge 0x4044e9
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x37
jge 0x4044e9
mov al, byte [ecx + 0x80]
test al, al
jne 0x4044dd
cmp ebx, ebp
jg 0x405e82
cmp al, 1
jne 0x4044e9
cmp ebx, ebp
jl 0x405e98
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 6
jne 0x4045fc
mov ebx, 0x64
cmp dword [ecx + 0x308], ebx
jle 0x40455e
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x50
jle 0x40455e
cmp eax, 0x82
jge 0x40455e
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x1e
jge 0x40455e
push 0xa
push 0x52
call fcn.00417190
add esp, 8
test eax, eax
je 0x404a75
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], ebx
jle 0x4045b0
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x2d
jge 0x4045b0
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 5
jge 0x4045b0
push 3
push 0x53
call fcn.00417190
add esp, 8
test eax, eax
je 0x405a4b
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], 9
jne 0x4045fc
push 8
push 0x54
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4045fc
mov eax, dword [esi + edi*4 + 0x194]
mov byte [eax + 0xd2], 1
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xcb], 0
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 7
jne 0x40498d
mov eax, dword [ecx + 0x70]
cmp eax, 0x10b
jle 0x40469e
cmp eax, 0x11b
jge 0x40469e
mov eax, dword [esp + 0x28]
cmp eax, 0xc
je 0x404abb
cmp eax, 0xb
je 0x404abb
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebx, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x96
jg 0x404abb
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x19
jg 0x404abb
mov al, byte [ecx + 0x80]
test al, al
jne 0x404690
cmp ebx, dword [esp + 0x20]
jl 0x404abb
cmp al, 1
jne 0x40469e
cmp ebx, dword [esp + 0x20]
jg 0x404abb
mov ebx, dword [esp + 0x28]
cmp ebx, 0x12
je 0x4047a4
cmp ebx, 0xe
je 0x4047a4
cmp ebx, 0xc
je 0x40473e
cmp dword [ecx + 0x2fc], 0x46
jle 0x40473e
cmp dword [ecx + 0x308], 0x140
jle 0x40473e
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
mov ebx, eax
add esp, 4
cmp ebx, 0x32
jg 0x404703
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xa
jle 0x40473e
cmp ebx, 0x55
jge 0x40473e
mov eax, dword [ecx + 0x2fc]
cmp eax, dword [edx + 0x2fc]
jle 0x40473e
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x23
jge 0x40473e
push 5
push 0x55
call fcn.00417190
add esp, 8
test eax, eax
je 0x405a4b
mov ebx, dword [esp + 0x28]
cmp ebx, 0xc
je 0x4047a4
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0xc8
jle 0x4047a4
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jle 0x4047a4
cmp eax, 0x172
jge 0x4047a4
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jge 0x4047a4
push 0x14
push 0x56
call fcn.00417190
add esp, 8
test eax, eax
je 0x404a75
push 0x64
push 0x57
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4047e3
mov eax, dword [esi + ebp*4 + 0x194]
mov edx, dword [eax + 0x10]
mov ecx, dword [esi + edi*4 + 0x194]
sub edx, dword [ecx + 0x10]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xf0
jle 0x4047e3
cmp eax, 0x190
jl 0x404a75
cmp ebx, 0x12
je 0x4048a5
cmp ebx, 0xe
je 0x4048a5
cmp ebx, 0xc
je 0x4048a5
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0xc8
jle 0x4048a5
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jle 0x4048a5
cmp eax, 0x118
jge 0x4048a5
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jge 0x4048a5
push 0xf
push 0x58
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4048a5
mov eax, dword [esi + edi*4 + 0x194]
mov cl, byte [eax + 0x80]
test cl, cl
jne 0x40487b
mov edx, dword [esi + ebp*4 + 0x194]
mov ebx, dword [eax + 0x10]
cmp ebx, dword [edx + 0x10]
jl 0x40488f
cmp cl, 1
jne 0x4048a5
mov ecx, dword [esi + ebp*4 + 0x194]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jle 0x4048a5
pop edi
pop ebp
pop ebx
mov byte [eax + 0xdb], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x70]
cmp eax, 0xff
jl 0x40498d
cmp eax, 0x105
jg 0x40498d
mov dl, byte [ecx + 0x80]
test dl, dl
jne 0x4048f8
mov ebx, dword [esi + ebp*4 + 0x194]
mov ebx, dword [ebx + 0x10]
mov eax, dword [ecx + 0x10]
add ebx, 0x78
cmp eax, ebx
jg 0x404abb
mov ebx, dword [0x44f604]
add ebx, 0xffffffe2
cmp eax, ebx
jg 0x404abb
cmp dl, 1
jne 0x40491e
mov edx, dword [esi + ebp*4 + 0x194]
mov edx, dword [edx + 0x10]
mov eax, dword [ecx + 0x10]
sub edx, 0x78
cmp eax, edx
jl 0x404abb
cmp eax, 0x1e
jl 0x404abb
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x18]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x20], eax
sub eax, ebx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x46
jg 0x404abb
cmp dword [0x44f608], 1
je 0x404abb
mov al, byte [ecx + 0x80]
test al, al
jne 0x404968
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x10]
jl 0x40497c
mov al, byte [ecx + 0x80]
cmp al, 1
jne 0x404aa5
mov eax, dword [ecx + 0x10]
cmp eax, dword [edx + 0x10]
jle 0x404aa5
cmp dword [esp + 0x20], ebx
jle 0x404aaf
mov byte [ecx + 0xce], 1
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 8
jne 0x404c05
cmp dword [esp + 0x28], 0xd
je 0x404ae6
mov ebx, 0xc8
cmp dword [ecx + 0x308], ebx
jle 0x404a05
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x190
jge 0x404a05
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xaa
jge 0x404a05
push 0xfa
push 0x59
call fcn.00417190
add esp, 8
test eax, eax
je 0x404a75
cmp dword [esp + 0x28], 0xe
je 0x404ba5
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], ebx
jle 0x404ae6
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jle 0x404ae6
cmp eax, 0x118
jge 0x404ae6
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x41
jge 0x404ae6
push 0xf
push 0x5a
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404ae6
mov eax, dword [esi + ebp*4 + 0x194]
mov edi, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x10]
cmp ecx, dword [edi + 0x10]
jle 0x406182
mov byte [edi + 0xd8], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
cmp dword [esp + 0x20], ebx
jl 0x404986
mov byte [ecx + 0xcd], 1
jmp 0x40498d
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xd3], 1
mov edx, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [edx + 0xcc], 0
mov eax, 1
pop esi
add esp, 8
ret 0x1c
cmp dword [esp + 0x28], 0xe
je 0x404ba5
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0x140
jle 0x404ba5
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
mov ebx, eax
add esp, 4
cmp ebx, 0x32
jg 0x404b40
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 7
jg 0x404b40
cmp dword [esp + 0x28], 0xd
jne 0x404ba5
cmp ebx, 0x7d
jge 0x404ba5
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x19
jge 0x404ba5
push 3
push 0x5b
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404ba5
mov eax, dword [esi + edi*4 + 0x194]
mov cl, byte [eax + 0x80]
test cl, cl
jne 0x404b8d
mov edx, dword [esi + ebp*4 + 0x194]
mov ebx, dword [eax + 0x10]
cmp ebx, dword [edx + 0x10]
jl 0x405a52
cmp cl, 1
jne 0x404ba5
mov ecx, dword [esi + ebp*4 + 0x194]
mov edx, dword [eax + 0x10]
cmp edx, dword [ecx + 0x10]
jg 0x405a52
push 0x32
push 0x5c
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404c05
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x98], eax
jne 0x404c05
cmp dword [ecx + 0x308], 0xc8
jle 0x404c05
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xc8
jle 0x404c05
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x32
jg 0x4043fe
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 0xb
jne 0x404dae
cmp dword [ecx + 0x308], 0x96
jle 0x404cc0
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x118
jge 0x404cc0
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x1e
jge 0x404cc0
push 0xa
push 0x5d
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404cc0
mov edx, dword [esi + edi*4 + 0x194]
mov bl, byte [edx + 0x80]
test bl, bl
jne 0x404c92
mov ecx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
cmp ecx, eax
jg 0x404caa
cmp bl, 1
jne 0x404cc0
mov ecx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
cmp ecx, eax
jge 0x404cc0
jle 0x404cb1
mov byte [edx + 0xd7], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
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 + 0x7d0], 0x122
jne 0x404d0c
mov ecx, dword [esi + ebp*4 + 0x194]
cmp dword [ecx + 0x14], 0
jge 0x404d0c
mov edx, dword [esi + edi*4 + 0x194]
mov byte [edx + 0xcb], 0
mov eax, dword [esi + edi*4 + 0x194]
mov byte [eax + 0xd2], 1
push 5
push 0x5e
call fcn.00417190
add esp, 8
test eax, eax
je 0x404d2e
mov eax, dword [esp + 0x28]
cmp eax, 0x10
je 0x404d2e
cmp eax, 8
jne 0x404dae
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esi + ecx*4 + 0x194]
mov ebp, dword [esi + edi*4 + 0x194]
mov edx, dword [ebx + 0x10]
fld qword [ebp + 0x40]
mov dword [esp + 0x20], edx
call fcn.004451c0
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x20]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x404dae
mov eax, dword [ebx + 0x18]
mov ecx, ebp
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x404dae
cmp dword [ecx + 0x308], 0xc8
jle 0x404dae
mov al, byte [ecx + 0x80]
test al, al
jne 0x404d9d
mov edx, dword [esp + 0x20]
cmp dword [ecx + 0x10], edx
jl 0x4060ee
cmp al, 1
jne 0x404dae
mov eax, dword [esp + 0x20]
cmp dword [ecx + 0x10], eax
jg 0x4060ee
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0xa
jne 0x405143
cmp dword [ecx + 0x308], 0x64
mov ebp, dword [esp + 0x1c]
jle 0x404e6a
mov edx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x118
jge 0x404e6a
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x19
jge 0x404e6a
push 0xa
push 0x5f
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404e6a
mov edx, dword [esi + edi*4 + 0x194]
mov bl, byte [edx + 0x80]
test bl, bl
jne 0x404e3c
mov ecx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
cmp ecx, eax
jg 0x404e54
cmp bl, 1
jne 0x404e6a
mov ecx, dword [esi + ebp*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ecx, dword [ecx + 0x10]
cmp ecx, eax
jge 0x404e6a
jle 0x404e5b
mov byte [edx + 0xd7], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x70], 0x10f
jne 0x404ea6
mov edx, dword [esi + ebp*4 + 0x194]
cmp dword [edx + 0x14], 0
jge 0x404ea6
mov ebx, dword [esp + 0x28]
cmp ebx, 0xc
jne 0x404eaa
pop edi
pop ebp
pop ebx
mov byte [eax + 0xd6], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ebx, dword [esp + 0x28]
push 0xa
push 0x60
call fcn.00417190
add esp, 8
test eax, eax
je 0x404ec4
cmp ebx, 0x10
je 0x404ec4
cmp ebx, 8
jne 0x404f38
mov eax, dword [esp + 0x1c]
mov ebx, dword [esi + eax*4 + 0x194]
mov ebp, dword [esi + edi*4 + 0x194]
mov ecx, dword [ebx + 0x10]
fld qword [ebp + 0x40]
mov dword [esp + 0x20], ecx
call fcn.004451c0
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x20]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x50
jge 0x404f38
mov edx, dword [ebx + 0x18]
mov ecx, ebp
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x404f38
mov al, byte [ecx + 0x80]
test al, al
jne 0x404f27
mov edx, dword [esp + 0x20]
cmp dword [ecx + 0x10], edx
jl 0x4060ee
cmp al, 1
jne 0x404f38
mov eax, dword [esp + 0x20]
cmp dword [ecx + 0x10], eax
jg 0x4060ee
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0xc8
jle 0x404fd9
mov ebx, dword [esp + 0x1c]
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jle 0x404fd9
cmp eax, 0x118
jge 0x404fd9
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x41
jge 0x404fd9
push 0xf
push 0x61
call fcn.00417190
add esp, 8
test eax, eax
je 0x4053e7
push 4
push 0x62
call fcn.00417190
add esp, 8
test eax, eax
jne 0x404fd9
mov eax, dword [esp + 0x28]
cmp eax, 0x10
je 0x4053e7
cmp eax, 8
je 0x4053e7
cmp eax, 0xc
jne 0x404fd9
mov eax, dword [esi + ebx*4 + 0x194]
cmp dword [eax + 0x14], 0xffffffd8
jl 0x4053e7
mov eax, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x2fc]
cmp eax, 0xfa
jge 0x4050f9
mov ecx, dword [esp + 0x1c]
mov edx, dword [esi + ecx*4 + 0x194]
mov ecx, dword [edx + 0x2fc]
add ecx, 0x32
cmp eax, ecx
jge 0x4050f9
push 0x14
push 0x63
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4050f9
mov ebx, dword [esi + edi*4 + 0x194]
cmp dword [ebx + 0x308], 0x4b
jle 0x4050f9
lea edx, [esi + 0x194]
mov dword [esp + 0x20], 0xffffffff
xor ebp, ebp
mov dword [esp + 0x2c], edx
lea esp, [esp]
cmp ebp, edi
je 0x4050c4
cmp byte [esi + ebp + 4], 0
je 0x4050c4
mov eax, dword [esp + 0x2c]
mov edx, dword [eax]
mov ecx, dword [edx + 0x368]
cmp dword [ecx + 0x6f8], 0
jne 0x4050c4
mov eax, dword [edx + 0x364]
cmp eax, dword [ebx + 0x364]
jne 0x4050c4
mov ecx, dword [esp + 0x1c]
mov eax, dword [esi + ecx*4 + 0x194]
mov ecx, dword [edx + 0x2fc]
cmp ecx, dword [eax + 0x2fc]
jle 0x4050c4
mov eax, dword [edx + 0x18]
sub eax, dword [ebx + 0x18]
push eax
call fcn.00403270
mov edx, dword [edx + 0x10]
sub edx, dword [ebx + 0x10]
mov ecx, eax
push edx
call fcn.00403270
add ecx, eax
add esp, 8
cmp ecx, dword [esp + 0x20]
jle 0x4050c4
mov dword [esp + 0x14], ebp
mov dword [esp + 0x20], ecx
add dword [esp + 0x2c], 4
add ebp, 1
cmp ebp, 0x190
jl 0x405050
cmp dword [esp + 0x14], 0xffffffff
je 0x4050f9
cmp dword [esp + 0x20], 0x12c
jle 0x4050f9
cmp dword [ebx + 0x98], 0
jne 0x4050f9
mov byte [ebx + 0xdb], 3
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + eax*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x2fc]
cmp eax, dword [ecx + 0x2fc]
jle 0x405143
push 0x46
push 0x64
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405143
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0x1f4
jle 0x405143
mov byte [eax + 0xda], 3
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 9
jne 0x405316
push 0xa
push 0x65
call fcn.00417190
add esp, 8
test eax, eax
je 0x40517f
mov eax, dword [esp + 0x28]
cmp eax, 0x10
je 0x40517f
cmp eax, 8
jne 0x405208
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + ebx*4 + 0x194]
mov ebp, dword [esi + edi*4 + 0x194]
mov eax, dword [eax + 0x10]
fld qword [ebp + 0x40]
mov dword [esp + 0x20], eax
call fcn.004451c0
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x20]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x78
jge 0x40520c
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x18]
mov ecx, ebp
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x40520c
mov al, byte [ecx + 0x80]
test al, al
jne 0x4051e5
mov edx, dword [esp + 0x20]
cmp dword [ecx + 0x10], edx
jl 0x4051f2
cmp al, 1
jne 0x40520c
mov eax, dword [esp + 0x20]
cmp dword [ecx + 0x10], eax
jle 0x40520c
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd7], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
cmp eax, 0x12
je 0x40527c
cmp eax, 0xe
je 0x40527c
cmp eax, 0xc
je 0x40527c
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0xc8
jle 0x40527c
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x4b
jle 0x40527c
cmp eax, 0x172
jge 0x40527c
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jge 0x40527c
push 0xd
push 0x66
call fcn.00417190
add esp, 8
test eax, eax
je 0x4053e7
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x2fc]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, 0x28
push eax
push 0x67
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4052d3
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x96
jle 0x4052d3
cmp eax, 0x190
jl 0x4053e7
cmp dword [esp + 0x30], 0x2710
jge 0x40531a
push 0x1e
push 0x68
call fcn.00417190
add esp, 8
test eax, eax
jne 0x40531a
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0x96
jle 0x40531a
pop edi
pop ebp
pop ebx
mov byte [eax + 0xd6], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x368]
cmp dword [eax + 0x6f4], 0x20
mov ebp, dword [esp + 0x28]
jne 0x4054a1
cmp ebp, 0x12
je 0x405394
cmp ebp, 0xe
je 0x405394
cmp ebp, 0xc
je 0x405394
cmp dword [ecx + 0x308], 0xc8
jle 0x405394
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x10e
jge 0x405394
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jge 0x405394
push 0x3c
push 0x69
call fcn.00417190
add esp, 8
test eax, eax
je 0x4053e7
mov eax, dword [esi + ebx*4 + 0x194]
mov eax, dword [eax + 0x2fc]
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, 0x28
push eax
push 0x6a
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405417
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x96
jle 0x405417
cmp eax, 0x190
jge 0x405417
mov ecx, dword [esi + ebx*4 + 0x194]
mov edi, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x10]
cmp edx, dword [edi + 0x10]
jle 0x406182
mov byte [edi + 0xd8], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + ebx*4 + 0x194]
mov edx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x10]
sub eax, dword [edx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x96
jge 0x4054a1
mov ecx, dword [ecx + 0x18]
sub ecx, dword [edx + 0x18]
push ecx
call fcn.00403270
add esp, 4
cmp eax, 0x28
jge 0x4054a1
push 0xf
push 0x6b
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4054a1
mov edx, dword [esi + ebx*4 + 0x194]
mov edi, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
cmp eax, dword [edi + 0x10]
jle 0x40548b
mov byte [edi + 0xd4], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov byte [edi + 0xd5], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0x21
jne 0x405559
push 5
push 0x6c
call fcn.00417190
add esp, 8
test eax, eax
je 0x4054d9
cmp ebp, 0x10
je 0x4054d9
cmp ebp, 8
jne 0x405559
mov eax, dword [esp + 0x1c]
mov ebx, dword [esi + eax*4 + 0x194]
mov ebp, dword [esi + edi*4 + 0x194]
mov ecx, dword [ebx + 0x10]
fld qword [ebp + 0x40]
mov dword [esp + 0x20], ecx
call fcn.004451c0
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x20]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x3c
jge 0x405559
mov edx, dword [ebx + 0x18]
mov ecx, ebp
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x405559
cmp dword [ecx + 0x308], 0x96
jle 0x405559
mov al, byte [ecx + 0x80]
test al, al
jne 0x405548
mov edx, dword [esp + 0x20]
cmp dword [ecx + 0x10], edx
jl 0x4060ee
cmp al, 1
jne 0x405559
mov eax, dword [esp + 0x20]
cmp dword [ecx + 0x10], eax
jg 0x4060ee
mov ebp, dword [esi + edi*4 + 0x194]
mov ecx, dword [ebp + 0x368]
cmp dword [ecx + 0x6f4], 0x22
jne 0x40576e
push 0xa
push 0x6d
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4055ff
mov ebx, dword [esi + edi*4 + 0x194]
cmp dword [ebx + 0x308], 0x15e
jle 0x4055ff
mov eax, ebx
mov edx, dword [eax + 0x300]
sub edx, 0x46
cmp dword [eax + 0x2fc], edx
jge 0x4055b5
cmp dword [ebx + 0x2fc], 0x8c
jl 0x4055e9
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x300]
lea edx, [eax + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp dword [ecx + 0x2fc], eax
jge 0x4055ff
cmp dword [ebx + 0x2fc], 0x8c
jl 0x4055ff
pop edi
pop ebp
mov byte [ebx + 0xdb], 3
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ebp, dword [esi + edi*4 + 0x194]
cmp dword [ebp + 0x98], 0
je 0x405619
cmp dword [ebp + 0x70], 9
jge 0x40576e
mov eax, dword [ebp + 0x300]
mov ecx, dword [ebp + 0x2fc]
lea edx, [eax - 0x46]
cmp ecx, edx
jge 0x405638
cmp ecx, 0x8c
jl 0x40576e
lea edx, [eax + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jge 0x40565b
cmp ecx, 0x8c
jge 0x40576e
cmp dword [esp + 0x34], 0
jne 0x40576e
lea ecx, [esi + 0x194]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], ecx
jmp 0x405680
cmp dword [esp + 0x2c], edi
je 0x405755
mov edx, dword [esp + 0x2c]
cmp byte [edx + esi + 4], 0
je 0x405755
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x364]
test eax, eax
je 0x405755
cmp eax, dword [ebp + 0x364]
jne 0x405755
mov edx, dword [ecx + 0x10]
sub edx, dword [ebp + 0x10]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xfa
mov dword [esp + 0x20], eax
jge 0x405755
mov eax, dword [ecx + 0x18]
sub eax, dword [ebp + 0x18]
push eax
call fcn.00403270
mov ebx, eax
add esp, 4
cmp ebx, 0x3c
jge 0x405755
cmp dword [ebp + 0x308], 0x15e
jle 0x405755
mov eax, dword [ecx + 0x300]
mov ecx, dword [ecx + 0x2fc]
lea edx, [eax - 0x5a]
cmp ecx, edx
jge 0x405714
cmp ecx, 0x8c
jl 0x405733
lea edx, [eax + eax*2]
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jge 0x405755
cmp ecx, 0x8c
jl 0x405755
test ecx, ecx
jle 0x405755
mov ecx, dword [esp + 0x20]
mov eax, 0x55555556
imul dword [esp + 0x30]
mov eax, edx
shr eax, 0x1f
add ebx, ecx
add eax, edx
cmp ebx, eax
jl 0x405885
mov eax, dword [esp + 0x2c]
add dword [esp + 0x34], 4
add eax, 1
cmp eax, 0x14
mov dword [esp + 0x2c], eax
jl 0x405680
mov edx, dword [ebp + 0x368]
cmp dword [edx + 0x6f4], 0x32
jne 0x40591c
push 7
push 0x6e
call fcn.00417190
mov ebx, dword [esp + 0x24]
add esp, 8
test eax, eax
jne 0x405810
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x1f4
jge 0x405810
cmp eax, 0x5a
jle 0x405810
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 4
jge 0x405810
cmp dword [ecx + 0x308], 0x96
jle 0x405810
mov edx, dword [edx + 0x70]
cmp edx, 0x107
je 0x4057fb
cmp edx, 0x108
jne 0x405e7c
mov byte [ecx + 0xca], 0
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xd1], 1
push 7
push 0x6f
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405920
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x405920
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x405920
cmp dword [ecx + 0x308], 0x4b
jle 0x405920
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd7], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esp + 0x2c]
mov edx, dword [esi + ecx*4 + 0x194]
mov eax, dword [edx + 0x10]
cmp eax, dword [ebp + 0x10]
jle 0x4058af
mov byte [ebp + 0xd0], 1
mov ecx, dword [esi + edi*4 + 0x194]
mov byte [ecx + 0xcf], 0
jmp 0x4058c4
mov byte [ebp + 0xd0], 0
mov edx, dword [esi + edi*4 + 0x194]
mov byte [edx + 0xcf], 1
mov eax, dword [esp + 0x2c]
mov ecx, dword [esi + eax*4 + 0x194]
mov edi, dword [esi + edi*4 + 0x194]
mov eax, dword [ecx + 0x10]
mov ecx, dword [edi + 0x10]
cmp eax, ecx
jle 0x4058eb
cmp byte [edi + 0x80], 0
je 0x405906
cmp eax, ecx
jge 0x4058f6
cmp byte [edi + 0x80], 1
je 0x405906
sub eax, ecx
push eax
call fcn.00403270
add esp, 4
cmp eax, 5
jge 0x40590d
mov byte [edi + 0xda], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ebx, dword [esp + 0x1c]
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x23
jne 0x405996
push 7
push 0x70
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405996
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x28a
jge 0x405996
cmp eax, 0x28
jle 0x405996
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 4
jge 0x405996
cmp dword [ecx + 0x308], 0x78
jg 0x405e7c
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x24
jne 0x405ac9
cmp dword [eax + 0x308], 0xc8
jle 0x405a68
push 5
push 0x71
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405a68
xor ecx, ecx
lea ebx, [esi + 0x194]
lea esp, [esp]
cmp byte [esi + ecx + 4], 1
jne 0x405a31
mov eax, dword [ebx]
mov edx, dword [eax + 0x368]
cmp dword [edx + 0x6f8], 0
jne 0x405a31
mov edx, dword [esi + edi*4 + 0x194]
mov ebp, dword [eax + 0x364]
cmp ebp, dword [edx + 0x364]
jne 0x405a31
mov edx, dword [eax + 0x300]
mov eax, dword [eax + 0x2fc]
lea ebp, [edx - 0xc8]
cmp eax, ebp
jl 0x405a4b
cmp eax, 0xc8
jge 0x405a31
add edx, 0xffffff9c
cmp eax, edx
jl 0x405a4b
add ecx, 1
add ebx, 4
cmp ecx, 0x64
jl 0x4059e0
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [eax + 0xda], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
cmp dword [ecx + 0x308], 0x104
jle 0x405ac9
push 0xa
push 0x72
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405ac9
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x28a
jge 0x405ac9
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xf0
jl 0x4060ee
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x26
jne 0x405c2a
cmp dword [eax + 0x308], 0x96
jle 0x405b64
push 5
push 0x73
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405b64
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xfa
jge 0x405b64
cmp eax, 0x82
jle 0x405b64
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xa
jge 0x405b64
cmp dword [esp + 0x20], ebp
jle 0x405f0e
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd8], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
mov ebp, 0xc8
cmp dword [eax + 0x308], ebp
jle 0x405bcc
push 0xa
push 0x74
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405bcc
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xa
jge 0x405bcc
mov edx, dword [edx + 0x10]
cmp edx, dword [ecx + 0x10]
jle 0x405e98
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd4], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], ebp
jle 0x405c2a
push 0xa
push 0x75
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405c2a
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, ebp
jg 0x405e02
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xfa
jl 0x405e02
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x27
jne 0x405d1a
cmp dword [eax + 0x308], 0x64
jle 0x405cb8
push 3
push 0x76
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405cb8
mov eax, dword [esi + ebx*4 + 0x194]
mov ebp, dword [eax + 0x10]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x10]
mov eax, ebp
sub eax, edx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x78
jge 0x405cb8
mov al, byte [ecx + 0x80]
test al, al
jne 0x405c91
cmp edx, ebp
jl 0x405c99
cmp al, 1
jne 0x405cb8
cmp edx, ebp
jle 0x405cb8
mov eax, dword [esi + ebx*4 + 0x194]
mov edx, dword [eax + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xa
jl 0x40586f
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0x64
jle 0x405d1a
push 7
push 0x77
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405d1a
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xfa
jge 0x405d1a
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xa
jl 0x405e7c
mov eax, dword [esi + edi*4 + 0x194]
mov ecx, dword [eax + 0x368]
cmp dword [ecx + 0x6f4], 0x34
jne 0x405fcf
cmp dword [esp + 0x28], 3
jne 0x405da0
cmp dword [eax + 0x308], 0x7d
jle 0x405da0
push 0xa
push 0x78
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405da0
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x78
jge 0x405da0
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xa
jge 0x405da0
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xdc], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0x7d
jle 0x405e18
push 5
push 0x7b
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405e18
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x405e18
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x1e
jge 0x405e18
cmp dword [esp + 0x20], ebp
jle 0x405e09
mov byte [ecx + 0xda], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0x7d
jle 0x405eae
push 0xe
push 0x7c
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405eae
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
mov ebp, dword [ecx + 0x10]
mov dword [esp + 0x20], eax
sub eax, ebp
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x2bc
jge 0x405eae
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x96
jge 0x405eae
cmp dword [esp + 0x20], ebp
jle 0x405e98
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd4], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd5], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], 0x7d
jle 0x405f24
push 5
push 0x7d
call fcn.00417190
add esp, 8
test eax, eax
jne 0x405f24
mov ebx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ebx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0x14
jge 0x405f24
mov eax, dword [ebx + 0x10]
cmp eax, dword [ecx + 0x10]
jle 0x405f0e
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd8], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd9], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
push 5
push 0x7e
call fcn.00417190
add esp, 8
test eax, eax
je 0x405f46
mov eax, dword [esp + 0x28]
cmp eax, 0x10
je 0x405f46
cmp eax, 8
jne 0x405fcf
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esi + ecx*4 + 0x194]
mov ebp, dword [esi + edi*4 + 0x194]
mov edx, dword [ebx + 0x10]
fld qword [ebp + 0x40]
mov dword [esp + 0x20], edx
call fcn.004451c0
sub eax, dword [ebp + 0x10]
add eax, dword [esp + 0x20]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x64
jge 0x405fcf
mov eax, dword [ebx + 0x18]
sub eax, dword [ebp + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 7
jge 0x405fcf
cmp dword [ebp + 0x308], 0x64
jge 0x405fcf
mov al, byte [ebp + 0x80]
test al, al
jne 0x405fac
mov ecx, dword [ebp + 0x10]
cmp ecx, dword [esp + 0x20]
jl 0x405fb9
cmp al, 1
jne 0x405fcf
mov eax, dword [ebp + 0x10]
cmp eax, dword [esp + 0x20]
jle 0x405fcf
pop edi
mov byte [ebp + 0xd6], 3
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ecx, dword [esi + edi*4 + 0x194]
mov edx, dword [ecx + 0x368]
cmp dword [edx + 0x6f4], 0x33
jne 0x406198
mov eax, dword [ecx + 0x70]
cmp eax, 0x109
jle 0x40604c
cmp eax, 0x118
jge 0x40604c
mov ebx, dword [esp + 0x1c]
mov edx, dword [esi + ebx*4 + 0x194]
mov eax, dword [edx + 0x18]
sub eax, dword [ecx + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xd
jg 0x406028
mov edx, dword [edx + 0x368]
cmp dword [edx + 0x6f8], 0
je 0x406050
mov byte [ecx + 0xcc], 0
mov eax, dword [esi + edi*4 + 0x194]
pop edi
pop ebp
pop ebx
mov byte [eax + 0xd3], 1
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov ebx, dword [esp + 0x1c]
mov ebp, 0x12c
cmp dword [ecx + 0x308], ebp
jle 0x4060a8
push 0xa
push 0x7f
call fcn.00417190
add esp, 8
test eax, eax
jne 0x4060a8
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, ebp
jge 0x4060a8
mov edx, dword [edx + 0x18]
sub edx, dword [ecx + 0x18]
push edx
call fcn.00403270
add esp, 4
cmp eax, 0xc8
jl 0x405e02
mov eax, dword [esi + edi*4 + 0x194]
cmp dword [eax + 0x308], ebp
jle 0x406104
push 0xa
push 0x80
call fcn.00417190
add esp, 8
test eax, eax
jne 0x406104
mov edx, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + edi*4 + 0x194]
mov eax, dword [edx + 0x10]
sub eax, dword [ecx + 0x10]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x3b6
jge 0x406104
pop edi
pop ebp
pop ebx
mov byte [ecx + 0xd6], 3
mov eax, 1
pop esi
add esp, 8
ret 0x1c
push 5
push 0x81
call fcn.00417190
add esp, 8
test eax, eax
jne 0x406198
mov edi, dword [esi + edi*4 + 0x194]
cmp dword [edi + 0x308], 0xfa
jle 0x406198
mov esi, dword [esi + ebx*4 + 0x194]
mov ecx, dword [esi + 0x10]
mov edx, dword [edi + 0x10]
mov eax, ecx
sub eax, edx
push eax
call fcn.00403270
add esp, 4
cmp eax, 0x4b0
jge 0x406198
cmp eax, 0x28
jle 0x406198
mov eax, dword [esi + 0x18]
sub eax, dword [edi + 0x18]
push eax
call fcn.00403270
add esp, 4
cmp eax, 0xd
jge 0x406198
cmp ecx, edx
jle 0x406182
mov byte [edi + 0xd8], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
mov byte [edi + 0xd9], 3
pop edi
pop ebp
pop ebx
mov eax, 1
pop esi
add esp, 8
ret 0x1c
pop edi
pop ebp
pop ebx
xor eax, eax
pop esi
add esp, 8
ret 0x1c