Function at 0x4123a0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x4316f0
push eax
mov dword fs:[0], esp
sub esp, 0x21c
push ebx
push esi
push edi
mov edi, ecx
mov ecx, dword [edi + 0x38]
push 0x104
call fcn.00401f10
mov eax, dword [edi + 0x38]
mov ecx, dword [eax]
push 0x104
push ecx
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
mov edx, dword [edi + 0x38]
mov eax, dword [edx]
lea esi, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4123f2
sub eax, esi
mov esi, dword [ebp + 8]
sar eax, 1
mov dword [edx + 4], eax
mov eax, esi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x412410
mov ecx, dword [edi + 0x3c]
sub eax, edx
sar eax, 1
je 0x412430
push esi
mov byte [edi + 0x19], 0
call fcn.00401010
jmp 0x41243d
mov edx, dword [edi + 0x38]
push edx
mov byte [edi + 0x19], 1
call fcn.00401dc0
call fcn.00407e90
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x1c], eax
mov byte [ebp + 0xb], 0
call fcn.00401f50
mov dword [ebp - 4], 0
mov ecx, 0x432284
mov eax, esi
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x412486
test dx, dx
je 0x412482
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x412486
add eax, 4
add ecx, 4
test dx, dx
jne 0x412460
xor eax, eax
jmp 0x41248b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x41256d
mov eax, dword [0x449654]
push 0xa
push 0x432f34
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceW]
mov ebx, eax
test ebx, ebx
jne 0x4124d8
push 0x432f30
lea ecx, [ebp - 0x228]
push str.Resource_not_found__s
push ecx
call fcn.0041d658
add esp, 0xc
push 1
push ebx
lea edx, [ebp - 0x228]
push edx
push 0xb
mov ecx, edi
call fcn.0040ee00
mov eax, dword [0x449654]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
mov esi, eax
test esi, esi
jne 0x412519
push 0x432f30
lea ecx, [ebp - 0x228]
push str.Resource_loading_error_found__s
push ecx
call fcn.0041d658
add esp, 0xc
push 1
push esi
lea edx, [ebp - 0x228]
push edx
push 0xb
mov ecx, edi
call fcn.0040ee00
jmp 0x41257a
mov eax, dword [0x449654]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_SizeofResource]
push eax
lea ecx, [ebp - 0x28]
call fcn.0040f7f0
mov ecx, dword [ebp - 0x24]
push ecx
push esi
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_LockResource]
mov edx, dword [ebp - 0x28]
push eax
push edx
call fcn.0041b2b0
lea eax, [ebp - 0x28]
push eax
lea ecx, [ebp - 0x18]
push ecx
call fcn.00415380
add esp, 0x14
push esi
call dword [sym.imp.KERNEL32.dll_FreeResource]
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 0
call fcn.00403600
jmp 0x41257a
lea edx, [ebp - 0x18]
push esi
push edx
call fcn.00415440
add esp, 8
mov ecx, dword [ebp - 0x18]
mov eax, dword [edi + 0x70]
mov dword [eax + 4], ecx
mov ecx, edi
call fcn.0040fa00
test al, al
je 0x41269a
lea ecx, [ebp - 0x18]
call fcn.00401f60
mov ecx, dword [edi + 0x6c]
call fcn.0040e530
test al, al
je 0x41269a
mov edx, dword [edi + 0x70]
mov esi, dword [edx]
nop
mov eax, dword [esi + 8]
cmp eax, 0x25
jne 0x41260e
mov eax, dword [esi + 0x10]
mov ecx, dword [edi + 0x74]
push eax
call fcn.0040bf20
test eax, eax
je 0x4125cd
mov dword [esi + 4], eax
jmp 0x4125f9
mov ecx, dword [esi + 0x18]
push ecx
lea edx, [ebp - 0x228]
push str.Undefined_lib_function__s
push edx
call fcn.0041d658
add esp, 0xc
push 1
push 0
lea eax, [ebp - 0x228]
push eax
push 0xb
mov ecx, edi
call fcn.0040ee00
mov ecx, dword [esi + 0x18]
push ecx
call fcn.0041bdc3
add esp, 4
mov dword [esi + 0x18], 0
jmp 0x41265c
cmp eax, 0x6b
je 0x41261d
cmp eax, 0x6d
je 0x41261d
cmp eax, 0x78
jne 0x41265c
mov edx, dword [esi + 0x10]
mov ecx, dword [edi + 0x6c]
push edx
call fcn.0040d290
mov dword [esi + 4], eax
test eax, eax
jne 0x41265c
mov eax, dword [esi + 0x18]
push eax
lea ecx, [ebp - 0x228]
push str.Undefined_class___s_
push ecx
call fcn.0041d658
add esp, 0xc
push 1
push 0
lea edx, [ebp - 0x228]
push edx
push 0xb
mov ecx, edi
call fcn.0040ee00
mov esi, dword [esi + 0x20]
test esi, esi
jne 0x4125b0
push str.Exception
call fcn.00407e50
mov ecx, dword [edi + 0x6c]
add esp, 4
push eax
call fcn.0040d290
mov ecx, dword [edi + 0xc]
mov dword [edi], eax
call fcn.004121a0
mov eax, dword [ebp - 0x1c]
push eax
call fcn.00407f60
add esp, 4
mov dword [edi + 0x48], eax
mov byte [ebp + 0xb], 1
mov bl, byte [ebp + 0xb]
lea ecx, [ebp - 0x18]
mov byte [edi + 4], bl
call fcn.00403600
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov al, bl
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 4