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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffec4
push ebx
push esi
push edi
xor edx, edx
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 4], edx
mov dword [ebp - 8], edx
mov ebx, eax
xor eax, eax
push ebp
push 0x43ef50
push dword fs:[eax]
mov dword fs:[eax], esp
xor edx, edx
push ebp
push 0x43ef09
push dword fs:[edx]
mov dword fs:[edx], esp
cmp ebx, 0xa
jle 0x43dddd
cmp dword [0x4419c4], 0
jne 0x43dddd
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
call fcn.0040f7c8
mov dword [0x4419c4], eax
cmp ebx, 0x19
ja case.0x43ddec.0
mov bl, byte [ebx + 0x43ddf3]
jmp dword [ebx*4 + 0x43de0d]
mov eax, dword [ebp + 8]
mov byte [eax - 0x15], 0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x42b2c4
call fcn.0042c44c
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
xor edx, edx
xor eax, eax
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
cmp dword [eax + 0x2c], 0
sete dl
mov ecx, dword [ebp + 8]
call fcn.0042c61c
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 8]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43df14
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00405d4c
mov eax, dword [ebp - 0x10]
mov edx, 0x43ef68
call fcn.00403958
dec eax
je 0x43dece
sub eax, 6
je 0x43ded7
sub eax, 5
je 0x43dee9
sub eax, 6
je 0x43defb
jmp 0x43df0a
mov eax, dword [ebp + 8]
mov byte [eax - 0x15], 1
jmp 0x43df14
mov eax, dword [ebp + 8]
mov byte [eax - 0x15], 1
mov word [0x4419c2], 0xffee
jmp 0x43df14
mov eax, dword [ebp + 8]
mov byte [eax - 0x15], 1
mov word [0x4419c2], 0xfffd
jmp 0x43df14
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.0042c654
jmp 0x43df14
mov dword [0x441788], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00403670
test eax, eax
jne 0x43de89
mov eax, dword [ebp - 8]
call fcn.00403670
test eax, eax
jle 0x43df73
xor eax, eax
push ebp
push 0x43df5f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov ecx, dword [ebp - 8]
call fcn.0043f644
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43df73
mov eax, dword [ebp + 8]
cmp byte [eax - 0x15], 0
je 0x43dfa1
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dword [eax + 0x64], edx
mov dword [eax + 0x60], 0x43d0ac
mov edx, dword [ebp + 8]
mov dx, word [0x4419c2]
call fcn.00413c7c
mov eax, dword [ebp + 8]
mov byte [eax - 0x15], 0
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x424d48
call fcn.0042813c
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x1c]
xor eax, eax
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
cmp dword [eax + 0x2c], 0
sete dl
mov ecx, dword [ebp + 8]
mov ecx, dword [eax]
call dword [ecx + 0x5c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
cmp dword [eax + 0x30], 0x1e
setge dl
mov ecx, dword [ebp + 8]
call fcn.0042846c
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle case.0x43ddec.0
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43e112
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413c38
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004192f8
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43e0d1
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43e0fc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
mov dl, byte [eax + 0x3e]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.004283cc
jmp case.0x43ddec.0
mov edx, 0x43ef94
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43e135
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.00428428
jmp case.0x43ddec.0
mov dword [0x441788], 0x10
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x42b7d8
call fcn.0042c720
mov esi, eax
mov eax, dword [ebp + 8]
mov dword [eax - 0x14], esi
mov eax, dword [ebp + 8]
mov eax, esi
mov edx, dword [0x4419a4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x38]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 0x38]
lea edx, [ebp - 0x10]
call fcn.00405d4c
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 2
call fcn.00413518
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, 0x12
call fcn.0043d390
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413648
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.0042ca84
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
xor edx, edx
call fcn.0042caa0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov edx, 2
call fcn.0042cabc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
xor edx, edx
call fcn.0042ca78
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle case.0x43ddec.0
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43e2d7
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43e2a3
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je case.0x43ddec.0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp case.0x43ddec.0
mov dword [0x441788], 0x10
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x42df8c
call fcn.0042e338
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov edx, 0x18
mov eax, 0xb4
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
xor eax, eax
call fcn.0043d4c4
pop ecx
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.0042e544
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x426344
call fcn.00429cd0
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov edx, 0x18
mov eax, 0x40
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
lea edx, [ebp - 0x3c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413af4
mov eax, dword [ebp - 0x3c]
call fcn.00403670
test eax, eax
jne 0x43e39c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov edx, dword [eax + 8]
mov ecx, dword [ebp + 8]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43e466
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43e45c
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43e42f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43e466
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp 0x43e466
mov dword [0x441788], 0x10
cmp byte [0x4419dd], 0
jne 0x43e483
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.00429da8
mov byte [0x4419dd], 1
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0x9c], eax
mov dword [edx + 0x98], 0x43d044
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x431ab0
call fcn.00431d3c
mov esi, eax
mov eax, dword [ebp + 8]
mov dword [eax - 0x14], esi
mov eax, dword [ebp + 8]
mov eax, esi
mov edx, dword [0x4419a4]
mov ecx, dword [eax]
call dword [ecx + 0x3c]
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00405ed0
test al, al
je 0x43e4f7
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x18]
jmp 0x43e501
mov dword [0x441788], 0x17
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jne 0x43e532
mov eax, dword [0x441624]
mov edx, dword [eax + 0x78]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00431c94
jmp 0x43e5d2
xor eax, eax
push ebp
push 0x43e5be
push dword fs:[eax]
mov dword fs:[eax], esp
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.00432a04
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 4]
call fcn.00403590
lea edx, [ebp - 0x10]
mov eax, dword [ebp - 4]
call fcn.004063cc
mov eax, dword [ebp - 0x10]
mov edx, 0x43efa8
call fcn.00405df4
test eax, eax
jne 0x43e5a0
push 0
mov eax, dword [ebp - 4]
call fcn.00403834
push eax
mov eax, dword [0x441624]
mov eax, dword [eax + 0x20]
push eax
call sub.shell32.dll_ExtractIconA
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x158]
call fcn.0041d9c0
jmp 0x43e5b4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x158]
mov edx, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0x34]
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43e5d2
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
lea eax, [ebp - 0x13c]
mov ecx, 0xff
call fcn.00403a04
lea edx, [ebp - 0x13c]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00431ce0
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.00431c58
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0x1a8], eax
mov dword [edx + 0x1a4], 0x43d218
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x425360
call fcn.00428568
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x1c]
mov eax, 0xb4
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43e7b4
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43e75b
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413c38
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004192f8
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43e72e
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43e7b4
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp 0x43e7b4
mov edx, 0x43efb8
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43e77b
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 0x2a
call fcn.00428728
jmp 0x43e7b4
mov edx, 0x43efcc
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43e7aa
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0xf8], eax
mov dword [edx + 0xf4], 0x43d280
jmp 0x43e7b4
mov dword [0x441788], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00403670
test eax, eax
jne 0x43e676
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x426988
call fcn.00429f78
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x1c]
mov eax, 0xb4
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
xor eax, eax
call fcn.0043d4c4
pop ecx
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.0042a058
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43e948
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43e90f
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413c38
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004192f8
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43e8e2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43e948
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp 0x43e948
mov edx, 0x43efdc
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43e93e
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0x9c], eax
mov dword [edx + 0x98], fcn.0043d13c
jmp 0x43e948
mov dword [0x441788], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00403670
test eax, eax
jne 0x43e82a
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x42bec4
call fcn.0042cdb4
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
xor edx, edx
mov eax, 0x50
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov esi, 0x12
mov edx, dword [ebp - 4]
mov eax, 0x43efec
call fcn.00403958
mov ebx, eax
test ebx, ebx
jne 0x43e9cb
mov ebx, 0x63
lea eax, [ebp - 0x10]
push eax
mov ecx, ebx
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.00403874
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x104]
mov ecx, dword [eax]
call dword [ecx + 0x2c]
lea eax, [ebp - 4]
mov ecx, ebx
mov edx, 1
call fcn.004038b4
add esi, 0x12
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jne 0x43e9b3
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
cmp dword [eax + 0x30], 0
jne 0x43ea27
mov edx, dword [ebp + 8]
mov edx, esi
call fcn.00413648
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov ebx, dword [eax - 0x14]
mov eax, dword [ebx + 0x104]
mov ecx, dword [eax]
call dword [ecx + 0x48]
mov edx, eax
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.0042d094
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43eb72
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43eb39
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413c38
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004192f8
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43eb0c
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43eb72
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp 0x43eb72
mov edx, 0x43efdc
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43eb68
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0x9c], eax
mov dword [edx + 0x98], fcn.0043d13c
jmp 0x43eb72
mov dword [0x441788], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00403670
test eax, eax
jne 0x43ea54
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x4275fc
call fcn.0042a7b8
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x1c]
shl edx, 3
mov eax, 0xb4
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43ecf5
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43ec9c
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413c38
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004192f8
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43ec6f
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43ecf5
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp 0x43ecf5
mov edx, 0x43eff8
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43ecbc
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.0042aa84
jmp 0x43ecf5
mov edx, 0x43efdc
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43eceb
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0x9c], eax
mov dword [edx + 0x98], fcn.0043d13c
jmp 0x43ecf5
mov dword [0x441788], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00403670
test eax, eax
jne 0x43ebb7
jmp case.0x43ddec.0
mov ecx, dword [0x4419a4]
mov dl, 1
mov eax, 0x425c50
call fcn.00428e00
mov edx, dword [ebp + 8]
mov dword [edx - 0x14], eax
push ebp
mov eax, dword [ebp + 8]
mov edx, dword [eax - 0x1c]
mov eax, 0xb4
call fcn.0043dc24
pop ecx
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 0x10]
call fcn.0043d3b0
pop ecx
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413b24
mov eax, dword [ebp + 8]
push eax
lea eax, [ebp - 4]
call fcn.0043d3b0
pop ecx
mov eax, dword [ebp - 4]
call fcn.00403670
test eax, eax
jle 0x43eeec
lea edx, [ebp - 0xc]
mov eax, dword [ebp - 4]
call fcn.0043d534
test al, al
je 0x43ee3e
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x10]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
call fcn.00413c38
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004192f8
lea eax, [ebp - 0x34]
mov edx, dword [ebp - 0xc]
add edx, 0x18
mov ecx, 0x20
call fcn.00402b68
lea edx, [ebp - 0x34]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.00419444
mov eax, dword [ebp - 0xc]
mov edx, dword [eax + 0x38]
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov eax, dword [eax + 0x44]
call fcn.004194a4
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3c], 0
je 0x43ee0a
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef84]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x3d], 0
je 0x43eeec
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov ebx, dword [eax + 0x44]
mov eax, ebx
call fcn.004194c4
mov edx, eax
or dl, byte [0x43ef88]
mov eax, dword [ebp + 8]
mov eax, ebx
call fcn.004194d0
jmp 0x43eeec
mov edx, 0x43eff8
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43ee61
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 1
call fcn.00429014
jmp 0x43eeec
mov edx, 0x43f008
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43ee84
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x14]
mov dl, 2
mov ecx, dword [eax]
call dword [ecx + 0x88]
jmp 0x43eeec
mov edx, 0x43efdc
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43eeb3
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0x9c], eax
mov dword [edx + 0x98], fcn.0043d13c
jmp 0x43eeec
mov edx, 0x43efcc
mov eax, dword [ebp - 4]
call fcn.00405df4
test eax, eax
jne 0x43eee2
mov eax, dword [ebp + 8]
mov eax, dword [eax - 0x10]
mov edx, dword [ebp + 8]
mov edx, dword [edx - 0x14]
mov dword [edx + 0xf8], eax
mov dword [edx + 0xf4], 0x43d280
jmp 0x43eeec
mov dword [0x441788], 0x10
mov eax, dword [ebp + 8]
mov eax, dword [eax - 4]
call fcn.00403670
test eax, eax
jne 0x43ed52
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x43ef1d
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x43ef57
lea eax, [ebp - 0x3c]
call fcn.004034fc
lea eax, [ebp - 0x38]
call fcn.004034fc
lea eax, [ebp - 0x10]
call fcn.004034fc
lea eax, [ebp - 8]
mov edx, 2
call fcn.0040351c
ret