Function at 0x408464
Capabilities:
Write file on windows

Disassembly:
push ebp
mov ebp, esp
push ebx
sub esp, 0xd4
mov dword [ebp - 0x4c], 0
mov dword [ebp - 0x50], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x24], str.GLOBAL__KnownDlls
mov dword [ebp - 0x54], 0
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x6c], 0
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x64], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x28], str.__GLOBALROOT
mov dword [ebp - 0x2c], str.GLOBAL__
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x30], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x9c], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov ecx, 0
mov eax, 0x18
and eax, 0xfffffffc
mov edx, eax
mov eax, 0
mov dword [ebp + eax - 0xb4], ecx
add eax, 4
cmp eax, edx
jb 0x408569
mov dword [ebp - 0x20], 0
call fcn.00409daf
test eax, eax
je 0x408e32
mov dword [esp + 4], 1
mov dword [esp], str.Advapi32.dll
call fcn.00403ba7
mov dword [esp + 8], 0
mov dword [esp + 4], 0x93bc9622
mov dword [esp], eax
call fcn.00403a28
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0
je 0x408e35
mov dword [esp + 4], 1
mov dword [esp], str.Advapi32.dll
call fcn.00403ba7
mov dword [esp + 8], 0
mov dword [esp + 4], 0x388211d
mov dword [esp], eax
call fcn.00403a28
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
je 0x408e38
mov dword [esp + 4], 1
mov dword [esp], str.Advapi32.dll
call fcn.00403ba7
mov dword [esp + 8], 0
mov dword [esp + 4], 0x7bdd4356
mov dword [esp], eax
call fcn.00403a28
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x38], 0
je 0x408e3b
mov dword [esp + 4], 1
mov dword [esp], str.KernelBase.dll
call fcn.00403ba7
mov dword [esp + 8], 0
mov dword [esp + 4], 0xcb970704
mov dword [esp], eax
call fcn.00403a28
mov dword [ebp - 0x3c], eax
cmp dword [ebp - 0x3c], 0
je 0x408e3e
mov dword [esp + 4], 1
mov dword [esp], str.Advapi32.dll
call fcn.00403ba7
mov dword [esp + 8], 0
mov dword [esp + 4], 0x6ae0e20
mov dword [esp], eax
call fcn.00403a28
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x40], 0
je 0x408e41
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00402063
test eax, eax
je 0x4086ca
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00401f8f
test eax, eax
je 0x408e44
lea eax, [ebp - 0x58]
mov dword [esp], eax
call fcn.00409e60
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e47
lea eax, [ebp - 0x4c]
mov dword [esp], eax
call fcn.004077af
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e4a
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x408720
lea eax, [ebp - 0x50]
mov dword [esp], eax
call fcn.004073dc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e4d
mov dword [ebp - 0xc], 1
lea eax, [ebp - 0x54]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call fcn.00404549
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e50
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 8
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
call eax
sub esp, 0xc
mov dword [ebp - 0x14], eax
cmp dword [ebp - 0x14], 0
je 0x408e53
mov dword [esp + 8], 0x104
mov eax, dword [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncpy
mov dword [esp + 8], 0x104
mov dword [esp + 4], 0x41b922
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncat
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncat
lea eax, [ebp - 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 4], str.foobar
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.00404631
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e56
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x408e56
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x40889d
mov dword [esp + 4], 1
lea eax, [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x34]
call eax
sub esp, 8
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e59
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 1
lea eax, [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x38]
call eax
sub esp, 0x10
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e5c
mov eax, dword [ebp - 0x5c]
lea edx, [ebp - 0x70]
mov dword [esp + 8], edx
mov dword [esp + 4], 4
mov dword [esp], eax
mov eax, dword [ebp - 0x40]
call eax
sub esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e5f
lea eax, [ebp - 0x78]
mov dword [esp], eax
call fcn.0040746c
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e62
mov dword [ebp - 0xc], 1
jmp 0x4088b6
mov eax, dword [ebp - 0x20]
call eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e65
mov dword [ebp - 0xc], 0
lea eax, [ebp - 0x74]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x2c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x28]
mov dword [esp], eax
call fcn.00404631
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e68
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 8
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
call eax
sub esp, 0xc
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x18], 0
je 0x408e6b
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov dword [esp + 8], 0x20a
mov dword [esp + 4], 8
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapAlloc]
call eax
sub esp, 0xc
mov dword [ebp - 0x1c], eax
cmp dword [ebp - 0x1c], 0
je 0x408e6e
mov dword [esp + 8], 0x104
mov dword [esp + 4], str.GLOBALROOTKnownDlls_
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncpy
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncat
mov dword [esp + 8], 0x104
mov dword [esp + 4], str.KernelObjects_
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncpy
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], 0x104
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_wcsncat
mov eax, dword [ebp - 0x1c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 4], eax
mov dword [esp], 9
mov eax, dword [ebp - 0x3c]
call eax
sub esp, 0xc
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x408a2a
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
cmp eax, 0xb7
je 0x408a2a
mov eax, dword [sym.imp.KERNEL32.dll_GetLastError]
call eax
mov ebx, eax
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Call_to_DefineDosDeviceW_failed__error:__ld
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sub.msvcrt.dll_fputc
jmp 0x408e87
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x408a4c
mov eax, dword [ebp - 0x20]
call eax
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e71
mov dword [ebp - 0xc], 0
jmp 0x408a6b
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call fcn.00406ba0
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e74
mov dword [ebp - 0xc], 1
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x1c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00404749
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x408ace
mov ebx, dword [ebp - 0x58]
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 8], ebx
mov dword [esp + 4], str.The_symbolic_link_KnownDlls_ls_was_not_created.
mov dword [esp], eax
call sub.msvcrt.dll_fprintf
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sub.msvcrt.dll_fputc
jmp 0x408e87
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x80]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x30]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.00409c61
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e77
lea eax, [ebp - 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00409246
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e7a
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x408b6b
lea eax, [ebp - 0x88]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x2a
mov dword [esp], 0xffffffff
call fcn.004030ac
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
jns 0x408b9e
jmp 0x408e87
lea eax, [ebp - 0x88]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0x2a
mov dword [esp], 0xfffffffe
call fcn.004033c4
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
js 0x408e7d
mov eax, dword [ebp - 0x88]
mov dword [esp + 8], 1
mov dword [esp + 4], str.SeAssignPrimaryTokenPrivilege
mov dword [esp], eax
call fcn.00403fbb
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e80
mov dword [ebp - 0xb4], 0x18
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0xac], 0
mov dword [ebp - 0xa4], 0
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0xc
mov dword [ebp - 0x98], 0
mov byte [ebp - 0x94], 0
mov byte [ebp - 0x93], 0
lea eax, [ebp - 0x9c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x88]
lea edx, [ebp - 0x8c]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
lea edx, [ebp - 0xb4]
mov dword [esp + 8], edx
mov dword [esp + 4], 0x2000000
mov dword [esp], eax
call fcn.004032dd
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x44], 0
je 0x408e83
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x8c]
lea ecx, [ebp - 0x90]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00409116
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
jne 0x408cf6
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x20
mov dword [esp + 4], 1
mov dword [esp], str.Failed_to_create_the_PPL_process
call sub.msvcrt.dll_fwrite
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sub.msvcrt.dll_fputc
jmp 0x408e87
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x408d5b
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
lea edx, [eax + eax]
mov eax, dword [ebp - 0x84]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov ebx, dword [ebp - 0x84]
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
call fcn.00402668
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0x44], 0
je 0x408e86
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
call fcn.0040308b
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0040308b
mov dword [ebp - 0x7c], 0
cmp dword [ebp - 0xc], 0
je 0x408db2
mov eax, dword [ebp - 0x20]
call eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.00402063
test eax, eax
jne 0x408e0f
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0x21
mov dword [esp + 4], 1
mov dword [esp], str.Failed__the_dump_was_not_created.
call sub.msvcrt.dll_fwrite
mov dword [esp], 1
mov eax, dword [fcn.0040b0f0]
call eax
mov dword [esp + 4], eax
mov dword [esp], 0xa
call sub.msvcrt.dll_fputc
jmp 0x408e87
mov dword [esp + 8], 1
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp], eax
call fcn.004026a0
mov dword [ebp - 0x10], 1
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
jmp 0x408e87
nop
cmp dword [ebp - 0xc], 0
je 0x408e98
cmp dword [ebp - 0x20], 0
je 0x408e98
mov eax, dword [ebp - 0x20]
call eax
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x408eb0
mov eax, dword [ebp - 0x8c]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x408f1f
mov eax, dword [ebp - 0x84]
test eax, eax
je 0x408f1f
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
lea edx, [eax + eax]
mov eax, dword [ebp - 0x84]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov ebx, dword [ebp - 0x84]
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x84], 0
cmp dword [ebp - 0x18], 0
je 0x408f79
cmp dword [ebp - 0x18], 0
je 0x408f79
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
add eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x18]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov edx, dword [ebp - 0x18]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x18], 0
cmp dword [ebp - 0x1c], 0
je 0x408fd3
cmp dword [ebp - 0x1c], 0
je 0x408fd3
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
add eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x1c]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x5c]
test eax, eax
je 0x408fe5
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.0040308b
cmp dword [ebp - 0x14], 0
je 0x40903f
cmp dword [ebp - 0x14], 0
je 0x40903f
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
add eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov edx, dword [ebp - 0x14]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x14], 0
mov eax, dword [ebp - 0x54]
test eax, eax
je 0x409051
mov eax, dword [ebp - 0x54]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x409063
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x409075
mov eax, dword [ebp - 0x50]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x4090d2
mov eax, dword [ebp - 0x58]
test eax, eax
je 0x4090d2
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call sub.msvcrt.dll_wcslen
lea edx, [eax + eax]
mov eax, dword [ebp - 0x58]
mov dword [esp + 8], edx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov ebx, dword [ebp - 0x58]
mov eax, dword [sym.imp.KERNEL32.dll_GetProcessHeap]
call eax
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
mov eax, dword [sym.imp.KERNEL32.dll_HeapFree]
call eax
sub esp, 0xc
mov dword [ebp - 0x58], 0
mov eax, dword [ebp - 0x7c]
test eax, eax
je 0x4090e4
mov eax, dword [ebp - 0x7c]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x90]
test eax, eax
je 0x4090fc
mov eax, dword [ebp - 0x90]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x40910e
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0040308b
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp - 4]
leave
ret