Function at 0x42fd58
Capabilities:
Create thread

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffac
push ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x18], eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x28], eax
xor eax, eax
push ebp
push 0x430b55
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [ebp - 6], 1
mov eax, dword [0x43a8e8]
mov byte [eax], 0
call fcn.0042aaac
test al, al
je 0x42fdc3
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.0042a9e0
test al, al
jne 0x42fdc3
mov edx, 0x430b70
mov eax, 0x430ba0
call fcn.0042ab48
jmp 0x430b20
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x430bb0
mov edx, 0x430bc4
call fcn.00423114
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x18]
call fcn.004164fc
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x430bd8
mov edx, 0x430bf0
call fcn.00423114
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x1c]
call fcn.004164fc
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x18]
call fcn.00406e78
mov eax, dword [ebp - 0x38]
call fcn.0041680c
mov ebx, eax
call fcn.0042c23c
cmp ebx, eax
jg 0x42fe4a
lea edx, [ebp - 0x38]
mov eax, 4
call fcn.00429f58
mov edx, dword [ebp - 0x38]
mov eax, 0x430ba0
call fcn.0042ab48
jmp 0x430b20
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430c08
call fcn.00423370
mov byte [ebp - 0x1d], al
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430c1c
call fcn.00423114
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
call fcn.00422da0
cmp dword [ebp - 0x38], 0
jne 0x42feb3
lea eax, [ebp - 0x38]
mov ecx, 0x430c2c
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov edx, 0x430c1c
call fcn.0042338c
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430c1c
call fcn.00423114
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
call fcn.00422da0
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43a954]
call fcn.00403608
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x42ff36
cmp byte [ebp - 0x1d], 0
je 0x42ff19
lea edx, [ebp - 0x38]
mov eax, dword [0x43a954]
mov eax, dword [eax]
call fcn.00406e44
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43a9c0]
mov eax, dword [eax]
mov cl, 1
call fcn.004294b0
push 0
mov edx, dword [0x43a954]
mov edx, dword [edx]
mov eax, dword [0x43a9c0]
mov eax, dword [eax]
mov cx, word [0x430c38]
call fcn.00429318
cmp byte [ebp - 0x1d], 0
je 0x42ff41
call fcn.004282f0
cmp byte [ebp - 0x1d], 0
je 0x43014d
call fcn.004282d8
test al, al
je 0x43014d
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x43014d
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430c44
call fcn.00423114
mov ecx, dword [ebp - 0x38]
mov edx, 0x430c44
mov eax, 0x430c54
call fcn.004282f8
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430c64
call fcn.00423114
mov ecx, dword [ebp - 0x38]
mov eax, 0x430c54
mov edx, 0x430c64
call fcn.004282f8
mov dl, 1
mov eax, dword [0x40bbe4]
call fcn.00402c4c
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x40bbe4]
call fcn.00402c4c
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x430146
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x38]
call fcn.0042a5b4
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
call fcn.00411c60
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x430128
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x3c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x3c]
mov ecx, 0xa
mov edx, 1
call fcn.00403a34
mov eax, dword [ebp - 0x38]
mov edx, 0x430c78
call fcn.00406790
test eax, eax
jne 0x43011c
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x40]
lea ecx, [ebp - 0x38]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
call fcn.0042a5b4
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
pop edx
call fcn.00411ec0
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x4300e6
inc esi
xor ebx, ebx
lea eax, [ebp - 0x3c]
push eax
push 1
push 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x3c]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0xc]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov cl, 1
call fcn.00422dc0
mov eax, dword [ebp - 0x38]
mov ecx, 0x430c8c
mov edx, 0x430c98
call fcn.0040eae4
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov dl, 0xa
call fcn.0040ebdc
mov ecx, dword [ebp - 0x38]
mov edx, ebx
mov eax, dword [ebp - 0x14]
mov edi, dword [eax]
call dword [edi + 0x20]
inc ebx
dec esi
jne 0x43008c
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebp - 0x3c]
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x10]
mov ebx, dword [eax]
call dword [ebx + 0xc]
mov eax, dword [ebp - 0x3c]
mov ecx, 0x7fffffff
mov edx, 0xb
call fcn.00403a34
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43a954]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
call fcn.0041212c
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x430013
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43014d
mov eax, dword [ebp - 0x10]
call fcn.00402c74
mov eax, dword [ebp - 0x14]
call fcn.00402c74
ret
xor eax, eax
push ebp
push 0x430b19
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43a934]
cmp byte [eax], 0
je 0x430176
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
cmp byte [eax + 0x48], 2
jne 0x4301f8
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov byte [eax + 0x48], 0
mov eax, dword [0x43a934]
mov byte [eax], 0
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x4301e9
mov eax, 0x42b098
mov edx, 1
call fcn.0042afa0
mov byte [ebp - 6], al
mov eax, dword [0x43a980]
cmp byte [eax], 0
je 0x4301ce
call fcn.0040316c
jmp 0x430b20
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
add eax, 0x28
call fcn.004035b4
cmp byte [ebp - 6], 0
je 0x430494
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x430494
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430ca4
call fcn.00423370
test al, al
je 0x4302d2
mov eax, dword [0x43a954]
mov eax, dword [eax]
call fcn.00406bc4
test al, al
je 0x4302d2
lea edx, [ebp - 0x38]
mov eax, 0x10
call fcn.00429f58
mov eax, dword [ebp - 0x38]
mov edx, 0x2ee
call fcn.004284e0
call fcn.0042f664
call fcn.0042850c
jmp 0x4302d2
push 0x2031
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x3c]
mov eax, 0x13
call fcn.00429f58
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [0x43a9e8]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov byte [ebp - 0x40], 0xb
lea edx, [ebp - 0x44]
xor ecx, ecx
pop eax
call fcn.00407750
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430cc0
call fcn.00423114
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x43a9dc]
mov eax, dword [eax]
pop ecx
call fcn.004174d4
cmp eax, 2
jne 0x4302d2
call fcn.0040316c
jmp 0x430b20
mov eax, dword [0x43a9e8]
mov eax, dword [eax]
call fcn.00406bc4
test al, al
je 0x430265
push 0
xor edx, edx
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x430464
mov eax, 0x42efd8
xor edx, edx
call fcn.0042afa0
mov byte [ebp - 6], al
cmp byte [ebp - 6], 0
je 0x430385
push 0x43b71c
push 0
push 0
push 0x42f1d8
push 0
push 0
call sub.KERNEL32.DLL_CreateThread
mov dword [0x43b714], eax
xor eax, eax
push ebp
push 0x43037e
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004186e4
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x43b714]
push eax
call sub.KERNEL32.DLL_GetExitCodeThread
cmp dword [ebp - 0xc], 0x103
je 0x430342
mov al, byte [ebp - 0xc]
mov byte [ebp - 6], al
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x430385
mov eax, dword [0x43b714]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
ret
mov al, byte [ebp - 6]
and al, byte [ebp - 0x1d]
je 0x43044b
call fcn.004282d8
test al, al
je 0x43044b
lea eax, [ebp - 0x24]
mov ecx, 0x430cd0
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov eax, dword [ebp - 0x24]
call fcn.00406bc4
mov byte [0x43b73e], al
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
mov edx, dword [eax + 0x20]
mov ecx, 0x430cd0
lea eax, [ebp - 0x38]
call fcn.0040387c
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
call fcn.0042fc18
test al, al
jne 0x4303f7
call fcn.0040316c
jmp 0x430b20
mov eax, dword [ebp - 0x24]
call fcn.0042c814
lea eax, [ebp - 0x24]
mov ecx, 0x430ce8
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x34]
xor edx, edx
call fcn.004209b8
mov edx, dword [eax + 0x20]
mov ecx, 0x430ce8
lea eax, [ebp - 0x38]
call fcn.0040387c
mov eax, dword [ebp - 0x38]
mov cl, 1
mov edx, dword [ebp - 0x24]
call fcn.0042fc18
test al, al
jne 0x43044b
call fcn.0040316c
jmp 0x430b20
push 1
xor edx, edx
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
cmp byte [ebp - 6], 0
je 0x430494
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x430cfc
call fcn.00423370
test al, al
je 0x430494
xor edx, edx
mov al, 3
call fcn.0042bce8
call fcn.0040316c
jmp 0x430b20
cmp byte [ebp - 6], 0
je 0x430506
mov eax, dword [0x43a934]
cmp byte [eax], 0
je 0x4304b1
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
cmp byte [eax + 0x48], 3
jne 0x430506
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov byte [eax + 0x48], 0
mov eax, dword [0x43a934]
mov byte [eax], 0
push 0
mov dx, 4
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x430506
call fcn.0042ecb4
mov byte [ebp - 6], al
push 1
mov dx, 4
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
mov eax, dword [0x43a934]
cmp byte [eax], 0
jne 0x430659
cmp byte [ebp - 6], 0
je 0x430563
push 0
mov dx, 1
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x430563
mov eax, 0x42e170
xor edx, edx
call fcn.0042afa0
mov byte [ebp - 6], al
push 1
mov dx, 1
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
cmp byte [ebp - 6], 0
je 0x4305b2
push 0
mov dx, 2
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x4305b2
mov eax, 0x42e904
xor edx, edx
call fcn.0042afa0
mov byte [ebp - 6], al
push 1
mov dx, 2
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
cmp byte [ebp - 6], 0
je 0x4305fc
push 0
mov dx, 5
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x4305fc
xor eax, eax
call fcn.0042ee28
mov byte [ebp - 6], al
push 1
mov dx, 5
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
cmp byte [ebp - 6], 0
je 0x43064b
push 0
mov dx, 3
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x43064b
mov eax, 0x42e4c0
xor edx, edx
call fcn.0042afa0
mov byte [ebp - 6], al
push 1
mov dx, 3
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
cmp byte [ebp - 6], 0
je 0x430659
call fcn.0042f600
mov byte [ebp - 6], al
cmp byte [ebp - 6], 0
je 0x4306f9
mov eax, dword [0x43a934]
cmp byte [eax], 0
je 0x43067a
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
cmp byte [eax + 0x48], 4
jne 0x4306f9
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov byte [eax + 0x48], 0
mov eax, dword [0x43a934]
mov byte [eax], 0
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x4306ea
mov eax, 0x42b098
xor edx, edx
call fcn.0042afa0
mov byte [ebp - 6], al
mov eax, dword [0x43a980]
cmp byte [eax], 0
je 0x4306cf
call fcn.0040316c
jmp 0x430b20
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
add eax, 0x28
call fcn.004035b4
mov al, byte [ebp - 6]
and al, byte [ebp - 0x1d]
je 0x430b00
call fcn.004282d8
test al, al
je 0x430b00
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x43075b
mov eax, 0x42b098
mov edx, 2
call fcn.0042afa0
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00434328
test eax, eax
jne 0x4307a4
mov eax, 0x42b098
mov edx, 3
call fcn.0042afa0
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00434328
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov ecx, 0x430d0c
mov edx, 0x430c44
call fcn.00423114
lea eax, [ebp - 0x28]
push eax
mov eax, 0x430d18
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x54]
mov ecx, 1
mov eax, 0x430d58
call fcn.00407750
xor ecx, ecx
mov edx, 0x430d6c
mov eax, dword [ebp - 0x28]
call fcn.00412b1c
test al, al
jne 0x430829
lea eax, [ebp - 0x28]
push eax
mov eax, 0x430d18
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x54]
mov ecx, 1
mov eax, 0x430d80
call fcn.00407750
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov al, 5
call fcn.00428320
mov ecx, 0x430cd0
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
push 0x430d94
mov ecx, 0x430da8
mov edx, 0x430d6c
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [0x43a954]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x54]
mov ecx, 1
mov eax, 0x430dc8
call fcn.00407750
mov eax, dword [ebp - 0x38]
push eax
xor ecx, ecx
mov edx, 0x430ddc
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430bc4
mov edx, 0x430df4
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430e0c
mov edx, 0x430e20
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
mov eax, dword [0x43a9e8]
mov eax, dword [eax]
push eax
xor ecx, ecx
mov edx, 0x430e38
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430e54
mov edx, 0x430e64
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430e78
mov edx, 0x430e88
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430e9c
mov edx, 0x430eb0
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430ec4
mov edx, 0x430ed8
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430ef0
mov edx, 0x430f04
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430f1c
mov edx, 0x430f38
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430f48
mov edx, 0x430f60
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430f74
mov edx, 0x430f8c
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430fa4
mov edx, 0x430fb8
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430fc8
mov edx, 0x430fe0
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
push 0
mov ecx, 0x430ff8
mov edx, 0x43100c
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431020
call fcn.00423370
test al, al
jne 0x430af4
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
call fcn.0041a9b4
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov edx, dword [eax + 0x30]
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x14]
call fcn.0042fbb8
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
add eax, 0x1c
mov edx, dword [0x43a9d8]
mov edx, dword [edx]
mov edx, dword [edx + 0x2c]
call fcn.00403608
lea eax, [ebp - 0x24]
call fcn.004035b4
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [0x43a9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x3c]
mov edx, dword [ebp - 0x24]
call fcn.00420680
mov ebx, eax
test ebx, ebx
je 0x430a9b
mov eax, ebx
call fcn.0042037c
cmp al, 1
jne 0x430a87
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov dl, 1
mov eax, dword [0x41e34c]
call fcn.0041a684
mov esi, eax
lea eax, [esi + 0x20]
mov edx, dword [ebx + 0x20]
call fcn.00403608
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov edx, esi
call fcn.0041b698
cmp dword [ebp - 0x30], 0
je 0x430a9b
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + 0x20]
call fcn.0040364c
cmp dword [ebp - 0x30], 0
jne 0x430a29
lea ecx, [ebp - 0x24]
mov eax, dword [0x43a954]
mov eax, dword [eax]
mov edx, 0x431038
call fcn.00406db0
push 1
mov eax, dword [0x43a9c0]
mov eax, dword [eax]
mov cx, word [0x430c38]
mov edx, dword [ebp - 0x24]
call fcn.00429318
mov eax, dword [0x43a9a4]
mov eax, dword [eax]
mov ecx, 0x431048
mov edx, dword [ebp - 0x24]
call fcn.0041b384
mov eax, dword [ebp - 0x24]
push eax
xor ecx, ecx
mov edx, 0x431060
mov eax, dword [ebp - 0x28]
call fcn.0042f8c4
mov eax, dword [0x43a9c0]
mov eax, dword [eax]
call fcn.0042946c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x430b20
call fcn.00411a84
mov al, byte [ebp - 6]
mov byte [ebp - 5], al
ret
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x430b5c
lea eax, [ebp - 0x3c]
mov edx, 2
call fcn.004035d8
lea eax, [ebp - 0x28]
mov edx, 2
call fcn.004035d8
lea eax, [ebp - 0x1c]
mov edx, 2
call fcn.004035d8
ret