Function at 0x4317b8
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 0x4325b5
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [ebp - 6], 1
mov eax, dword [0x43d9e8]
mov byte [eax], 0
call fcn.0042c504
test al, al
je 0x431823
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0042c438
test al, al
jne 0x431823
mov edx, 0x4325d0
mov eax, 0x432600
call fcn.0042c5a0
jmp 0x432580
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x432610
mov edx, 0x432624
call fcn.00424a40
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x18]
call fcn.00417160
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x432638
mov edx, 0x432650
call fcn.00424a40
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x1c]
call fcn.00417160
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x18]
call fcn.00406e90
mov eax, dword [ebp - 0x38]
call fcn.00417470
mov ebx, eax
call fcn.0042dc94
cmp ebx, eax
jg 0x4318aa
lea edx, [ebp - 0x38]
mov eax, 4
call fcn.0042b9a8
mov edx, dword [ebp - 0x38]
mov eax, 0x432600
call fcn.0042c5a0
jmp 0x432580
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x432668
call fcn.00424ca4
mov byte [ebp - 0x1d], al
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43267c
call fcn.00424a40
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
call fcn.004246d0
cmp dword [ebp - 0x38], 0
jne 0x431913
lea eax, [ebp - 0x38]
mov ecx, 0x43268c
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov edx, 0x43267c
call fcn.00424cc0
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43267c
call fcn.00424a40
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
call fcn.004246d0
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43da54]
call fcn.00403608
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x431996
cmp byte [ebp - 0x1d], 0
je 0x431979
lea edx, [ebp - 0x38]
mov eax, dword [0x43da54]
mov eax, dword [eax]
call fcn.00406e5c
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43dac0]
mov eax, dword [eax]
mov cl, 1
call fcn.0042af00
push 0
mov edx, dword [0x43da54]
mov edx, dword [edx]
mov eax, dword [0x43dac0]
mov eax, dword [eax]
mov cx, word [0x432698]
call fcn.0042ad68
cmp byte [ebp - 0x1d], 0
je 0x4319a1
call fcn.00429ccc
cmp byte [ebp - 0x1d], 0
je 0x431bad
call fcn.00429cb4
test al, al
je 0x431bad
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x431bad
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4326a4
call fcn.00424a40
mov ecx, dword [ebp - 0x38]
mov edx, 0x4326a4
mov eax, 0x4326b4
call fcn.00429cd4
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x4326c4
call fcn.00424a40
mov ecx, dword [ebp - 0x38]
mov eax, 0x4326b4
mov edx, 0x4326c4
call fcn.00429cd4
mov dl, 1
mov eax, dword [0x40c410]
call fcn.00402c4c
mov dword [ebp - 0x10], eax
mov dl, 1
mov eax, dword [0x40c410]
call fcn.00402c4c
mov dword [ebp - 0x14], eax
xor eax, eax
push ebp
push 0x431ba6
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x38]
call fcn.0042c00c
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
call fcn.004129c4
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x431b88
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, 0x4326d8
call fcn.004067a8
test eax, eax
jne 0x431b7c
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.0042c00c
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
pop edx
call fcn.00412c24
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x431b46
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 [0x43dad8]
mov eax, dword [eax]
mov cl, 1
call fcn.004246f0
mov eax, dword [ebp - 0x38]
mov ecx, 0x4326ec
mov edx, 0x4326f8
call fcn.0040f4a0
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov dl, 0xa
call fcn.0040f61c
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 0x431aec
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 [0x43da54]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
call fcn.00412e90
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x431a73
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x431bad
mov eax, dword [ebp - 0x10]
call fcn.00402c74
mov eax, dword [ebp - 0x14]
call fcn.00402c74
ret
xor eax, eax
push ebp
push 0x432579
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43da34]
cmp byte [eax], 0
je 0x431bd6
mov eax, dword [0x43dad8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 2
jne 0x431c58
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43da34]
mov byte [eax], 0
push 0
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x431c49
mov eax, 0x42caf0
mov edx, 1
call fcn.0042c9f8
mov byte [ebp - 6], al
mov eax, dword [0x43da80]
cmp byte [eax], 0
je 0x431c2e
call fcn.0040316c
jmp 0x432580
push 1
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
mov eax, dword [0x43dad8]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b4
cmp byte [ebp - 6], 0
je 0x431ef4
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x431ef4
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x432704
call fcn.00424ca4
test al, al
je 0x431d32
mov eax, dword [0x43da54]
mov eax, dword [eax]
call fcn.00406bdc
test al, al
je 0x431d32
lea edx, [ebp - 0x38]
mov eax, 0x10
call fcn.0042b9a8
mov eax, dword [ebp - 0x38]
mov edx, 0x2ee
call fcn.00429ebc
call fcn.004310c0
call fcn.00429ee8
jmp 0x431d32
push 0x2031
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x3c]
mov eax, 0x13
call fcn.0042b9a8
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [0x43dae8]
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.00407768
mov eax, dword [ebp - 0x38]
push eax
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x432720
call fcn.00424a40
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x43dadc]
mov eax, dword [eax]
pop ecx
call fcn.00418138
cmp eax, 2
jne 0x431d32
call fcn.0040316c
jmp 0x432580
mov eax, dword [0x43dae8]
mov eax, dword [eax]
call fcn.00406bdc
test al, al
je 0x431cc5
push 0
xor edx, edx
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x431ec4
mov eax, 0x430a34
xor edx, edx
call fcn.0042c9f8
mov byte [ebp - 6], al
cmp byte [ebp - 6], 0
je 0x431de5
push 0x43e71c
push 0
push 0
push 0x430c34
push 0
push 0
call sub.KERNEL32.DLL_CreateThread
mov dword [0x43e714], eax
xor eax, eax
push ebp
push 0x431dde
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00419274
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x43e714]
push eax
call sub.KERNEL32.DLL_GetExitCodeThread
cmp dword [ebp - 0xc], 0x103
je 0x431da2
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 0x431de5
mov eax, dword [0x43e714]
push eax
call sub.KERNEL32.DLL_CloseHandle
ret
mov al, byte [ebp - 6]
and al, byte [ebp - 0x1d]
je 0x431eab
call fcn.00429cb4
test al, al
je 0x431eab
lea eax, [ebp - 0x24]
mov ecx, 0x432730
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov eax, dword [ebp - 0x24]
call fcn.00406bdc
mov byte [0x43e73e], al
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
mov edx, dword [eax + 0x24]
mov ecx, 0x432730
lea eax, [ebp - 0x38]
call fcn.0040387c
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
call fcn.00431678
test al, al
jne 0x431e57
call fcn.0040316c
jmp 0x432580
mov eax, dword [ebp - 0x24]
call fcn.0042e26c
lea eax, [ebp - 0x24]
mov ecx, 0x432748
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.004222d0
mov edx, dword [eax + 0x24]
mov ecx, 0x432748
lea eax, [ebp - 0x38]
call fcn.0040387c
mov eax, dword [ebp - 0x38]
mov cl, 1
mov edx, dword [ebp - 0x24]
call fcn.00431678
test al, al
jne 0x431eab
call fcn.0040316c
jmp 0x432580
push 1
xor edx, edx
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
cmp byte [ebp - 6], 0
je 0x431ef4
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x43275c
call fcn.00424ca4
test al, al
je 0x431ef4
xor edx, edx
mov al, 3
call fcn.0042d740
call fcn.0040316c
jmp 0x432580
cmp byte [ebp - 6], 0
je 0x431f66
mov eax, dword [0x43da34]
cmp byte [eax], 0
je 0x431f11
mov eax, dword [0x43dad8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 3
jne 0x431f66
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43da34]
mov byte [eax], 0
push 0
mov dx, 4
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x431f66
call fcn.00430710
mov byte [ebp - 6], al
push 1
mov dx, 4
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
mov eax, dword [0x43da34]
cmp byte [eax], 0
jne 0x4320b9
cmp byte [ebp - 6], 0
je 0x431fc3
push 0
mov dx, 1
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x431fc3
mov eax, 0x42fbcc
xor edx, edx
call fcn.0042c9f8
mov byte [ebp - 6], al
push 1
mov dx, 1
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
cmp byte [ebp - 6], 0
je 0x432012
push 0
mov dx, 2
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x432012
mov eax, 0x430360
xor edx, edx
call fcn.0042c9f8
mov byte [ebp - 6], al
push 1
mov dx, 2
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
cmp byte [ebp - 6], 0
je 0x43205c
push 0
mov dx, 5
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x43205c
xor eax, eax
call fcn.00430884
mov byte [ebp - 6], al
push 1
mov dx, 5
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
cmp byte [ebp - 6], 0
je 0x4320ab
push 0
mov dx, 3
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x4320ab
mov eax, 0x42ff1c
xor edx, edx
call fcn.0042c9f8
mov byte [ebp - 6], al
push 1
mov dx, 3
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
cmp byte [ebp - 6], 0
je 0x4320b9
call fcn.0043105c
mov byte [ebp - 6], al
cmp byte [ebp - 6], 0
je 0x432159
mov eax, dword [0x43da34]
cmp byte [eax], 0
je 0x4320da
mov eax, dword [0x43dad8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 4
jne 0x432159
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43da34]
mov byte [eax], 0
push 0
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x43214a
mov eax, 0x42caf0
xor edx, edx
call fcn.0042c9f8
mov byte [ebp - 6], al
mov eax, dword [0x43da80]
cmp byte [eax], 0
je 0x43212f
call fcn.0040316c
jmp 0x432580
push 1
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
mov eax, dword [0x43dad8]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b4
mov al, byte [ebp - 6]
and al, byte [ebp - 0x1d]
je 0x432560
call fcn.00429cb4
test al, al
je 0x432560
push 0
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x4321bb
mov eax, 0x42caf0
mov edx, 2
call fcn.0042c9f8
push 1
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
push 0
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00436564
test eax, eax
jne 0x432204
mov eax, 0x42caf0
mov edx, 3
call fcn.0042c9f8
push 1
mov dx, 6
xor eax, eax
call fcn.00405afc
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00436564
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov ecx, 0x43276c
mov edx, 0x4326a4
call fcn.00424a40
lea eax, [ebp - 0x28]
push eax
mov eax, 0x432778
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, 0x4327b8
call fcn.00407768
xor ecx, ecx
mov edx, 0x4327cc
mov eax, dword [ebp - 0x28]
call fcn.00413880
test al, al
jne 0x432289
lea eax, [ebp - 0x28]
push eax
mov eax, 0x432778
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, 0x4327e0
call fcn.00407768
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov al, 5
call fcn.00429cfc
mov ecx, 0x432730
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
push 0x4327f4
mov ecx, 0x432808
mov edx, 0x4327cc
mov eax, dword [ebp - 0x28]
call fcn.00431320
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [0x43da54]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x54]
mov ecx, 1
mov eax, 0x432828
call fcn.00407768
mov eax, dword [ebp - 0x38]
push eax
xor ecx, ecx
mov edx, 0x43283c
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x432624
mov edx, 0x432854
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x43286c
mov edx, 0x432880
mov eax, dword [ebp - 0x28]
call fcn.00431320
mov eax, dword [0x43dae8]
mov eax, dword [eax]
push eax
xor ecx, ecx
mov edx, 0x432898
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x4328b4
mov edx, 0x4328c4
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x4328d8
mov edx, 0x4328e8
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x4328fc
mov edx, 0x432910
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x432924
mov edx, 0x432938
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x432950
mov edx, 0x432964
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x43297c
mov edx, 0x432998
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x4329a8
mov edx, 0x4329c0
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x4329d4
mov edx, 0x4329ec
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x432a04
mov edx, 0x432a18
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x432a28
mov edx, 0x432a40
mov eax, dword [ebp - 0x28]
call fcn.00431320
push 0
mov ecx, 0x432a58
mov edx, 0x432a6c
mov eax, dword [ebp - 0x28]
call fcn.00431320
mov eax, dword [0x43dad8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x432a80
call fcn.00424ca4
test al, al
jne 0x432554
mov eax, dword [0x43daa4]
mov eax, dword [eax]
call fcn.0041b734
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov edx, dword [eax + 0x34]
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.00431614
mov eax, dword [0x43daa4]
mov eax, dword [eax]
add eax, 0x20
mov edx, dword [0x43dad8]
mov edx, dword [edx]
mov edx, dword [edx + 0x30]
call fcn.00403608
lea eax, [ebp - 0x24]
call fcn.004035b4
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x2c]
mov eax, dword [0x43dad8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x24]
call fcn.00421f98
mov ebx, eax
test ebx, ebx
je 0x4324fb
mov eax, ebx
call fcn.00421c90
cmp al, 1
jne 0x4324e7
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov dl, 1
mov eax, dword [0x41fa00]
call fcn.0041b3e4
mov esi, eax
lea eax, [esi + 0x24]
mov edx, dword [ebx + 0x24]
call fcn.00403608
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
mov edx, esi
mov ecx, dword [eax]
call dword [ecx + 0x68]
cmp dword [ebp - 0x30], 0
je 0x4324fb
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + 0x24]
call fcn.0040364c
cmp dword [ebp - 0x30], 0
jne 0x432489
lea ecx, [ebp - 0x24]
mov eax, dword [0x43da54]
mov eax, dword [eax]
mov edx, 0x432a98
call fcn.00406dc8
push 1
mov eax, dword [0x43dac0]
mov eax, dword [eax]
mov cx, word [0x432698]
mov edx, dword [ebp - 0x24]
call fcn.0042ad68
mov eax, dword [0x43daa4]
mov eax, dword [eax]
mov ecx, 0x432aa8
mov edx, dword [ebp - 0x24]
call fcn.0041c348
mov eax, dword [ebp - 0x24]
push eax
xor ecx, ecx
mov edx, 0x432ac0
mov eax, dword [ebp - 0x28]
call fcn.00431320
mov eax, dword [0x43dac0]
mov eax, dword [eax]
call fcn.0042aebc
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x432580
call fcn.004127e8
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 0x4325bc
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