Function at 0x403cd8
Capabilities:
Extract resource via kernel32 functions
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x453785
mov eax, dword fs:[0]
push eax
sub esp, 0x824
mov eax, dword [0x47a550]
xor eax, esp
mov dword [esp + 0x820], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x47a550]
xor eax, esp
push eax
lea eax, [esp + 0x838]
mov dword fs:[0], eax
mov ebx, ecx
xor ebp, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], ebp
mov dword [esp + 0x840], ebp
push dword [esp + 0x84c]
lea ecx, [esp + 0x18]
push dword [esp + 0x84c]
call fcn.0040c69c
test al, al
jne 0x403dd9
mov esi, str.hwang
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x7f2
lea eax, [esp + 0x46]
push ebp
push eax
movsw word es:[edi], word [esi]
call fcn.0042e030
add esp, 0xc
lea eax, [esp + 0x40]
push dword [esp + 0x84c]
push dword [esp + 0x84c]
push str.LoadResource_failed._Type_:__s_ID_:__s_r_n
push eax
call fcn.0042e0c0
mov ebx, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
add esp, 0x10
lea eax, [esp + 0x34]
push eax
call ebx
mov esi, str.hwang
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x7f2
lea eax, [esp + 0x46]
push ebp
push eax
movsw word es:[edi], word [esi]
call fcn.0042e030
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x44]
push str.hwang_err:_d_r_n
push eax
call fcn.0042e0c0
add esp, 0xc
lea eax, [esp + 0x34]
push eax
call ebx
jmp 0x403eb8
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_LockResource]
mov esi, eax
test esi, esi
jne 0x403e25
mov esi, str.hwang
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x7f2
lea eax, [esp + 0x46]
push ebp
push eax
movsw word es:[edi], word [esi]
call fcn.0042e030
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
lea eax, [esp + 0x44]
push str.LockResource_failed.hwang_err:_d_r_n
push eax
call fcn.0042e0c0
add esp, 0xc
jmp 0x403e6d
push dword [esp + 0x18]
push dword [0x47bfc8]
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov edi, eax
test edi, edi
jne 0x403e7a
mov esi, str.hwang
lea edi, [esp + 0x34]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x7f2
lea eax, [esp + 0x46]
push ebp
push eax
movsw word es:[edi], word [esi]
call fcn.0042e030
add esp, 0xc
lea eax, [esp + 0x40]
push str.ResSize__0_r_n
push eax
call fcn.0042e0c0
pop ecx
pop ecx
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x403eb8
mov edx, dword [esp + 0x84c]
push 0xffffffffffffffff
lea ecx, [esp + 0x20]
call fcn.0040cb70
pop ecx
mov byte [esp + 0x840], 1
cmp dword [esp + 0x30], 0x10
lea eax, [esp + 0x1c]
cmovae eax, dword [esp + 0x1c]
push eax
push edi
push esi
mov ecx, ebx
call fcn.00403ef5
lea ecx, [esp + 0x1c]
mov ebp, eax
call fcn.004026ae
cmp dword [esp + 0x14], 0
je 0x403ec9
push dword [esp + 0x14]
call dword [sym.imp.KERNEL32.dll_FreeResource]
mov eax, ebp
mov ecx, dword [esp + 0x838]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x820]
xor ecx, esp
call fcn.0042d16b
add esp, 0x830
ret 8