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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, ecx
push edi
or ebx, 0xffffffff
mov eax, dword [esi + 4]
xor edi, edi
xor ebp, ebp
mov dword [esp + 0x1c], edi
mov ecx, dword [eax + 0x78]
mov dword [esp + 0x10], ebp
cmp ecx, ebx
je 0x418488
mov eax, dword [eax + 0xc]
push ecx
mov ecx, dword [eax + 0x8c]
call fcn.00604cb0
mov ebp, eax
cmp ebp, edi
mov dword [esp + 0x10], ebp
je 0x418488
push edi
mov ecx, ebp
call fcn.00474f00
test eax, eax
je 0x418480
cmp dword [ebp + 0xf4], 1
jne 0x418488
mov dword [esp + 0x1c], 1
mov eax, dword [esi + 0x34]
mov dword [esp + 0x14], edi
cmp eax, ebx
jle 0x4184a9
mov ecx, dword [esi + 4]
push eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [edx + 0x8c]
call fcn.00603f70
mov dword [esp + 0x14], eax
mov edi, dword [esp + 0x44]
mov eax, dword [edi + 8]
add eax, 0xfffffe0c
cmp eax, 0xc7
ja case.0x4184c8.510
xor ecx, ecx
mov cl, byte [eax + 0x4191dc]
jmp dword [ecx*4 + 0x4191b0]
mov ecx, dword [esi + 0xa0]
xor eax, eax
test ecx, ecx
jle 0x4184fb
mov edx, dword [esi + 0xa8]
cmp eax, edx
jge 0x4184fb
mov ebx, dword [esi + 0x9c]
mov ebx, dword [ebx + eax*4]
cmp ebx, dword [edi]
je 0x418604
inc eax
cmp eax, ecx
jl 0x4184e1
mov dword [esp + 0x18], 0
mov edx, dword [esi]
push edi
mov ecx, esi
call dword [edx + 0x1c]
push edi
mov ecx, esi
call fcn.00413e70
mov eax, dword [esi + 4]
mov ebx, dword [edi]
push 0
push 0
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push ebx
push 0x201
mov edx, dword [ecx]
push eax
push eax
call dword [edx + 0x124]
mov ecx, dword [esi + 0xa0]
mov ebx, dword [edi]
xor eax, eax
mov dword [esp + 0x44], ebx
test ecx, ecx
jle 0x418567
mov edx, dword [esi + 0xa8]
cmp eax, edx
jge 0x418567
mov ebp, dword [esi + 0x9c]
cmp dword [ebp + eax*4], ebx
je 0x418611
mov ebp, dword [esp + 0x10]
inc eax
cmp eax, ecx
jl 0x41854a
mov edx, dword [esi + 0xa8]
lea eax, [edx - 1]
cmp ecx, eax
jle 0x4185e6
lea eax, [ecx + 1]
cmp eax, edx
jl 0x418582
lea ebx, [edx + 0x20]
cmp ebx, eax
jg 0x418584
mov ebx, eax
lea ecx, [ebx*4]
push ecx
call fcn.0061317d
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4185de
mov ecx, dword [esi + 0xa8]
xor eax, eax
test ecx, ecx
jle 0x4185c3
cmp eax, ebx
jge 0x4185c3
mov edx, dword [esi + 0x9c]
inc eax
mov ecx, dword [edx + eax*4 - 4]
mov dword [ebp + eax*4 - 4], ecx
mov ecx, dword [esi + 0xa8]
cmp eax, ecx
jl 0x4185a6
mov edx, dword [esi + 0x9c]
push edx
call fcn.00613172
add esp, 4
mov dword [esi + 0x9c], ebp
mov dword [esi + 0xa8], ebx
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x10]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x9c]
mov dword [ecx + eax*4], ebx
mov eax, dword [esi + 0xa0]
inc eax
mov dword [esi + 0xa0], eax
jmp 0x418615
mov dword [esp + 0x18], 1
jmp 0x418503
mov ebp, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push 1
mov edx, dword [ecx]
call dword [edx + 0x108]
mov eax, dword [edi + 0x10]
test eax, eax
jg 0x418663
mov eax, dword [esi + 4]
mov edi, dword [edi]
push 0
push 0
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push edi
push 0x209
mov edx, dword [ecx]
push eax
push eax
call dword [edx + 0x124]
mov eax, dword [esp + 0x48]
mov ecx, esi
push eax
call fcn.0041a140
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [edi]
push ecx
mov ecx, esi
call fcn.0041a1d0
mov ebx, eax
test ebx, ebx
mov dword [esp + 0x44], ebx
je case.0x4184c8.501
mov edx, dword [esi + 4]
mov ecx, dword [edx + 0xc]
mov edx, dword [ebx + 0xc]
mov edx, dword [edx + 0x9c]
mov eax, dword [ecx]
push edx
call dword [eax + 0x1c]
cmp eax, 1
je case.0x4184c8.501
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x4186c9
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
call fcn.005d5880
test eax, eax
jne 0x4186c9
mov eax, dword [edi]
mov ecx, dword [esi + 0x34]
cmp ecx, eax
je 0x4186c9
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x4186c9
push eax
mov ecx, esi
call fcn.00417c20
cmp dword [esi + 0x30], 0x258
jne 0x4186df
mov ecx, dword [esi + 0x34]
mov eax, dword [edi]
cmp ecx, eax
je case.0x4184c8.501
mov eax, dword [esi + 0x28]
cmp eax, 0xffffffff
je 0x418701
cmp eax, 0x2c7
je 0x418701
mov edx, dword [esi + 4]
mov ecx, dword [edx + 0xc]
call fcn.005d5880
test eax, eax
je case.0x4184c8.501
test ebp, ebp
je 0x418725
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
call fcn.005d5880
test eax, eax
jne 0x418725
push 1
mov ecx, ebp
call fcn.00474f00
test eax, eax
je case.0x4184c8.501
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0xc]
call fcn.005d5880
cmp eax, 1
jne 0x41874f
cmp dword [esi + 0x28], 0x2c1
jne 0x41874f
mov edx, dword [ebx + 0xc]
mov eax, dword [edx + 0x9c]
test eax, eax
jne case.0x4184c8.501
mov eax, dword [edi]
or ebx, 0xffffffff
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x18c]
cmp eax, ebx
jne 0x4187c6
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x418783
mov eax, dword [ecx]
push 0
push 1
lea edx, [esp + 0x28]
push 1
push edx
push 0
push 0
push 0
lea edx, [esp + 0x44]
jmp 0x41879d
mov ecx, dword [esi + 4]
push 0
push 1
lea edx, [esp + 0x28]
mov eax, dword [ecx]
push 1
push edx
push 0
push 0
push 0
lea edx, [esp + 0x50]
push edx
call dword [eax + 0x23c]
mov edx, dword [eax]
sub esp, 0xc
mov ecx, esp
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [ecx + 4], edx
mov dword [ecx + 8], eax
mov ecx, esi
call fcn.00414100
mov dword [esi + 0x18c], eax
mov eax, dword [esi + 0x18c]
cmp eax, ebx
jne 0x41881a
cmp dword [esi + 0x34], ebx
jne 0x41881a
cmp dword [esi + 0x28], ebx
jne 0x41881a
cmp dword [esi + 0x30], ebx
jne 0x41881a
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 0x118]
fcomp dword [0x6364d4]
fnstsw ax
test ah, 1
jne case.0x4184c8.501
mov eax, dword [esi]
push ebx
push 1
mov ecx, esi
call dword [eax + 0xa0]
dec eax
neg eax
sbb eax, eax
add eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp eax, dword [edi]
jne case.0x4184c8.501
mov ecx, dword [esi + 4]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
mov ebp, dword [ecx]
push 0
call dword [ebp + 0x128]
push ecx
mov ecx, dword [edi]
fstp dword [esp]
push ecx
mov ecx, dword [esi + 4]
call dword [ebp + 0x1bc]
mov ebp, dword [esp + 0x14]
mov dword [esp + 0x18], eax
test ebp, ebp
jne 0x418887
cmp eax, 1
jne 0x418861
cmp dword [esi + 0x28], 0x2c7
jne 0x4188cb
jmp 0x4188c4
cmp dword [esi + 0x30], 0x262
je 0x418878
mov edx, dword [esi]
push 0xffffffffffffffff
push 1
mov ecx, esi
call dword [edx + 0xa0]
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
test eax, eax
je case.0x4184c8.501
mov eax, dword [ebp + 8]
mov ebx, 0x34
mov ax, word [eax + 0x16]
cmp ax, 3
je 0x4188ac
cmp ax, 0x1b
je 0x4188ac
cmp ax, bx
jne 0x4188f6
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0xc]
call fcn.005d5880
test eax, eax
jne 0x4188f6
cmp dword [esi + 0x28], 0x2c7
jne 0x4188cb
mov ecx, esi
call fcn.0041a260
mov eax, dword [edi]
mov edx, dword [esi]
push 1
push eax
mov ecx, esi
call dword [edx + 0x58]
cmp eax, 1
jne 0x4188e7
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.00413400
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0xc]
call fcn.005d5880
cmp eax, 1
jne case.0x4184c8.501
mov eax, dword [ebp + 8]
cmp word [eax + 0x10], 0x114
je case.0x4184c8.501
cmp word [eax + 0x16], bx
jne 0x418930
mov edx, dword [esp + 0x44]
mov eax, dword [edx + 8]
cmp word [eax + 0x16], bx
je case.0x4184c8.501
mov ecx, dword [esp + 0x44]
mov eax, dword [ecx + 8]
cmp byte [eax + 4], 0x3c
je case.0x4184c8.501
cmp word [eax + 0x16], bx
jne 0x418967
mov edx, dword [esi + 4]
mov eax, dword [edx + 8]
mov ax, word [eax + 0x16]
cmp ax, 0xd
je 0x418967
cmp ax, 0x36
je 0x418967
cmp ax, 0x16
jne case.0x4184c8.501
mov ecx, ebp
call fcn.00539bc0
test eax, eax
je 0x418995
mov ecx, ebp
call fcn.00539bc0
mov ecx, dword [esi + 4]
mov edx, dword [eax]
push 1
mov ecx, dword [ecx + 4]
push ecx
mov ecx, eax
call dword [edx + 0xc0]
test eax, eax
mov byte [esp + 0x48], 1
jne 0x41899a
mov byte [esp + 0x48], 0
mov edx, dword [ebp]
mov ecx, ebp
call dword [edx + 0x124]
fcomp dword [0x634594]
fnstsw ax
test ah, 0x40
jne 0x4189cb
mov ecx, dword [esi + 4]
push ebp
mov eax, dword [ecx]
call dword [eax + 0x120]
fcomp dword [0x634594]
fnstsw ax
test ah, 0x40
je 0x418a06
mov al, byte [esp + 0x48]
test al, al
jne 0x418a06
cmp dword [esp + 0x18], 1
jne 0x418a06
cmp dword [esi + 0x28], 0x2c7
jne 0x4189ea
mov ecx, esi
call fcn.0041a260
mov eax, dword [edi]
mov edx, dword [esi]
push 1
push eax
mov ecx, esi
call dword [edx + 0x58]
cmp eax, 1
jne 0x418a06
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.00413400
mov eax, dword [esi + 4]
mov edx, dword [ebp]
push eax
mov ecx, ebp
call dword [edx + 0x120]
fcom dword [0x634594]
fnstsw ax
test ah, 0x41
jne 0x418a2f
fld dword [ebp + 0x30]
fdiv st(1)
fstp dword [esp + 0x1c]
fstp st(0)
jmp 0x418a39
fstp st(0)
mov dword [esp + 0x1c], 0x46c35000
mov ebx, dword [esp + 0x44]
mov ecx, ebx
call fcn.00539bc0
test eax, eax
je 0x418a6a
mov ecx, ebx
call fcn.00539bc0
mov ecx, dword [esi + 4]
mov edx, dword [eax]
push 1
mov ecx, dword [ecx + 4]
push ecx
mov ecx, eax
call dword [edx + 0xc0]
test eax, eax
je 0x418a6a
mov bl, 1
jmp 0x418a6c
xor bl, bl
mov ebp, dword [esp + 0x44]
mov eax, dword [esi + 4]
push eax
mov ecx, ebp
mov edx, dword [ebp]
call dword [edx + 0x120]
fcom dword [0x634594]
fnstsw ax
test ah, 0x41
jne 0x418a91
fdivr dword [ebp + 0x30]
jmp 0x418a99
fstp st(0)
fld dword [0x6364e8]
mov al, byte [esp + 0x48]
test al, al
jne 0x41919c
fcomp dword [esp + 0x1c]
fnstsw ax
test ah, 1
jne 0x418ab8
test bl, bl
je case.0x4184c8.501
cmp dword [esp + 0x18], 1
jne case.0x4184c8.501
cmp dword [esi + 0x28], 0x2c7
jne 0x418ad3
mov ecx, esi
call fcn.0041a260
mov eax, dword [edi]
mov edx, dword [esi]
push 1
push eax
mov ecx, esi
call dword [edx + 0x58]
cmp eax, 1
jne case.0x4184c8.501
push 0
push 0xffffffffffffffff
mov ecx, esi
call fcn.00413400
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov eax, dword [esi + 0x28]
cmp eax, ebx
jne 0x418b15
test ebp, ebp
je 0x418b2a
cmp dword [ebp + 0x33c], ebx
je 0x418b2a
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x38]
mov dword [esi + 0x16c], edx
mov ecx, dword [ecx + 0x3c]
mov dword [esi + 0x170], ecx
cmp eax, 0x2bc
mov edx, 0x258
jne 0x418b83
cmp dword [edi + 0xc], edx
jne 0x418b83
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0xdc]
cmp eax, 6
jne 0x418b5b
mov eax, 0xd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp eax, 5
jne case.0x4184c8.501
mov ecx, esi
call fcn.004176f0
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0x54]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp eax, ebx
je 0x418b9c
mov ecx, dword [esi + 0x30]
mov ebp, dword [edi + 0xc]
cmp ecx, ebp
jne 0x418b98
add ecx, 0x64
cmp ecx, eax
je 0x418be3
cmp eax, ebx
jne 0x418ba6
mov ecx, dword [esi + 0x30]
mov ebp, dword [edi + 0xc]
cmp ecx, ebp
je 0x418be3
cmp eax, 0x2d4
mov ecx, 0x262
jne 0x418bb7
cmp dword [edi + 0xc], ecx
je 0x418b64
cmp eax, 0x2bd
jne 0x418bda
cmp dword [edi + 0xc], ecx
jne 0x418bda
push ebx
mov ecx, esi
call fcn.00413460
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp dword [edi + 0xc], edx
jne case.0x4184c8.501
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x54]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp dword [esi + 0x28], 0x2da
jne 0x418c29
mov eax, dword [esi + 4]
push 0
push 0
push 0
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push 0x211
push eax
mov edx, dword [ecx]
push eax
call dword [edx + 0x124]
mov eax, dword [esi + 0x28]
cmp eax, ebx
jne 0x418c3c
test ebp, ebp
je 0x418c51
cmp dword [ebp + 0x33c], ebx
je 0x418c51
mov ecx, dword [esi + 4]
mov edx, dword [ecx + 0x38]
mov dword [esi + 0x16c], edx
mov ecx, dword [ecx + 0x3c]
mov dword [esi + 0x170], ecx
cmp eax, 0x2bc
mov edx, 0x258
je 0x418c66
cmp dword [esi + 0x30], edx
jne 0x418cf6
cmp dword [edi + 0xc], edx
jne 0x418cf6
mov edx, dword [esi]
push 0
mov ecx, esi
call dword [edx + 0xdc]
cmp eax, 5
jne 0x418cde
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0xc]
call fcn.005d5880
test eax, eax
je 0x418be3
fld dword [esi + 0x48]
fadd dword [0x635270]
mov edx, dword [esi + 0x40]
push 0
mov eax, dword [esi]
push 1
push ecx
mov ecx, dword [esi + 0x44]
fstp dword [esp]
push ecx
mov ecx, dword [esi + 0x3c]
push edx
push ecx
mov ecx, esi
call dword [eax + 0x8c]
test eax, eax
je 0x418be3
push 1
push ebx
mov ecx, esi
call fcn.00413400
mov dword [esi + 0x2c], ebx
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp eax, 6
jne case.0x4184c8.501
mov eax, 0xd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp eax, ebx
je 0x418d2f
mov ecx, dword [esi + 0x30]
add ecx, 0x64
cmp ecx, eax
jne 0x418d2b
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x54]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x1c]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp eax, ebx
jne 0x418d39
mov ecx, dword [esi + 0x30]
mov ebp, dword [edi + 0xc]
cmp ecx, ebp
je case.0x4184c8.510
cmp eax, 0x2d4
mov ecx, 0x262
jne 0x418e14
cmp dword [edi + 0xc], ecx
jne 0x418e14
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 0
jmp 0x418d0f
mov eax, dword [esi + 0x28]
mov edx, 0x258
cmp eax, 0x2bc
jne 0x418dcf
cmp dword [edi + 0xc], edx
jne 0x418dcf
mov eax, dword [esi]
push 0
mov ecx, esi
call dword [eax + 0xdc]
cmp eax, 5
jne case.0x4184c8.501
mov ecx, dword [esi + 4]
mov ecx, dword [ecx + 0xc]
call fcn.005d5880
test eax, eax
je 0x418be3
fld dword [esi + 0x48]
fadd dword [0x635270]
mov edx, dword [esi + 0x40]
push 0
mov eax, dword [esi]
push 1
push ecx
mov ecx, dword [esi + 0x44]
fstp dword [esp]
push ecx
mov ecx, dword [esi + 0x3c]
push edx
push ecx
mov ecx, esi
call dword [eax + 0x8c]
test eax, eax
jne 0x418cc2
jmp 0x418be3
cmp eax, ebx
je 0x418de5
mov ecx, dword [esi + 0x30]
add ecx, 0x64
cmp ecx, eax
je case.0x4184c8.510
cmp eax, ebx
jne 0x418df3
mov ecx, dword [esi + 0x30]
mov ebp, dword [edi + 0xc]
cmp ecx, ebp
je case.0x4184c8.510
cmp eax, 0x2d4
mov ecx, 0x262
jne 0x418e14
cmp dword [edi + 0xc], ecx
jne 0x418e14
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 0
jmp 0x418d0f
cmp eax, 0x2bd
jne 0x418bda
cmp dword [edi + 0xc], ecx
jne 0x418bda
jmp 0x418bc3
mov ebp, dword [esi + 0x30]
cmp ebp, 0x25d
je 0x418ebc
cmp ebp, 0x26f
je 0x418ebc
cmp ebp, 0x276
je 0x418ebc
cmp ebp, 0x261
jne case.0x4184c8.501
mov ebp, dword [esi + 0x38]
cmp ebp, 0xffffffff
jne 0x418e63
mov ebp, dword [esi + 0x5c]
mov eax, dword [esi]
push ebp
mov ecx, esi
call dword [eax + 0xbc]
mov edx, dword [esi]
cmp eax, 0xffffffff
push 0
push 0xffffffffffffffff
je 0x418e85
mov ecx, dword [edi + 0x14]
push ecx
push eax
mov ecx, esi
call dword [edx + 0x40]
jmp 0x418e91
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push ebp
mov ecx, esi
call dword [edx + 0x3c]
cmp eax, 0xffffffff
je 0x418f86
mov edx, dword [esi]
push 1
push eax
mov ecx, esi
call dword [edx + 0x64]
cmp eax, 1
jne 0x418f86
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov eax, dword [esi]
lea ecx, [esp + 0x48]
push 1
lea edx, [esp + 0x48]
push ecx
push edx
mov ecx, esi
call dword [eax + 0x44]
cmp eax, 1
jne 0x418f4a
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
mov ecx, esi
call fcn.00416080
mov eax, dword [esi + 0x40]
mov edx, dword [esi + 0x3c]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
push 1
mov dword [esp + 0x20], edx
mov edx, dword [esi]
push eax
push ecx
mov ecx, esi
call dword [edx + 0x7c]
test eax, eax
jne 0x418f22
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x54]
mov eax, dword [esi]
push edi
mov ecx, esi
call dword [eax + 0x1c]
cmp ebp, 0x276
mov dword [esi + 0x30], ebp
jne 0x418f3b
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [esi + 0x3c], ecx
mov dword [esi + 0x40], edx
mov eax, 3
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
cmp dword [esi + 0x28], 0x2da
jne 0x418f86
mov eax, dword [esi + 4]
push 0
push 0
push 0
mov ecx, dword [eax + 0xc]
mov eax, dword [eax + 4]
push 0x211
push eax
mov edx, dword [ecx]
push eax
call dword [edx + 0x124]
mov eax, dword [esi + 4]
mov ecx, dword [eax + 0x38]
mov dword [esi + 0x16c], ecx
mov edx, dword [eax + 0x3c]
mov dword [esi + 0x170], edx
mov ecx, esi
call fcn.004176f0
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x54]
mov edx, dword [esi]
push edi
mov ecx, esi
call dword [edx + 0x1c]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [esi + 4]
mov eax, dword [ecx]
call dword [eax + 0x1b4]
mov ecx, esi
call fcn.004176f0
mov edx, dword [esi]
push 1
mov ecx, esi
call dword [edx + 0x54]
mov eax, dword [esp + 0x48]
mov ecx, esi
push eax
call fcn.0041a140
mov dword [esi + 0x10], 0
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [esi + 4]
mov edx, dword [ecx]
call dword [edx + 0x1b4]
mov ecx, esi
call fcn.004176f0
mov eax, dword [esi]
push 1
mov ecx, esi
call dword [eax + 0x54]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [esi + 0xa0]
mov ebx, dword [edi]
xor eax, eax
test ecx, ecx
jle 0x419040
mov edx, dword [esi + 0xa8]
cmp eax, edx
jge 0x419040
mov edi, dword [esi + 0x9c]
cmp dword [edi + eax*4], ebx
je 0x4190d3
inc eax
cmp eax, ecx
jl 0x419028
mov edx, dword [esi + 0xa8]
lea eax, [edx - 1]
cmp ecx, eax
jle 0x4190b7
lea eax, [ecx + 1]
cmp eax, edx
jl 0x41905b
lea edi, [edx + 0x20]
cmp edi, eax
jg 0x41905d
mov edi, eax
lea ecx, [edi*4]
push ecx
call fcn.0061317d
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x4190b7
mov ecx, dword [esi + 0xa8]
xor eax, eax
test ecx, ecx
jle 0x41909c
cmp eax, edi
jge 0x41909c
mov edx, dword [esi + 0x9c]
inc eax
mov ecx, dword [edx + eax*4 - 4]
mov dword [ebp + eax*4 - 4], ecx
mov ecx, dword [esi + 0xa8]
cmp eax, ecx
jl 0x41907f
mov edx, dword [esi + 0x9c]
push edx
call fcn.00613172
add esp, 4
mov dword [esi + 0x9c], ebp
mov dword [esi + 0xa8], edi
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0x9c]
mov dword [ecx + eax*4], ebx
mov eax, dword [esi + 0xa0]
inc eax
mov dword [esi + 0xa0], eax
mov esi, dword [esi + 4]
push 1
mov ecx, esi
mov edx, dword [esi]
call dword [edx + 0x108]
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [esi + 0xa0]
xor eax, eax
test ecx, ecx
jle case.0x4184c8.501
mov edx, dword [esi + 0xa8]
cmp eax, edx
jge case.0x4184c8.501
mov ebx, dword [esi + 0x9c]
mov ebp, dword [edi]
mov ebx, dword [ebx + eax*4]
cmp ebx, ebp
je 0x419132
inc eax
cmp eax, ecx
jl 0x419107
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
mov ecx, dword [esi + 0xa8]
mov edi, dword [edi]
xor eax, eax
test ecx, ecx
jle 0x419152
mov edx, dword [esi + 0x9c]
cmp dword [edx], edi
je 0x419152
inc eax
add edx, 4
cmp eax, ecx
jl 0x419146
cmp eax, ecx
jge case.0x4184c8.501
dec ecx
cmp eax, ecx
jge 0x419174
mov ecx, dword [esi + 0x9c]
inc eax
mov edx, dword [ecx + eax*4]
mov dword [ecx + eax*4 - 4], edx
mov ecx, dword [esi + 0xa8]
dec ecx
cmp eax, ecx
jl 0x41915b
mov eax, dword [esi + 0xa0]
dec eax
mov dword [esi + 0xa0], eax
jns case.0x4184c8.501
mov dword [esi + 0xa0], 0
mov eax, 2
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret 8
fstp st(0)
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret 8