Function at 0x43402d
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x486c37
push eax
mov dword fs:[0], esp
sub esp, 0xc38
push ebx
push ebp
push esi
mov esi, ecx
push edi
xor edi, edi
mov ecx, dword [esi + 0x218]
test ecx, ecx
jle 0x43406c
mov edx, dword [esi + 0x214]
mov eax, edx
mov ebx, dword [eax]
xor ebp, ebp
mov bp, word [ebx]
mov ebx, dword [esi + 0x204]
cmp ebx, ebp
je 0x434065
inc edi
add eax, 4
cmp edi, ecx
jl 0x434045
xor eax, eax
jmp 0x434b42
or ebp, 0xffffffff
cmp edi, ebp
jne 0x434073
xor eax, eax
jmp 0x434b42
mov eax, ebx
sub eax, 0xe
je 0x4347ac
dec eax
je 0x434459
dec eax
je 0x43408f
xor eax, eax
jmp 0x434b42
mov eax, dword [esp + 0xc58]
cmp eax, 0x80
ja case.0x4347c4.8
xor ecx, ecx
mov cl, byte [eax + 0x434b80]
jmp dword [ecx*4 + 0x434b60]
push 0
push 1
push 1
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
push 0xfffffffffffffffe
push 4
push 1
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
push 0
push 8
push 1
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
push 2
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 2
call fcn.00432c00
push 0
push 0
push 0
call fcn.004061a0
mov ecx, eax
call fcn.0040b020
push 1
call fcn.004061a0
mov ecx, eax
call fcn.0040d680
push 0
mov ecx, esi
call fcn.0047ace4
push 2
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
mov dword [esi + 0x20c], 0
jmp case.0x4347c4.8
push 5
mov ecx, esi
call fcn.0047ace4
push 0
call fcn.004061a0
mov ecx, eax
call fcn.0040d680
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
lea ebx, [esi + 0xf4]
push 1
mov ecx, ebx
call fcn.00432c00
mov eax, dword [esi + 0x208]
dec eax
cmp eax, 6
ja case.0x434187.6
jmp dword [eax*4 + 0x434c04]
push 0
mov dword [esi + 0x208], 1
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
push 5
mov ecx, esi
call fcn.0047ace4
push ebp
push ebp
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
mov edx, dword [esi + 0x208]
mov ecx, ebx
push edx
call fcn.00432c00
jmp case.0x4347c4.8
mov edx, dword [esi + 0x214]
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x434207
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 4], 0
mov dword [esi + 0x208], 1
mov edx, dword [esi + 0x208]
mov ecx, ebx
push edx
call fcn.00432c00
jmp case.0x4347c4.8
lea eax, [esp + 0x630]
push eax
push 4
call fcn.00445920
mov ecx, eax
call fcn.00445c10
test eax, eax
je 0x434296
lea ecx, [esp + 0x838]
push ecx
push 5
call fcn.00445920
mov ecx, eax
call fcn.00445c10
test eax, eax
je 0x434296
lea edx, [esp + 0xa40]
push edx
push 6
call fcn.00445920
mov ecx, eax
call fcn.00445c10
test eax, eax
je 0x434296
lea eax, [esp + 0xa40]
lea ecx, [esp + 0x630]
push eax
lea edx, [esp + 0x83c]
push ecx
push edx
call fcn.004061a0
mov ecx, eax
call fcn.0040b020
push 3
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 3
call fcn.00432c00
jmp case.0x4347c4.8
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4342d3
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 4], 0
push 0
mov ecx, esi
call fcn.00434010
jmp case.0x4347c4.8
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
push 0
call fcn.004061a0
mov ecx, eax
call fcn.0040d680
lea ebx, [esi + 0xf4]
push 7
mov ecx, ebx
mov dword [esi + 0x208], 7
mov dword [esp + 0x18], ebx
call fcn.00432c00
mov edx, dword [esi + 0x214]
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x434394
push 0x690
call fcn.0047ae5b
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0xc50], 2
je 0x434355
mov ecx, eax
call fcn.00430ce0
mov ebx, eax
jmp 0x434357
xor ebx, ebx
sub esp, 0x10
mov dword [esp + 0xc60], ebp
mov edx, dword [esi + 0x50]
mov ebp, esp
xor eax, eax
xor ecx, ecx
mov dword [ebp], eax
mov eax, dword [esi + 0x54]
push esi
mov dword [ebp + 4], ecx
mov ecx, ebx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
call fcn.00430e20
mov ecx, dword [esi + 0x214]
or ebp, 0xffffffff
mov edx, dword [ecx + edi*4]
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x14]
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
push 5
mov ecx, esi
call fcn.0047ace4
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4343e6
mov edx, dword [eax + 0x1c]
push 5
push edx
call dword [0x48a59c]
mov eax, dword [esi + 0x214]
push 0
push 0
push 0x593
mov ecx, dword [eax + edi*4]
mov edx, dword [ecx + 4]
mov eax, dword [edx + 0x1c]
push eax
call dword [0x48a560]
push 4
push 0x80
mov ecx, ebx
call fcn.00433230
push 4
push 1
mov ecx, ebx
call fcn.00433230
push 4
push 8
mov ecx, ebx
call fcn.00433230
push ebp
push ebp
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
jmp case.0x4347c4.8
push 2
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 2
call fcn.00432c00
push 0
push 0
push 0
call fcn.004061a0
mov ecx, eax
call fcn.0040b020
jmp case.0x4347c4.8
mov ecx, esi
call fcn.00434fe0
jmp case.0x4347c4.8
mov eax, dword [esp + 0xc58]
cmp eax, 0x40
ja case.0x4347c4.8
xor ecx, ecx
mov cl, byte [eax + 0x434c44]
jmp dword [ecx*4 + 0x434c20]
mov dword [esi + 0x208], 1
mov edx, dword [esi + 0x214]
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 4]
test ecx, ecx
jne 0x4344f5
push 0x4f0
call fcn.0047ae5b
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0xc50], 1
je 0x4344bd
mov ecx, eax
call fcn.0042ecc0
mov ebx, eax
jmp 0x4344bf
xor ebx, ebx
sub esp, 0x10
mov dword [esp + 0xc60], ebp
mov edx, dword [esi + 0x50]
mov ebp, esp
xor eax, eax
xor ecx, ecx
mov dword [ebp], eax
mov eax, dword [esi + 0x54]
push esi
mov dword [ebp + 4], ecx
mov ecx, ebx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
call fcn.0042ef10
mov ecx, dword [esi + 0x214]
mov edx, dword [ecx + edi*4]
mov dword [edx + 4], ebx
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x434511
mov edx, dword [eax + 0x1c]
push 5
push edx
call dword [0x48a59c]
push 1
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 1
call fcn.00432c00
jmp case.0x4347c4.8
mov eax, dword [esi + 0x208]
dec eax
cmp eax, 4
ja case.default.0x43453d
jmp dword [eax*4 + 0x434c88]
push 0
mov dword [esi + 0x208], 1
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
push 5
mov ecx, esi
call fcn.0047ace4
push ebp
push ebp
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
jmp case.default.0x43453d
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
push 2
mov dword [esi + 0x208], 2
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
jmp case.default.0x43453d
mov eax, dword [edx + edi*4]
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x4345ce
mov edx, dword [ecx]
push 1
call dword [edx + 4]
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 4], 0
mov dword [esi + 0x208], 1
mov edx, dword [esi + 0x208]
lea ecx, [esi + 0xf4]
push edx
call fcn.00432c00
jmp case.0x4347c4.8
lea eax, [esp + 0x18]
push eax
push 3
call fcn.00445920
mov ecx, eax
call fcn.00445c10
test eax, eax
je 0x434617
lea ecx, [esp + 0x18]
push ecx
call fcn.004061a0
mov ecx, eax
call fcn.0040aeb0
push 0
mov dword [esi + 0x208], 3
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
jmp case.default.0x43453d
lea ebx, [esi + 0xf4]
push 6
mov ecx, ebx
mov dword [esi + 0x208], 6
call fcn.00432c00
push 4
push 8
mov ecx, ebx
call fcn.0043d2b0
push 4
push 1
mov ecx, ebx
call fcn.0043d2b0
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
test eax, eax
je case.0x4347c4.8
mov edx, dword [eax + 0x1c]
push 0
push 0
push 0x59a
push edx
call dword [0x48a560]
jmp case.0x4347c4.8
push 1
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 1
call fcn.00432c00
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
test eax, eax
je case.0x4347c4.8
mov edx, dword [eax + 0x1c]
push 0
push 0
push 0x59c
push edx
call dword [0x48a560]
jmp case.0x4347c4.8
push 1
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 1
call fcn.00432c00
lea eax, [esp + 0x220]
push eax
push 3
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov edx, dword [esi + 0x200]
lea ecx, [esp + 0x428]
push ecx
push edx
call fcn.00445920
mov ecx, eax
call fcn.00445c10
lea eax, [esp + 0x428]
push 1
lea ecx, [esp + 0x224]
push eax
push ecx
call dword [0x48a3cc]
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
mov edx, dword [esi + 0x1c]
push 5
push edx
call dword [0x48a59c]
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
test eax, eax
je case.0x4347c4.8
mov edx, dword [esi + 0x200]
mov eax, dword [eax + 0x1c]
push 0
push edx
push 0x593
push eax
call dword [0x48a560]
jmp case.0x4347c4.8
push 2
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 2
call fcn.00432c00
push 2
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
jmp case.0x4347c4.8
push edi
push 0xf
jmp 0x434b36
mov eax, dword [esp + 0xc58]
cmp eax, 0x40
ja case.0x4347c4.8
xor ecx, ecx
mov cl, byte [eax + 0x434cc0]
jmp dword [ecx*4 + 0x434c9c]
mov edx, dword [edx + edi*4]
mov eax, dword [edx + 4]
test eax, eax
jne 0x43483c
push 0x50
call fcn.0047ae5b
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
mov dword [esp + 0xc50], 0
je 0x4347fd
mov ecx, eax
call fcn.0042e7f0
mov ebx, eax
jmp 0x4347ff
xor ebx, ebx
mov dword [esp + 0xc50], ebp
mov ebp, dword [esi + 0x110]
push ebp
mov edx, dword [esi + 0x50]
sub esp, 0x10
xor eax, eax
mov ebp, esp
xor ecx, ecx
push esi
mov dword [ebp], eax
mov eax, dword [esi + 0x54]
mov dword [ebp + 4], ecx
mov ecx, ebx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], eax
call fcn.0042e8b0
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov dword [ecx + 4], ebx
mov edx, dword [esi + 0x214]
mov eax, dword [edx + edi*4]
mov eax, dword [eax + 4]
test eax, eax
je 0x434511
mov ecx, dword [eax + 0x1c]
push 5
push ecx
jmp 0x43450b
mov eax, dword [esi + 0x208]
mov edx, dword [edx + edi*4]
dec eax
mov ebx, dword [edx + 4]
cmp eax, 4
ja case.default.0x434871
jmp dword [eax*4 + 0x434d04]
push 0
mov dword [esi + 0x208], 1
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
push 5
mov ecx, esi
call fcn.0047ace4
mov eax, dword [esi + 0x214]
mov ecx, dword [eax + edi*4]
mov eax, dword [ecx + 4]
test eax, eax
je 0x4348c3
mov edx, dword [eax + 0x1c]
push 5
push edx
call dword [0x48a59c]
test ebx, ebx
je 0x4348d2
push 1
push 1
mov ecx, ebx
call fcn.0042eba0
push ebp
push ebp
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411ce0
mov eax, dword [esi + 0x208]
lea ecx, [esi + 0xf4]
push eax
call fcn.00432c00
jmp case.0x4347c4.8
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
push 2
mov dword [esi + 0x208], 2
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
mov eax, dword [esi + 0x208]
lea ecx, [esi + 0xf4]
push eax
call fcn.00432c00
jmp case.0x4347c4.8
test ebx, ebx
mov dword [esi + 0x208], 1
je case.default.0x434871
push 0
push 1
mov ecx, ebx
call fcn.0042eba0
mov eax, dword [esi + 0x208]
lea ecx, [esi + 0xf4]
push eax
call fcn.00432c00
jmp case.0x4347c4.8
mov eax, dword [esi + 0x208]
dec eax
cmp eax, 4
ja case.default.0x434972
jmp dword [eax*4 + 0x434d18]
mov dword [esi + 0x208], 1
mov eax, dword [esi + 0x208]
push eax
lea ecx, [esi + 0xf4]
call fcn.00432c00
jmp case.0x4347c4.8
lea ecx, [esp + 0x220]
push ecx
push 3
call fcn.00445920
mov ecx, eax
call fcn.00445c10
test eax, eax
je 0x4349c8
lea edx, [esp + 0x220]
push edx
call fcn.004061a0
mov ecx, eax
call fcn.0040aeb0
push 0
mov dword [esi + 0x208], 3
call fcn.004061a0
mov ecx, eax
call fcn.00411ba0
mov eax, dword [esi + 0x208]
lea ecx, [esi + 0xf4]
push eax
call fcn.00432c00
jmp case.0x4347c4.8
lea ebx, [esi + 0xf4]
push 6
mov ecx, ebx
mov dword [esi + 0x208], 6
call fcn.00432c00
push 4
push 8
mov ecx, ebx
call fcn.0043d2b0
push 4
push 1
mov ecx, ebx
call fcn.0043d2b0
mov ecx, dword [esi + 0x214]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx + 4]
test eax, eax
je case.0x4347c4.8
mov eax, dword [eax + 0x1c]
push 0
push 0
push 0x59a
push eax
call dword [0x48a560]
jmp case.0x4347c4.8
push 1
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 1
call fcn.00432c00
mov ecx, dword [esi + 0x214]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx + 4]
test eax, eax
je case.0x4347c4.8
mov eax, dword [eax + 0x1c]
push 0
push 0
push 0x59c
push eax
call dword [0x48a560]
jmp case.0x4347c4.8
push 1
lea ecx, [esi + 0xf4]
mov dword [esi + 0x208], 1
call fcn.00432c00
lea ecx, [esp + 0x18]
push ecx
push 3
call fcn.00445920
mov ecx, eax
call fcn.00445c10
mov eax, dword [esi + 0x200]
lea edx, [esp + 0x428]
push edx
push eax
call fcn.00445920
mov ecx, eax
call fcn.00445c10
lea ecx, [esp + 0x428]
push 1
lea edx, [esp + 0x1c]
push ecx
push edx
call dword [0x48a3cc]
push 0
call fcn.004061a0
mov ecx, eax
call fcn.00411c80
mov eax, dword [esi + 0x1c]
push 5
push eax
call dword [0x48a59c]
mov ecx, dword [esi + 0x214]
mov edx, dword [ecx + edi*4]
mov eax, dword [edx + 4]
test eax, eax
je case.0x4347c4.8
mov ecx, dword [esi + 0x200]
mov edx, dword [eax + 0x1c]
push 0
push ecx
push 0x593
push edx
call dword [0x48a560]
jmp case.0x4347c4.8
push edi
push 0xe
mov ecx, esi
call fcn.00434d30
mov eax, 1
mov ecx, dword [esp + 0xc48]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0xc44
ret 4