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

Disassembly:
push 0xffffffffffffffff
push 0x4d46ed
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xb0
mov eax, dword [0x50cc40]
xor eax, dword [esp + 0xbc]
push ebx
push esi
mov esi, ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esi + 0x1108]
xor ebx, ebx
cmp eax, ebx
push edi
je 0x4302db
mov ecx, dword [esi + 0x21c]
push ebx
call fcn.00418e00
cmp dword [esi + 0x10a0], ebx
mov dword [esi + 0x1108], ebx
je 0x4303f8
mov eax, dword [esi + 0xd0]
cmp eax, ebx
je 0x43136f
mov ecx, dword [esi + 0x1f8]
push ebx
push 0x50366c
mov edi, eax
call fcn.00417ee0
cmp edi, eax
jne 0x43035e
fld dword [edi + 0xf0]
fcomp dword [0x4f911c]
fnstsw ax
test ah, 0x44
jp 0x43136f
cmp dword [edi + 0x10], ebx
mov dword [edi + 0x100], ebx
jne 0x430349
mov eax, dword [esi + 0xd0]
mov dword [eax + 0xf0], 0xc1200000
jmp 0x43136f
mov ecx, dword [esi + 0xd0]
mov dword [ecx + 0xf0], 0x41200000
jmp 0x43136f
mov ecx, dword [esi + 0x1f8]
mov edi, dword [esi + 0xd0]
push ebx
push 0x503688
call fcn.00417ee0
cmp edi, eax
push ebx
jne 0x4303ba
push 3
mov ecx, edi
call fcn.00419230
mov esi, dword [esi + 0xd0]
mov edx, dword [esi + 0x10]
mov eax, dword [eax + 0x1c]
mov ecx, 1
cmp edx, ecx
jne 0x4303a9
mov dword [esi + 0x10], ebx
mov edx, dword [eax + 4]
mov dword [edx + 0x1034], ebx
jmp 0x43136f
mov dword [esi + 0x10], ecx
mov eax, dword [eax + 4]
mov dword [eax + 0x1034], ecx
jmp 0x43136f
mov ecx, dword [esi + 0x1f8]
mov edi, dword [esi + 0xd0]
push str.mo_gear
call fcn.00417ee0
cmp edi, eax
jne 0x4303ed
mov ecx, edi
call fcn.00417200
mov edx, dword [eax + 0x10]
xor ecx, ecx
cmp edx, ebx
sete cl
mov dword [eax + 0x10], ecx
jmp 0x43136f
mov dword [esi + 0xd8], ebx
jmp 0x43136f
mov ecx, dword [esi + 0xcc]
cmp ecx, ebx
mov dword [esi + 0x1024], ebx
mov dword [esi + 0x1034], ebx
je 0x43041d
push 0xffffffffffffffff
call fcn.00417230
test eax, eax
jne 0x43136f
mov edx, dword [esi + 0xc8]
mov dword [esi + 0xd4], ebx
mov eax, dword [edx + 4]
cmp dword [eax + 8], ebx
push ebp
jne 0x430696
mov ecx, dword [esi + 0xcc]
cmp ecx, ebx
je 0x431320
push 6
call fcn.00417230
xor ebx, ebx
cmp eax, ebx
je 0x430477
mov ecx, dword [esi + 0xcc]
push eax
mov dword [esi + 0x230], ecx
push ecx
mov ecx, esi
mov dword [esi + 0x22c], eax
call fcn.0042eca0
mov dword [esi + 0x1014], ebx
jmp 0x431320
cmp dword [esi + 0xff8], ebx
mov ebp, 1
jne 0x430490
mov ecx, dword [esi + 0x168]
mov dword [ecx + 0xf8], ebp
xor edi, edi
test edi, edi
jne 0x430511
test ebx, ebx
jne 0x4304aa
mov edx, dword [esi + 0xcc]
push ebx
push ebx
push 0xfe
push edx
jmp 0x430508
cmp ebx, ebp
jne 0x4304f3
mov eax, dword [esi + 0xcc]
add eax, 0x24
push 0x5036a0
push eax
call fcn.00403640
add esp, 8
test eax, eax
je 0x4304e1
mov ecx, dword [esi + 0xcc]
push 0x3cf5c28f
push 0x3e2e147b
push 0xff
push ecx
jmp 0x430508
mov edx, dword [esi + 0xcc]
push 0
push 0
push 0xff
push edx
jmp 0x430508
cmp ebx, 2
jne 0x430511
mov eax, dword [esi + 0xcc]
push 0
push 0
push 0xfd
push eax
mov ecx, esi
call fcn.004288b0
mov edi, eax
inc ebx
cmp ebx, 3
jl 0x430492
test edi, edi
je 0x4305f8
mov eax, dword [edi + 0x3c]
test eax, eax
je 0x4305f8
mov eax, dword [edi + 0x4c]
test eax, eax
jne 0x4305f8
mov ecx, dword [esi + 0xcc]
push edi
push ecx
mov ecx, esi
call fcn.0042ff00
test eax, eax
je 0x431320
mov edx, dword [edi + 0x44]
mov cl, byte [edx + 0x10]
xor eax, eax
cmp cl, 0xfe
jne 0x43056e
mov ecx, dword [esi + 0x1fc]
push eax
push 0x5036b0
call fcn.00417ee0
mov ecx, dword [edi + 0x44]
cmp byte [ecx + 0x10], 0xff
jne 0x430589
mov ecx, dword [esi + 0x1fc]
push 0
push 0x5036c8
call fcn.00417ee0
mov edx, dword [edi + 0x44]
cmp byte [edx + 0x10], 0xfd
jne 0x4305a4
mov ecx, dword [esi + 0x1fc]
push 0
push 0x5036d8
call fcn.00417ee0
mov ecx, dword [esi + 0x1fc]
push ecx
push eax
mov ecx, esi
call fcn.0042eca0
mov edi, eax
lea edx, [edi + 0x24]
push 0x5036e8
push edx
call fcn.00403640
add esp, 8
test eax, eax
je 0x4305ed
push 0
push 0
mov ecx, edi
call fcn.00417e50
mov ecx, eax
call fcn.00418e00
push 0
push ebp
mov ecx, edi
call fcn.00417e50
mov ecx, eax
call fcn.00418e00
mov dword [esi + 0x1010], ebp
jmp 0x431320
mov eax, dword [esi + 0x22c]
cmp eax, dword [esi + 0x1fc]
je 0x431320
mov ecx, dword [esi + 0x168]
cmp eax, dword [ecx + 0x20]
je 0x431320
mov eax, dword [esi + 0xcc]
mov ecx, dword [eax + 0x18c]
test ecx, ecx
jne 0x431320
push eax
mov ecx, esi
call fcn.004253b0
mov edx, dword [esi + 0xac]
mov edi, dword [esi + 0xc8]
add edx, 0x88
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [edi + 0x88]
call fcn.00402bb0
mov ecx, dword [eax]
add edi, 0x94
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xcc]
push ecx
mov ecx, esi
call fcn.004256d0
mov edx, dword [esi + 0xd0]
mov eax, dword [esi + 0xcc]
push edx
push eax
mov ecx, esi
call fcn.00428e50
jmp 0x431320
mov ecx, dword [esi + 0x21c]
push ebx
call fcn.00418e00
mov eax, dword [esi + 0x22c]
cmp eax, dword [esi + 0x1fc]
je 0x430ae3
mov ecx, dword [esi + 0x168]
cmp eax, dword [ecx + 0x20]
je 0x430ae3
mov edx, dword [esi + 0xcc]
mov ecx, dword [esi + 0xc8]
push edx
call fcn.00417eb0
test eax, eax
jne 0x430a1c
mov ecx, dword [esi + 0xcc]
cmp ecx, ebx
je 0x4309b6
cmp dword [ecx + 0x18c], ebx
jne 0x4309b6
push 6
call fcn.00417230
mov edi, eax
cmp edi, ebx
jne 0x430978
cmp dword [esi + 0x1038], ebx
je 0x430788
mov eax, dword [esi + 0xc8]
mov ecx, dword [eax + 4]
mov eax, dword [ecx]
cmp eax, ebx
je 0x430ad2
or edi, 0xffffffff
jmp 0x430730
mov ecx, dword [esi + 0xcc]
cmp dword [ecx + 0x194], ebx
mov edx, dword [eax + 8]
je 0x430747
mov dword [ecx + 0x194], ebx
mov ecx, dword [esi + 0xcc]
mov dword [edx + 0x180], ecx
mov edx, dword [esi + 0xcc]
mov dword [edx + 0x180], ebx
mov ecx, dword [esi + 0xcc]
mov dword [ecx + 0x184], edi
mov dword [esi + 0x1038], ebx
mov eax, dword [eax]
cmp eax, ebx
jne 0x430730
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd8], eax
jmp 0x431320
mov edx, dword [esi]
mov ecx, dword [edx + 0x48]
mov eax, dword [ecx]
push 0x1d
call dword [eax + 0x14]
test eax, eax
jne 0x43086c
mov ecx, esi
call fcn.0042a050
mov ecx, dword [esi + 0x168]
call fcn.004387f0
mov ecx, dword [esi + 0xcc]
push ecx
mov ecx, esi
call fcn.004253b0
mov edx, dword [esi + 0xac]
mov edi, dword [esi + 0xc8]
add edx, 0x88
push edx
lea eax, [esp + 0x18]
push eax
lea ecx, [edi + 0x88]
call fcn.00402bb0
mov ecx, dword [eax]
add edi, 0x94
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc8]
lea ecx, [eax + 0x94]
mov edx, dword [ecx]
add eax, 0xc4
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0xac]
add edx, 0x88
mov ecx, dword [edx]
lea eax, [esi + 0x1040]
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xcc]
push eax
mov ecx, esi
call fcn.004256d0
mov ecx, dword [esi + 0xd0]
mov edx, dword [esi + 0xcc]
push ecx
push edx
mov ecx, esi
call fcn.00428e50
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd8], eax
jmp 0x431320
mov ecx, dword [esi]
mov edi, dword [esi + 0xcc]
mov eax, dword [esi + 0xc8]
mov edx, dword [ecx + 0x288]
mov ecx, dword [edx + 8]
push edi
push eax
call fcn.00419830
mov dword [edi + 0xfc], 1
mov eax, dword [esi + 0xc8]
add eax, 0x88
push eax
lea ecx, [esp + 0x18]
push ecx
lea ecx, [edi + 0x88]
call fcn.00402bb0
mov ecx, dword [eax]
lea edx, [edi + 0x94]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov dword [edx + 8], eax
mov ecx, dword [esi + 0xc8]
mov ebx, dword [esi + 0x168]
call fcn.00418b00
sub dword [ebx + 0x24], eax
mov ecx, dword [esi + 0xac]
add ecx, 0x88
mov dword [esi + 0xd8], edi
mov edi, dword [esi + 0xc8]
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [edi + 0x88]
call fcn.00402bb0
mov ecx, dword [eax]
add edi, 0x94
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov ecx, dword [esi + 0xc8]
call fcn.00417130
mov ecx, dword [esi + 0xac]
add ecx, 0x88
mov eax, dword [ecx]
lea edx, [esi + 0x1040]
mov dword [edx], eax
mov eax, dword [ecx + 4]
mov dword [edx + 4], eax
mov ecx, dword [ecx + 8]
mov eax, dword [esi + 0xc8]
mov dword [edx + 8], ecx
lea edx, [eax + 0x94]
mov ecx, dword [edx]
add eax, 0xc4
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd8], eax
jmp 0x431320
mov ecx, esi
call fcn.0042a050
mov ecx, dword [esi + 0x168]
call fcn.004387f0
mov eax, dword [esi + 0xcc]
push edi
push eax
mov ecx, esi
mov dword [esi + 0x22c], edi
mov dword [esi + 0x230], eax
call fcn.0042eca0
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd8], eax
jmp 0x431320
mov eax, dword [esi]
mov ecx, dword [eax + 0x48]
mov edx, dword [ecx]
push 0x1d
call dword [edx + 0x14]
test eax, eax
jne 0x430a05
mov ecx, esi
mov dword [esi + 0x22c], ebx
mov dword [esi + 0x230], ebx
call fcn.0042a050
mov ecx, dword [esi + 0x168]
call fcn.004387f0
mov eax, dword [esi + 0xc8]
lea ecx, [eax + 0x94]
mov edx, dword [ecx]
add eax, 0xc4
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov eax, dword [esi + 0xcc]
mov dword [esi + 0x1038], ebx
mov dword [esi + 0xd8], eax
jmp 0x431320
mov edx, dword [esi]
mov ecx, dword [edx + 0x48]
mov eax, dword [ecx]
push 0x1d
call dword [eax + 0x14]
test eax, eax
jne 0x430a91
mov ecx, dword [esi + 0xac]
mov edi, dword [esi + 0xc8]
add ecx, 0x88
push ecx
lea edx, [esp + 0x34]
push edx
lea ecx, [edi + 0x88]
call fcn.00402bb0
mov ecx, dword [eax]
add edi, 0x94
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov eax, dword [eax + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc8]
lea ecx, [eax + 0x94]
mov edx, dword [ecx]
add eax, 0xc4
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov ecx, dword [ecx + 8]
mov dword [eax + 8], ecx
mov edx, dword [esi + 0xc8]
jmp 0x43081c
mov eax, dword [esi + 0xcc]
mov ecx, dword [esi + 0x168]
mov edx, dword [ecx + 0x1c]
push eax
mov eax, dword [esi]
mov ecx, dword [eax + 0x288]
mov ecx, dword [ecx + 8]
push edx
call fcn.00419830
mov edx, dword [esi + 0xcc]
mov dword [edx + 0xfc], ebx
mov ecx, dword [esi + 0xc8]
mov edi, dword [esi + 0x168]
call fcn.00418b00
sub dword [edi + 0x24], eax
mov eax, dword [esi + 0xcc]
mov dword [esi + 0xd8], eax
jmp 0x431320
mov eax, dword [esp + 0xd0]
mov edi, 1
cmp eax, edi
jne 0x430c1c
mov ecx, dword [esi + 0xc8]
mov edx, dword [ecx + 4]
cmp dword [edx + 8], edi
jne 0x431320
mov eax, dword [esi + 0x2e0]
xor edi, edi
cmp eax, edi
je 0x430b44
cmp dword [esi + 0xff8], edi
je 0x430b37
cmp dword [esi + 0x1010], edi
je 0x430b37
mov eax, dword [esi + 0x230]
mov ecx, dword [esi + 0x168]
push eax
call fcn.0043e7a0
mov ecx, esi
call fcn.0042a430
mov dword [esi + 0x1108], edi
mov ecx, dword [esi + 0x168]
mov edx, dword [esi + 0x22c]
cmp edx, dword [ecx + 0x20]
jne 0x430beb
mov eax, dword [esi + 0x230]
add eax, 0x24
push 0x503700
push eax
call fcn.004c4d20
add esp, 8
test eax, eax
je 0x430beb
mov eax, dword [esi + 0x1014]
cmp eax, edi
je 0x430bf7
mov ecx, dword [eax + 4]
cmp dword [ecx + 8], 1
jbe 0x430bf7
mov eax, dword [esi + 0x230]
mov ecx, dword [eax + 0x78]
cmp ecx, 1
jne 0x430be7
mov ecx, dword [esi + 0x168]
mov edx, dword [ecx + 0x20]
push eax
push edx
call fcn.0043a510
mov eax, dword [esi + 0x1014]
mov ecx, dword [esi + 0xc8]
push eax
push ecx
mov ecx, dword [esi + 0x168]
call fcn.0043a510
mov ecx, esi
call fcn.00429410
mov ecx, dword [esi + 0x168]
mov dword [esi + 0x22c], edi
mov dword [esi + 0x230], edi
call fcn.0043d1e0
mov dword [esi + 0x230], edi
jmp 0x431320
dec ecx
mov dword [eax + 0x78], ecx
mov ecx, esi
call fcn.00429410
jmp 0x431320
mov edx, dword [esi + 0xc8]
mov ecx, dword [esi + 0x168]
push eax
push edx
call fcn.0043a510
mov ecx, esi
call fcn.00429410
mov dword [esi + 0x1014], edi
jmp 0x431320
mov ecx, dword [esi + 0x208]
push 0x40a00000
push ebx
call fcn.00418090
mov ecx, dword [esi]
mov edx, dword [ecx + 0x288]
mov ecx, dword [edx + 8]
push eax
mov eax, dword [esi + 0xc8]
push eax
call fcn.004196b0
test eax, eax
jne 0x43135e
mov eax, dword [esi + 0x220]
mov ecx, dword [esi + 0xc8]
mov edx, dword [esi]
push 0x40a00000
push eax
mov eax, dword [edx + 0x288]
push ecx
mov ecx, dword [eax + 8]
call fcn.00419740
test eax, eax
jne 0x43135e
cmp dword [esi + 0xff8], ebx
jne 0x430c8c
mov ecx, dword [esi + 0x168]
mov dword [ecx + 0xf8], edi
mov ecx, dword [esi + 0xc8]
push ebx
call fcn.00417e50
mov ecx, esi
mov dword [esp + 0x10], eax
call fcn.00425370
test eax, eax
je 0x431320
mov edx, dword [esi + 0x168]
mov eax, dword [edx + 0x1c]
cmp eax, dword [esi + 0x22c]
mov dword [esp + 0x20], eax
je 0x431320
mov eax, dword [esi + 0x230]
push eax
mov ecx, esi
call fcn.00428db0
mov edi, eax
cmp edi, 0xffffffff
je 0x430d1e
mov eax, dword [esi + 0xcc]
test eax, eax
je 0x430d1e
mov ecx, dword [esi + 0x230]
push ecx
mov ecx, esi
call fcn.00428db0
mov edx, dword [esi + 0xcc]
push 0
push 0
push eax
push edx
mov ecx, esi
call fcn.004288b0
test eax, eax
je 0x430d1e
mov ecx, dword [eax + 0x4c]
test ecx, ecx
jne 0x430d1e
push eax
mov eax, dword [esi + 0xcc]
push eax
mov ecx, esi
call fcn.0042ff00
mov eax, dword [esp + 0x10]
test eax, eax
je 0x431320
cmp edi, 0xffffffff
je 0x430d3e
mov ecx, esi
call fcn.00425310
test eax, eax
je 0x431320
mov ecx, esi
call fcn.00425310
test eax, eax
je 0x430d73
call fcn.00425310
test eax, eax
je 0x431320
mov ecx, dword [esp + 0x10]
add ecx, 0x24
push 0x503708
push ecx
call fcn.00403640
add esp, 8
test eax, eax
jne 0x431320
mov ecx, dword [esi + 0x168]
call fcn.0043cd80
mov ecx, dword [esi + 0x168]
push 1
push 0x503714
mov dword [esi + 0x118c], eax
call fcn.0043cd20
mov ecx, dword [esi + 0x168]
push 1
push 0x503720
mov ebp, eax
call fcn.0043cd20
mov edi, dword [esp + 0x10]
add edi, 0x24
push 0x50372c
push edi
mov ebx, eax
call fcn.00403640
add esp, 8
test eax, eax
je 0x430de4
push 0x503738
push edi
call fcn.00403640
add esp, 8
test eax, eax
je 0x431320
cmp ebx, 0x14
jge 0x431320
cmp dword [esi + 0x118c], 0x32
jl 0x430e62
mov edx, dword [esi + 0x168]
mov eax, dword [esi + 0x22c]
cmp eax, dword [edx + 0x20]
je 0x430e62
lea ecx, [esi + 0xe8]
push 0x503744
push ecx
call fcn.004c4d20
add esp, 8
test eax, eax
jne 0x430e62
push 0x50374c
push edi
call fcn.00403640
add esp, 8
test eax, eax
je 0x430e2d
cmp ebp, 0x14
jl 0x430e62
push str.no_more_elements
lea ecx, [esi + 0x170]
call fcn.00423010
push eax
lea edx, [esp + 0x40]
push edx
call fcn.004c3d8c
mov ecx, dword [esi + 0x2a0]
add esp, 8
push 1
lea eax, [esp + 0x40]
push eax
call fcn.00410af0
jmp 0x431320
mov ecx, dword [esi + 0x168]
push 0
push edi
call fcn.0043cd20
mov ecx, dword [esi + 0x1fc]
push 0
push edi
mov ebp, eax
call fcn.00417ee0
mov ebx, dword [eax + 0x78]
cmp ebp, ebx
jl 0x430eeb
mov ecx, dword [esi + 0x168]
mov edx, dword [esi + 0x22c]
cmp edx, dword [ecx + 0x20]
je 0x430eeb
lea eax, [esi + 0xe8]
push 0x503758
push eax
call fcn.004c4d20
add esp, 8
test eax, eax
jne 0x430eeb
push str.elements_are_the_maximum
lea ecx, [esi + 0x170]
call fcn.00423010
push eax
push ebx
lea ecx, [esp + 0x44]
push str._d__s
push ecx
call fcn.004c3d8c
mov ecx, dword [esi + 0x2a0]
add esp, 0x10
push 1
lea edx, [esp + 0x40]
push edx
call fcn.00410af0
jmp 0x431320
mov eax, dword [esi + 0x1014]
test eax, eax
mov ebp, 1
je 0x430f17
mov eax, dword [eax + 0x80]
lea ecx, [eax + 0x10]
call fcn.00425020
fcomp dword [0x4d741c]
fnstsw ax
test ah, 1
jne 0x430f17
xor ebp, ebp
mov eax, dword [esi + 0x1008]
cmp eax, dword [esi + 0x1000]
jne 0x431320
test ebp, ebp
je 0x431320
push 0x503760
push edi
call fcn.00403640
add esp, 8
test eax, eax
je 0x430f8c
mov ecx, esi
call fcn.00425310
test eax, eax
jne 0x430f8c
mov ecx, dword [esi]
mov edx, dword [ecx + 0x288]
mov ecx, dword [edx + 0xc]
push 0x503770
call fcn.004194d0
mov ebp, eax
mov eax, dword [esi + 0xac]
add eax, 0x88
mov edx, dword [eax]
lea ecx, [ebp + 0x88]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [esp + 0x10], ebp
mov dword [ecx + 8], eax
jmp 0x430f90
mov ebp, dword [esp + 0x10]
mov ecx, esi
call fcn.00425310
test eax, eax
je 0x430fa5
mov dword [esi + 0x1014], 0
mov ecx, dword [esi + 0x1014]
test ecx, ecx
jne 0x430fbe
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x288]
mov edx, dword [ecx + 8]
push edx
push ebp
jmp 0x430fda
mov eax, dword [esi]
mov edx, dword [eax + 0x288]
mov eax, dword [edx + 8]
push eax
push 0
call fcn.00417e50
mov ecx, dword [esi]
mov ecx, dword [ecx + 0x288]
push eax
call fcn.00419920
mov ecx, esi
mov edi, eax
call fcn.00425310
test eax, eax
jne 0x43114f
lea ebx, [ebp + 0x24]
push 0x50377c
push ebx
call fcn.00403640
add esp, 8
test eax, eax
jne 0x43114f
push 0x503788
push ebx
call fcn.00403640
add esp, 8
test eax, eax
je 0x43114f
mov eax, dword [esi + 0x1014]
test eax, eax
jne 0x43121a
push 0x1b4
mov dword [esi + 0x1014], edi
call fcn.004c3f1a
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0xc8], 0
je 0x431073
mov edx, dword [esi + 0x1058]
mov ecx, dword [esi + 0x1014]
push edx
mov edx, dword [esi + 0x168]
push ecx
push edx
mov ecx, eax
call fcn.00424c50
mov ebp, eax
jmp 0x431075
xor ebp, ebp
push 0
mov ecx, edi
mov dword [esp + 0xcc], 0xffffffff
mov dword [edi + 0x80], ebp
call fcn.00417e50
mov ebx, dword [esp + 0x10]
push 1
mov dword [eax + 0x10], 0
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x1c]
push ecx
add ebx, 0x88
add ebp, 0x10
push ebx
mov ecx, ebp
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
call fcn.0044e8d0
push 1
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x2c]
push eax
push ebx
mov ecx, ebp
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call fcn.0044e8d0
mov edx, dword [ebx]
mov ebp, dword [esp + 0x10]
lea ecx, [edi + 0x88]
mov dword [ecx], edx
mov eax, dword [ebx + 4]
mov dword [ecx + 4], eax
mov edx, dword [ebx + 8]
mov dword [ecx + 8], edx
mov dword [edi + 0xfc], 0
mov ebx, dword [esp + 0x20]
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x28]
mov dword [edi + 0x78], 1
mov ecx, dword [ebx + 4]
push edx
mov dword [esp + 0x28], edi
call fcn.004036b0
mov dword [edi + 0x7c], ebx
mov eax, dword [esi + 0x1014]
test eax, eax
jne 0x4311a3
lea eax, [ebp + 0x88]
mov edx, dword [eax]
lea ecx, [edi + 0x88]
mov dword [ecx], edx
mov edx, dword [eax + 4]
mov dword [ecx + 4], edx
mov eax, dword [eax + 8]
mov dword [ecx + 8], eax
mov dword [edi + 0xfc], 0
push 1
mov ecx, edi
call fcn.00418e00
push 1
mov ecx, edi
call fcn.00418e50
mov ecx, dword [esi]
mov edx, dword [ecx + 0x288]
mov ecx, dword [edx + 8]
push 0
call fcn.00419410
mov eax, dword [edi + 0x18]
mov ecx, dword [eax + 0xc]
push 1
call fcn.004033b0
mov ecx, dword [esi + 0x168]
push ebx
call fcn.0043acb0
mov ecx, dword [esi + 0x168]
mov edx, dword [esi + 0x22c]
cmp edx, dword [ecx + 0x20]
jne 0x4311fb
mov dword [edi + 0x194], 1
mov ecx, esi
call fcn.00425310
test eax, eax
je 0x4312b8
mov ecx, dword [esi + 0x168]
call fcn.0043d1e0
jmp 0x431320
mov eax, dword [eax + 0x80]
push 1
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x2c]
push edx
lea ebx, [ebp + 0x88]
push ebx
lea ecx, [eax + 0x10]
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
call fcn.0044e8d0
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x1014]
add eax, 0x88
push eax
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.00402bb0
mov ecx, dword [eax]
lea edx, [edi + 0x94]
mov dword [edx], ecx
mov ecx, dword [eax + 4]
mov dword [edx + 4], ecx
mov eax, dword [eax + 8]
mov ecx, edi
mov dword [edx + 8], eax
mov dword [edi + 0xfc], 1
call fcn.00417130
mov ebx, dword [esi + 0x1014]
jmp 0x431153
mov eax, dword [esi + 0x168]
mov ecx, dword [esi + 0x22c]
cmp ecx, dword [eax + 0x20]
jne 0x431320
mov edx, dword [esi + 0x230]
add edx, 0x24
push str.fuze
push edx
call fcn.004c4d20
add esp, 8
test eax, eax
jne 0x431320
mov eax, dword [esi + 0x230]
mov ecx, dword [eax + 0x78]
cmp ecx, 1
jne 0x43131c
mov ecx, dword [esi + 0x168]
push eax
mov eax, dword [ecx + 0x20]
push eax
call fcn.0043a510
mov ecx, dword [esi + 0xc8]
push ebp
push ecx
mov ecx, dword [esi + 0x168]
call fcn.0043a510
xor edi, edi
jmp 0x430bc5
dec ecx
mov dword [eax + 0x78], ecx
mov eax, dword [esi + 0x2e0]
test eax, eax
jne 0x43134b
mov eax, dword [esi + 0xc8]
lea edx, [eax + 0x94]
mov ecx, dword [edx]
add eax, 0xc4
mov dword [eax], ecx
mov ecx, dword [edx + 4]
mov dword [eax + 4], ecx
mov edx, dword [edx + 8]
mov dword [eax + 8], edx
mov ecx, dword [esi + 0x168]
call fcn.0043cd80
mov dword [esi + 0x118c], eax
jmp 0x43136e
push edi
mov ecx, esi
call fcn.00430290
push ebx
mov ecx, esi
call fcn.00430290
pop ebp
mov ecx, dword [esp + 0xbc]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0xb8]
xor ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebx
call fcn.004c3e15
add esp, 0xbc
ret 4