Function at 0x430c40
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 0x431a3d
push dword fs:[eax]
mov dword fs:[eax], esp
mov byte [ebp - 5], 0
mov byte [ebp - 6], 1
mov eax, dword [0x43b8e8]
mov byte [eax], 0
call fcn.0042b98c
test al, al
je 0x430cab
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x1c]
call fcn.0042b8c0
test al, al
jne 0x430cab
mov edx, 0x431a58
mov eax, 0x431a88
call fcn.0042ba28
jmp 0x431a08
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x431a98
mov edx, 0x431aac
call fcn.00423ec8
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x18]
call fcn.0041665c
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x431ac0
mov edx, 0x431ad8
call fcn.00423ec8
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x1c]
call fcn.0041665c
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x18]
call fcn.00406e78
mov eax, dword [ebp - 0x38]
call fcn.0041696c
mov ebx, eax
call fcn.0042d11c
cmp ebx, eax
jg 0x430d32
lea edx, [ebp - 0x38]
mov eax, 4
call fcn.0042ae30
mov edx, dword [ebp - 0x38]
mov eax, 0x431a88
call fcn.0042ba28
jmp 0x431a08
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431af0
call fcn.0042412c
mov byte [ebp - 0x1d], al
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431b04
call fcn.00423ec8
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
call fcn.00423b54
cmp dword [ebp - 0x38], 0
jne 0x430d9b
lea eax, [ebp - 0x38]
mov ecx, 0x431b14
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov ecx, dword [ebp - 0x38]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov edx, 0x431b04
call fcn.00424148
lea eax, [ebp - 0x3c]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431b04
call fcn.00423ec8
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
call fcn.00423b54
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43b954]
call fcn.00403608
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x430e1e
cmp byte [ebp - 0x1d], 0
je 0x430e01
lea edx, [ebp - 0x38]
mov eax, dword [0x43b954]
mov eax, dword [eax]
call fcn.00406e44
mov edx, dword [ebp - 0x38]
mov eax, dword [0x43b9c0]
mov eax, dword [eax]
mov cl, 1
call fcn.0042a388
push 0
mov edx, dword [0x43b954]
mov edx, dword [edx]
mov eax, dword [0x43b9c0]
mov eax, dword [eax]
mov cx, word [0x431b20]
call fcn.0042a1f0
cmp byte [ebp - 0x1d], 0
je 0x430e29
call fcn.00429154
cmp byte [ebp - 0x1d], 0
je 0x431035
call fcn.0042913c
test al, al
je 0x431035
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x431035
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431b2c
call fcn.00423ec8
mov ecx, dword [ebp - 0x38]
mov edx, 0x431b2c
mov eax, 0x431b3c
call fcn.0042915c
lea eax, [ebp - 0x38]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431b4c
call fcn.00423ec8
mov ecx, dword [ebp - 0x38]
mov eax, 0x431b3c
mov edx, 0x431b4c
call fcn.0042915c
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 0x43102e
push dword fs:[eax]
mov dword fs:[eax], esp
lea eax, [ebp - 0x38]
call fcn.0042b494
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x10]
call fcn.004120d0
mov eax, dword [ebp - 0x10]
mov edx, dword [eax]
call dword [edx + 0x14]
dec eax
test eax, eax
jl 0x431010
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, 0x431b60
call fcn.00406790
test eax, eax
jne 0x431004
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.0042b494
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x14]
pop edx
call fcn.00412330
mov eax, dword [ebp - 0x14]
mov edx, dword [eax]
call dword [edx + 0x14]
mov esi, eax
dec esi
test esi, esi
jl 0x430fce
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 [0x43b9d8]
mov eax, dword [eax]
mov cl, 1
call fcn.00423b74
mov eax, dword [ebp - 0x38]
mov ecx, 0x431b74
mov edx, 0x431b80
call fcn.0040ec30
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x38]
mov dl, 0xa
call fcn.0040ed28
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 0x430f74
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 [0x43b954]
mov eax, dword [eax]
mov ecx, dword [ebp - 0x14]
call fcn.0041259c
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x430efb
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x431035
mov eax, dword [ebp - 0x10]
call fcn.00402c74
mov eax, dword [ebp - 0x14]
call fcn.00402c74
ret
xor eax, eax
push ebp
push 0x431a01
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x43b934]
cmp byte [eax], 0
je 0x43105e
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 2
jne 0x4310e0
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43b934]
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.00435210
test eax, eax
jne 0x4310d1
mov eax, 0x42bf78
mov edx, 1
call fcn.0042be80
mov byte [ebp - 6], al
mov eax, dword [0x43b980]
cmp byte [eax], 0
je 0x4310b6
call fcn.0040316c
jmp 0x431a08
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00435210
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b4
cmp byte [ebp - 6], 0
je 0x43137c
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x43137c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431b8c
call fcn.0042412c
test al, al
je 0x4311ba
mov eax, dword [0x43b954]
mov eax, dword [eax]
call fcn.00406bc4
test al, al
je 0x4311ba
lea edx, [ebp - 0x38]
mov eax, 0x10
call fcn.0042ae30
mov eax, dword [ebp - 0x38]
mov edx, 0x2ee
call fcn.00429344
call fcn.00430548
call fcn.00429370
jmp 0x4311ba
push 0x2031
lea eax, [ebp - 0x38]
push eax
lea edx, [ebp - 0x3c]
mov eax, 0x13
call fcn.0042ae30
mov eax, dword [ebp - 0x3c]
push eax
mov eax, dword [0x43b9e8]
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 [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431ba8
call fcn.00423ec8
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x43b9dc]
mov eax, dword [eax]
pop ecx
call fcn.00417634
cmp eax, 2
jne 0x4311ba
call fcn.0040316c
jmp 0x431a08
mov eax, dword [0x43b9e8]
mov eax, dword [eax]
call fcn.00406bc4
test al, al
je 0x43114d
push 0
xor edx, edx
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x43134c
mov eax, 0x42febc
xor edx, edx
call fcn.0042be80
mov byte [ebp - 6], al
cmp byte [ebp - 6], 0
je 0x43126d
push 0x43c71c
push 0
push 0
push 0x4300bc
push 0
push 0
call sub.KERNEL32.DLL_CreateThread
mov dword [0x43c714], eax
xor eax, eax
push ebp
push 0x431266
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.00418844
lea eax, [ebp - 0xc]
push eax
mov eax, dword [0x43c714]
push eax
call sub.KERNEL32.DLL_GetExitCodeThread
cmp dword [ebp - 0xc], 0x103
je 0x43122a
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 0x43126d
mov eax, dword [0x43c714]
push eax
call sub.KERNEL32.DLL_CloseHandle_1
ret
mov al, byte [ebp - 6]
and al, byte [ebp - 0x1d]
je 0x431333
call fcn.0042913c
test al, al
je 0x431333
lea eax, [ebp - 0x24]
mov ecx, 0x431bb8
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov eax, dword [ebp - 0x24]
call fcn.00406bc4
mov byte [0x43c73e], al
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
mov edx, dword [eax + 0x24]
mov ecx, 0x431bb8
lea eax, [ebp - 0x38]
call fcn.0040387c
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
call fcn.00430b00
test al, al
jne 0x4312df
call fcn.0040316c
jmp 0x431a08
mov eax, dword [ebp - 0x24]
call fcn.0042d6f4
lea eax, [ebp - 0x24]
mov ecx, 0x431bd0
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x38]
xor edx, edx
call fcn.00421754
mov edx, dword [eax + 0x24]
mov ecx, 0x431bd0
lea eax, [ebp - 0x38]
call fcn.0040387c
mov eax, dword [ebp - 0x38]
mov cl, 1
mov edx, dword [ebp - 0x24]
call fcn.00430b00
test al, al
jne 0x431333
call fcn.0040316c
jmp 0x431a08
push 1
xor edx, edx
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00435210
cmp byte [ebp - 6], 0
je 0x43137c
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431be4
call fcn.0042412c
test al, al
je 0x43137c
xor edx, edx
mov al, 3
call fcn.0042cbc8
call fcn.0040316c
jmp 0x431a08
cmp byte [ebp - 6], 0
je 0x4313ee
mov eax, dword [0x43b934]
cmp byte [eax], 0
je 0x431399
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 3
jne 0x4313ee
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43b934]
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.00435210
test eax, eax
jne 0x4313ee
call fcn.0042fb98
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.00435210
mov eax, dword [0x43b934]
cmp byte [eax], 0
jne 0x431541
cmp byte [ebp - 6], 0
je 0x43144b
push 0
mov dx, 1
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x43144b
mov eax, 0x42f054
xor edx, edx
call fcn.0042be80
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.00435210
cmp byte [ebp - 6], 0
je 0x43149a
push 0
mov dx, 2
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x43149a
mov eax, 0x42f7e8
xor edx, edx
call fcn.0042be80
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.00435210
cmp byte [ebp - 6], 0
je 0x4314e4
push 0
mov dx, 5
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x4314e4
xor eax, eax
call fcn.0042fd0c
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.00435210
cmp byte [ebp - 6], 0
je 0x431533
push 0
mov dx, 3
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x431533
mov eax, 0x42f3a4
xor edx, edx
call fcn.0042be80
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.00435210
cmp byte [ebp - 6], 0
je 0x431541
call fcn.004304e4
mov byte [ebp - 6], al
cmp byte [ebp - 6], 0
je 0x4315e1
mov eax, dword [0x43b934]
cmp byte [eax], 0
je 0x431562
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
cmp byte [eax + 0x4c], 4
jne 0x4315e1
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov byte [eax + 0x4c], 0
mov eax, dword [0x43b934]
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.00435210
test eax, eax
jne 0x4315d2
mov eax, 0x42bf78
xor edx, edx
call fcn.0042be80
mov byte [ebp - 6], al
mov eax, dword [0x43b980]
cmp byte [eax], 0
je 0x4315b7
call fcn.0040316c
jmp 0x431a08
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00435210
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
add eax, 0x2c
call fcn.004035b4
mov al, byte [ebp - 6]
and al, byte [ebp - 0x1d]
je 0x4319e8
call fcn.0042913c
test al, al
je 0x4319e8
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x431643
mov eax, 0x42bf78
mov edx, 2
call fcn.0042be80
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00435210
push 0
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xa
call fcn.00435210
test eax, eax
jne 0x43168c
mov eax, 0x42bf78
mov edx, 3
call fcn.0042be80
push 1
mov dx, 6
xor eax, eax
call fcn.00405aec
mov edx, eax
xor ecx, ecx
mov eax, 0xb
call fcn.00435210
lea eax, [ebp - 0x24]
push eax
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov ecx, 0x431bf4
mov edx, 0x431b2c
call fcn.00423ec8
lea eax, [ebp - 0x28]
push eax
mov eax, 0x431c00
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, 0x431c40
call fcn.00407750
xor ecx, ecx
mov edx, 0x431c54
mov eax, dword [ebp - 0x28]
call fcn.00412f8c
test al, al
jne 0x431711
lea eax, [ebp - 0x28]
push eax
mov eax, 0x431c00
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, 0x431c68
call fcn.00407750
xor ecx, ecx
mov edx, dword [ebp - 0x28]
mov al, 5
call fcn.00429184
mov ecx, 0x431bb8
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x1c]
call fcn.0040387c
push 0x431c7c
mov ecx, 0x431c90
mov edx, 0x431c54
mov eax, dword [ebp - 0x28]
call fcn.004307a8
lea eax, [ebp - 0x38]
push eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x50], 0xb
mov eax, dword [0x43b954]
mov eax, dword [eax]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x48], 0xb
lea edx, [ebp - 0x54]
mov ecx, 1
mov eax, 0x431cb0
call fcn.00407750
mov eax, dword [ebp - 0x38]
push eax
xor ecx, ecx
mov edx, 0x431cc4
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431aac
mov edx, 0x431cdc
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431cf4
mov edx, 0x431d08
mov eax, dword [ebp - 0x28]
call fcn.004307a8
mov eax, dword [0x43b9e8]
mov eax, dword [eax]
push eax
xor ecx, ecx
mov edx, 0x431d20
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431d3c
mov edx, 0x431d4c
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431d60
mov edx, 0x431d70
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431d84
mov edx, 0x431d98
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431dac
mov edx, 0x431dc0
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431dd8
mov edx, 0x431dec
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431e04
mov edx, 0x431e20
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431e30
mov edx, 0x431e48
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431e5c
mov edx, 0x431e74
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431e8c
mov edx, 0x431ea0
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431eb0
mov edx, 0x431ec8
mov eax, dword [ebp - 0x28]
call fcn.004307a8
push 0
mov ecx, 0x431ee0
mov edx, 0x431ef4
mov eax, dword [ebp - 0x28]
call fcn.004307a8
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
xor ecx, ecx
mov edx, 0x431f08
call fcn.0042412c
test al, al
jne 0x4319dc
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
call fcn.0041abb8
mov eax, dword [0x43b9d8]
mov eax, dword [eax]
mov edx, dword [eax + 0x34]
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov eax, dword [eax + 0x18]
call fcn.00430a9c
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
add eax, 0x20
mov edx, dword [0x43b9d8]
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 [0x43b9d8]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
mov edx, dword [ebp - 0x24]
call fcn.0042141c
mov ebx, eax
test ebx, ebx
je 0x431983
mov eax, ebx
call fcn.00421114
cmp al, 1
jne 0x43196f
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov ecx, dword [eax + 0x1c]
mov dl, 1
mov eax, dword [0x41ee84]
call fcn.0041a868
mov esi, eax
lea eax, [esi + 0x24]
mov edx, dword [ebx + 0x24]
call fcn.00403608
mov eax, dword [0x43b9a4]
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 0x431983
lea eax, [ebp - 0x24]
mov edx, dword [ebp - 0x30]
mov edx, dword [edx + 0x24]
call fcn.0040364c
cmp dword [ebp - 0x30], 0
jne 0x431911
lea ecx, [ebp - 0x24]
mov eax, dword [0x43b954]
mov eax, dword [eax]
mov edx, 0x431f20
call fcn.00406db0
push 1
mov eax, dword [0x43b9c0]
mov eax, dword [eax]
mov cx, word [0x431b20]
mov edx, dword [ebp - 0x24]
call fcn.0042a1f0
mov eax, dword [0x43b9a4]
mov eax, dword [eax]
mov ecx, 0x431f30
mov edx, dword [ebp - 0x24]
call fcn.0041b7cc
mov eax, dword [ebp - 0x24]
push eax
xor ecx, ecx
mov edx, 0x431f48
mov eax, dword [ebp - 0x28]
call fcn.004307a8
mov eax, dword [0x43b9c0]
mov eax, dword [eax]
call fcn.0042a344
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x431a08
call fcn.00411ef4
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 0x431a44
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