Function at 0x45d840
Capabilities:
Accept command line arguments
Acquire debug privileges
Check os version
Get common file path
Get hostname
Get memory capacity
Initialize winsock library
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x34c
mov eax, dword [0x4b31cc]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov dword [ebp - 0x308], eax
lea eax, [ebp - 0x318]
push eax
push 0x64
push 0
mov dword [ebp - 0x31c], ebx
mov dword [ebp - 0x318], 0
call sub.NETAPI32.dll_NetWkstaGetInfo
mov eax, dword [ebp - 0x318]
push eax
mov ecx, dword [eax + 0xc]
mov dword [ebp - 0x300], ecx
call sub.NETAPI32.dll_NetApiBufferFree
push 0x49ef40
push 0x49ef54
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov esi, dword [sym.imp.KERNEL32.dll_GetProcAddress]
push eax
call esi
test eax, eax
je 0x45d8bb
push 0x48cc00
call eax
push 0x49ef70
push 0x49a848
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call esi
mov esi, eax
mov edi, 1
test esi, esi
je 0x45d909
lea eax, [ebp - 0x2fc]
mov dword [ebp - 0x2fc], 0
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call esi
movzx eax, byte [0x4b505a]
cmp dword [ebp - 0x2fc], 0
cmovne eax, edi
mov byte [0x4b505a], al
lea eax, [ebp - 0x2d8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call dword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov esi, eax
mov dword [0x4b527c], ebx
lea eax, [ebp - 0x310]
mov dword [ebp - 0x310], 0x104
push eax
push 0x4b52b0
call dword [sym.imp.KERNEL32.dll_GetComputerNameW]
push 0x104
push 0x4b54b8
call dword [sym.imp.KERNEL32.dll_GetSystemDirectoryW]
push 0x5c
push 0x4b54be
call fcn.0046f5b7
xor ecx, ecx
push esi
mov word [eax], cx
lea eax, [ebp - 0x2d8]
push eax
push 0x48f9d4
call fcn.0040b6a0
add esp, 0x14
test eax, eax
setne cl
test cl, cl
jne 0x45d995
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046dfbe
mov esp, ebp
pop ebp
ret 0x10
push 1
push esi
lea eax, [ebp - 0x2d8]
push eax
push 0x49ef80
call fcn.0044b710
push 0
mov edi, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49ef90
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49efa4
setne byte [ebp - 0x2eb]
call fcn.0044b710
push 1
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49efbc
setne byte [ebp - 0x2ed]
call fcn.0044b710
add esp, 0x40
mov dword [ebp - 0x324], eax
lea eax, [ebp - 0x2d8]
push 1
push esi
push eax
push 0x49efcc
call fcn.0044b710
push 1
mov dword [ebp - 0x320], eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49efdc
call fcn.0044b710
push 0
mov dword [ebp - 0x32c], eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49efec
call fcn.0044b710
push 1
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f00c
setne byte [ebp - 0x2da]
call fcn.0044b710
add esp, 0x40
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x2d8]
push 0
push esi
push eax
push 0x49f024
call fcn.0044b710
push 1
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f038
setne byte [ebp - 0x2e6]
call fcn.0044b710
push 1
mov dword [ebp - 0x2fc], eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f050
call fcn.0044b710
push 0
mov dword [ebp - 0x330], eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f06c
call fcn.0044b710
add esp, 0x40
test eax, eax
lea eax, [ebp - 0x2d8]
setne byte [ebp - 0x2d9]
push 0
push esi
push eax
push 0x48fcec
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f084
setne byte [ebp - 0x2f5]
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f098
setne byte [ebp - 0x2e5]
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f0a8
setne byte [ebp - 0x2e9]
call fcn.0044b710
add esp, 0x40
test eax, eax
lea eax, [ebp - 0x2d8]
setne byte [ebp - 0x2e7]
push 0
push esi
push eax
push 0x49f0bc
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f0c8
setne byte [ebp - 0x2ea]
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
setne bh
push 0x49f0cc
mov byte [ebp - 0x2ec], bh
call fcn.0044b710
add esp, 0x30
test eax, eax
setne al
test al, al
je 0x45dbbb
or dword [0x4b3110], 8
push 0
push esi
lea eax, [ebp - 0x2d8]
push eax
push str.ExternalCapture
call fcn.0044b710
push 0
test eax, eax
lea eax, [ebp - 0x2d8]
push esi
push eax
push 0x49f108
setne byte [ebp - 0x2e8]
call fcn.0044b710
add esp, 0x20
test eax, eax
setne bl
mov byte [ebp - 0x2f4], bl
test bh, bh
jne 0x45dc1c
test edi, edi
jne 0x45dc1c
call fcn.00435240
test al, al
jne 0x45dc1c
mov al, byte [0x4b505a]
test al, al
je 0x45dc18
test bl, bl
jne 0x45dc21
mov bh, 1
jmp 0x45dc23
mov al, byte [0x4b505a]
xor bh, bh
mov byte [ebp - 0x310], bh
test al, al
je 0x45dc35
test bl, bl
jne 0x45dc35
mov bl, 1
jmp 0x45dc37
xor bl, bl
mov byte [ebp - 0x2e0], bl
test edi, edi
je 0x45dc7e
test bl, bl
je 0x45dc7e
push 0x588
call fcn.0046d6f6
add esp, 4
test eax, eax
je 0x45dc5f
mov ecx, eax
call fcn.00414e10
jmp 0x45dc61
xor eax, eax
push edi
mov ecx, eax
call fcn.004667a0
cmp eax, 0xffffffff
je 0x45dc7e
and al, 1
neg al
sbb al, al
and al, bl
mov bl, al
mov byte [ebp - 0x2e0], bl
test bh, bh
je 0x45dd35
lea eax, [ebp - 0x314]
mov dword [ebp - 0x2e4], 0
push eax
push 0x49f118
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyW]
test eax, eax
jne 0x45dce4
lea eax, [ebp - 0x328]
mov dword [ebp - 0x328], 4
push eax
lea eax, [ebp - 0x2e4]
push eax
push 0
push 0
push 0x49f18c
push dword [ebp - 0x314]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x314]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x300], 6
jb 0x45dcf6
cmp dword [ebp - 0x2e4], 0
jne 0x45dd35
push 0
push ecx
mov esi, esp
push 0x49f1a0
call fcn.00468d70
push eax
push 0x49f1a0
call fcn.00468f00
add esp, 0xc
mov dword [esi], eax
call fcn.00436750
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046dfbe
mov esp, ebp
pop ebp
ret 0x10
test bl, bl
jne 0x45e64d
test bh, bh
jne 0x45e64d
mov eax, dword [ebp - 0x330]
test eax, eax
je 0x45dd64
push eax
push 0x104
push 0x4b5060
call fcn.0046d74c
add esp, 0xc
jmp 0x45dd76
push 0x104
push 0x4b5060
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov eax, dword [ebp - 0x32c]
mov dword [ebp - 0x2e0], 0
test eax, eax
je 0x45dd98
mov dword [ebp - 0x2e0], 2
mov ebx, eax
jmp 0x45ddb6
mov eax, dword [ebp - 0x320]
test eax, eax
je 0x45ddb0
mov dword [ebp - 0x2e0], 1
mov ebx, eax
jmp 0x45ddb6
mov ebx, dword [ebp - 0x324]
cmp byte [ebp - 0x2ec], 0
jne 0x45e62e
cmp dword [ebp - 0x2d8], 1
jne 0x45e599
cmp byte [ebp - 0x2d9], 0
je 0x45dde6
cmp dword [ebp - 0x2fc], 0
jne 0x45e599
test ebx, ebx
je 0x45de06
test edi, edi
jne 0x45de06
push 0x10
push 0x48f9d4
push 0x49f2e0
push edi
call dword [sym.imp.USER32.dll_MessageBoxW]
jmp 0x45dd1d
cmp byte [ebp - 0x2da], 0
mov esi, dword [sym.imp.USER32.dll_MessageBoxW]
je 0x45de5c
test ebx, ebx
jne 0x45de5c
push 0x49f358
call fcn.00468d70
push eax
push 0x49f358
call fcn.00468f00
add esp, 0xc
mov dword [ebp - 0x2e4], eax
lea ecx, [ebp - 0x2e4]
push 0x10
push 0x48f9d4
call fcn.004689b0
push eax
push ebx
call esi
mov ecx, dword [ebp - 0x2e4]
test ecx, ecx
je 0x45de5c
call fcn.00468f40
mov ecx, 0x4b49d0
call fcn.00416890
test al, al
jne 0x45de7f
push 0x10
push 0x48f9d4
push 0x49f3e0
push 0
call esi
jmp 0x45dd1d
cmp byte [ebp - 0x2ed], 0
je 0x45ded7
mov ebx, dword [sym.imp.USER32.dll_FindWindowW]
xor esi, esi
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x49ee98
call ebx
test eax, eax
jne 0x45deb2
push 0x64
call edi
inc esi
cmp esi, 0x64
jl 0x45de96
jmp 0x45dd1d
push 0
push 0
push 0x8009
push eax
call dword [sym.imp.USER32.dll_SendMessageW]
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0046dfbe
mov esp, ebp
pop ebp
ret 0x10
cmp byte [ebp - 0x2eb], 0
je 0x45df00
push 0
push 0x49ee98
call dword [sym.imp.USER32.dll_FindWindowW]
test eax, eax
je 0x45dd1d
push 0
push 0
push 0x800a
jmp 0x45debb
push 0x4000000
mov ecx, 0x4b5c9c
call fcn.0044c4c0
push 0x38
lea eax, [ebp - 0x3c]
mov dword [ebp - 0x44], 0x40
push 0
push eax
mov dword [ebp - 0x40], 0
call fcn.0046e870
add esp, 0xc
lea eax, [ebp - 0x44]
push eax
call dword [sym.imp.KERNEL32.dll_GlobalMemoryStatusEx]
cmp dword [ebp - 0x300], 6
mov ecx, dword [ebp - 0x3c]
sbb eax, eax
and eax, 0xef4f8a00
add eax, 0x1dcd6500
sub ecx, eax
mov eax, dword [ebp - 0x38]
push 0
sbb eax, 0
shld eax, ecx, 1
push 3
add ecx, ecx
push eax
push ecx
call fcn.00470410
mov dword [0x4b5290], eax
mov dword [0x4b5294], edx
test edx, edx
jg 0x45df92
jl 0x45df7e
cmp eax, 0x800000
jae 0x45df85
mov eax, 0x800000
jmp 0x45df97
test edx, edx
jl 0x45dfa4
jg 0x45df92
cmp eax, 0x3e800000
jb 0x45dfa4
mov eax, 0x3e800000
xor edx, edx
mov dword [0x4b5290], eax
mov dword [0x4b5294], edx
add eax, 0x2000000
push 0x49f4a8
adc edx, 0
mov dword [0x4b5298], eax
mov dword [0x4b529c], edx
call fcn.0040ea00
add esp, 4
push 0
call dword [sym.imp.ole32.dll_OleInitialize]
push 1
push 0x49f4cc
push 0x49f4f0
push 0x49bea8
push dword [ebp - 0x2f4]
call fcn.00433510
xor eax, eax
push 0x18e
push eax
mov word [ebp - 0x2d4], ax
lea eax, [ebp - 0x2d2]
push eax
call fcn.0046e870
add esp, 0x20
lea eax, [ebp - 0x2d4]
push eax
push 0x202
call dword [sym.imp.WS2_32.dll_WSAStartup]
push fcn.00452100
call fcn.0046fe0c
push 1
call fcn.004714eb
add esp, 8
push 1
push 0x445db0
call dword [sym.imp.KERNEL32.dll_SetConsoleCtrlHandler]
push 1
push 0x1ff
call dword [sym.imp.KERNEL32.dll_SetProcessShutdownParameters]
cmp byte [0x4b505a], 0
mov ecx, 0x49f568
push 0
push 0x4b526c
push 0
push 0xf003f
push 0
push 0
mov eax, 0x49f518
cmove eax, ecx
push 0
push eax
push reloc.WS2_32.dll_accept
mov dword [0x4b5270], eax
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push dword [0x4b526c]
lea ecx, [ebp - 0x30c]
call fcn.00463690
lea eax, [ebp - 0x30c]
push eax
call fcn.00463c10
add esp, 4
lea ecx, [ebp - 0x30c]
call fcn.004636b0
push dword [0x4b5858]
mov ecx, 0x4b49d0
call fcn.00418400
cmp dword [ebp - 0x304], 0
je 0x45e155
lea ecx, [ebp - 0x144]
call fcn.00414c30
push 0
push 1
push dword [ebp - 0x304]
lea ecx, [ebp - 0x144]
call fcn.0042f0e0
test al, al
jne 0x45e11e
push 0x10
push 0x48f9d4
push 0x49f5b8
push 0
call esi
lea ecx, [ebp - 0x144]
call fcn.00415080
mov ecx, dword [ebp - 4]
mov eax, 2
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0046dfbe
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x144]
push eax
lea ecx, [ebp - 0x30c]
call fcn.00463670
lea eax, [ebp - 0x30c]
push eax
call fcn.00463c10
add esp, 4
lea ecx, [ebp - 0x30c]
call fcn.004636b0
lea ecx, [ebp - 0x144]
call fcn.00415080
cmp byte [ebp - 0x2e8], 0
je 0x45e165
or dword [0x4b3110], 0x10
cmp byte [ebp - 0x2e6], 0
je 0x45e17a
push 0
mov ecx, 0x4b4a54
call fcn.00456c20
push 0x4b5c90
push 0x49f61c
push dword [0x4b526c]
call fcn.00435420
mov eax, dword [ebp - 0x2fc]
add esp, 0xc
test eax, eax
je 0x45e1c8
push 0
push 0x4b5a78
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetFullPathNameW]
push 0x49bea8
push 0x104
push 0x4b5a78
call fcn.004346c0
add esp, 0xc
jmp 0x45e1d9
cmp byte [ebp - 0x2d9], 0
je 0x45e1d9
xor eax, eax
mov word [0x4b5a78], ax
call fcn.00435340
test al, al
je 0x45e1f0
or dword [0x4b3110], 0x40
mov byte [0x4b52a0], 1
mov eax, dword [0x4b5854]
mov ecx, 1
cmp byte [ebp - 0x2f5], 0
cmovne eax, ecx
mov dword [0x4b5854], eax
call fcn.0046af00
test edi, edi
je 0x45e341
test ebx, ebx
je 0x45e341
push 0x2e
push ebx
call fcn.0046f665
add esp, 8
test eax, eax
je 0x45e32c
push eax
call fcn.0044b800
add esp, 4
mov dword [ebp - 0x2f4], eax
test eax, eax
js 0x45e32c
push 0
push edi
push 0
call fcn.004512f0
add esp, 0xc
test al, al
je 0x45dd1d
push 0
mov ecx, 0x4b49d0
call fcn.00417310
cmp dword [ebp - 0x2e0], 2
mov ecx, 0x4b49d0
setge al
cmp dword [ebp - 0x2e0], 1
movzx eax, al
push eax
setge al
movzx eax, al
push eax
mov eax, dword [ebp - 0x2f4]
push 1
push dword [eax*8 + 0x49be84]
xor eax, eax
cmp byte [ebp - 0x2da], al
setne al
push eax
push ebx
push 0
call fcn.004203c0
mov edi, eax
test edi, edi
je 0x45dec2
push 0x49f68c
call fcn.00468d70
push eax
push 0x49f68c
call fcn.00468f00
mov dword [ebp - 0x2e0], eax
lea eax, [ebp - 0x2f4]
push edi
push eax
call fcn.00458180
add esp, 0x14
lea ecx, [ebp - 0x2e0]
push eax
call fcn.00468b50
mov ecx, dword [ebp - 0x2f4]
test ecx, ecx
je 0x45e2fd
call fcn.00468f40
push 0x10
push 0x48f9d4
lea ecx, [ebp - 0x2e0]
call fcn.004689b0
push eax
push 0
call esi
mov ecx, dword [ebp - 0x2e0]
test ecx, ecx
je 0x45dd1d
call fcn.00468f40
jmp 0x45dd1d
push 0x10
push 0x48f9d4
push 0x49f638
push 0
call esi
jmp 0x45dd1d
cmp byte [ebp - 0x2e9], 0
jne 0x45e570
push 0x49e684
call dword [sym.imp.USER32.dll_RegisterWindowMessageW]
mov ebx, dword [ebp - 0x31c]
push 0x49f6c0
push ebx
mov dword [0x4b5268], eax
call dword [sym.imp.USER32.dll_LoadAcceleratorsW]
push ebx
mov dword [ebp - 0x2f4], eax
call fcn.0044cbe0
mov esi, dword [sym.imp.KERNEL32.dll_MulDiv]
add esp, 4
push 0
push ebx
push 0
push 0
push 0x60
push dword [0x4b4858]
push 0x12c
call esi
push eax
push 0x60
push dword [0x4b4854]
push 0x1f4
call esi
push eax
push 0x60
push dword [0x4b4858]
push 0xc8
call esi
push eax
push 0x60
push dword [0x4b4854]
push 0x64
call esi
mov bl, byte [ebp - 0x2e7]
mov ecx, 0x20000000
push eax
xor eax, eax
test bl, bl
cmovne eax, ecx
or eax, 0xcf0000
push eax
push 0x49bf50
push 0x49ee98
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
mov ecx, eax
mov dword [0x4b5278], ecx
test ecx, ecx
je 0x45dd1d
test bl, bl
je 0x45e40e
mov eax, 2
jmp 0x45e41c
mov eax, dword [ebp + 0x14]
mov edx, 5
cmp eax, 1
cmove eax, edx
push eax
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
push dword [0x4b5278]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, 0x4b4a54
call fcn.00413510
test al, al
jne 0x45e468
test bl, bl
jne 0x45e468
cmp byte [ebp - 0x2ea], bl
jne 0x45e468
push 1
push 0x44af40
push dword [0x4b5278]
push 0x49f6dc
push dword [0x4b527c]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
push dword [0x4b5278]
call fcn.00445eb0
add esp, 4
test al, al
je 0x45e488
push 0
mov ecx, 0x4b49d0
call fcn.00417310
jmp 0x45e4f4
test edi, edi
je 0x45e4c0
cmp byte [0x4b584d], 0
je 0x45e4ad
push 0
push 0x9c53
push 0x111
push dword [0x4b5278]
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push edi
push dword [0x4b5278]
call fcn.004512f0
add esp, 0xc
jmp 0x45e4f4
cmp byte [ebp - 0x2e5], 0
jne 0x45e4f4
cmp byte [0x4b505a], 0
jne 0x45e4f4
xor eax, eax
cmp dword [ebp - 0x2fc], eax
setne al
push eax
push 0x9c87
push 0x111
push dword [0x4b5278]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, dword [sym.imp.USER32.dll_GetMessageW]
lea eax, [ebp - 0x34c]
push 0
push 0
push 0
push eax
call edi
test eax, eax
je 0x45e575
mov ebx, dword [sym.imp.USER32.dll_TranslateMessage]
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov esi, eax
lea eax, [ebp - 0x34c]
push eax
push dword [ebp - 0x2f4]
push esi
call dword [sym.imp.USER32.dll_TranslateAcceleratorW]
test eax, eax
jne 0x45e55b
lea eax, [ebp - 0x34c]
push eax
push esi
call dword [sym.imp.USER32.dll_IsDialogMessageW]
test eax, eax
jne 0x45e55b
lea eax, [ebp - 0x34c]
push eax
call ebx
lea eax, [ebp - 0x34c]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageW]
push 0
push 0
push 0
lea eax, [ebp - 0x34c]
push eax
call edi
test eax, eax
jne 0x45e513
jmp 0x45e575
call fcn.00438df0
push 0
call fcn.00439530
push 0x4b5c90
push 0x49f61c
push dword [0x4b526c]
call fcn.00436320
add esp, 0x10
jmp 0x45dec2
mov esi, dword [esi + 4]
push esi
call fcn.00468d70
push eax
push esi
call fcn.00468f00
push 0x49f2b4
mov dword [ebp - 0x300], eax
call fcn.00468d70
push eax
push 0x49f2b4
call fcn.00468f00
add esp, 0x18
mov dword [ebp - 0x304], eax
lea eax, [ebp - 0x300]
lea ecx, [ebp - 0x304]
push eax
lea eax, [ebp - 0x2e4]
push eax
call fcn.00468a70
mov ecx, dword [ebp - 0x304]
test ecx, ecx
je 0x45e5f5
call fcn.00468f40
mov ecx, dword [ebp - 0x300]
test ecx, ecx
je 0x45e604
call fcn.00468f40
push 0x10
push 0x48f9d4
lea ecx, [ebp - 0x2e4]
call fcn.004689b0
push eax
push 0
call dword [sym.imp.USER32.dll_MessageBoxW]
mov ecx, dword [ebp - 0x2e4]
test ecx, ecx
je 0x45e62e
call fcn.00468f40
push 0
push 0x40be60
push 0
push 0x49ecbc
push dword [ebp - 0x31c]
call dword [sym.imp.USER32.dll_DialogBoxParamW]
jmp 0x45dd1d
push dword [ebp - 0x308]
lea ecx, [ebp - 0x308]
call fcn.00403d40
mov eax, dword [eax]
test eax, eax
je 0x45e668
mov eax, dword [eax]
jmp 0x45e66a
xor eax, eax
push dword [ebp - 0x310]
push dword [ebp - 0x2e0]
push eax
push dword [ebp + 0x14]
call fcn.00435ee0
add esp, 0x10
lea ecx, [ebp - 0x308]
test al, al
sete bl
call fcn.004039e0
test bl, bl
je 0x45dec2
push 0
push ecx
mov esi, esp
push 0x49f218
call fcn.00468d70
push eax
push 0x49f218
jmp 0x45dd0b