Function at 0x445766
Capabilities:
Extract resource via kernel32 functions

Disassembly:
push 0x54
mov eax, 0x4a1d9d
call fcn.0048d015
mov esi, ecx
xor edi, edi
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], edi
call fcn.0046d63c
push eax
lea ecx, [ebp - 0x18]
call fcn.00401764
mov dword [ebp - 4], edi
call fcn.0046d63c
push eax
lea ecx, [ebp - 0x14]
call fcn.00401764
push 0xffffffffffffffff
push edi
lea ecx, [esi + 4]
mov byte [ebp - 4], 1
call fcn.00470236
push dword [ebp + 8]
lea ecx, [esi + 0x5c]
call fcn.004018c1
lea ecx, [ebp - 0x38]
call fcn.0046ec72
mov byte [ebp - 4], 3
call fcn.00471426
mov eax, dword [eax + 0xc]
push 0x17
push 0x7b1
push eax
call dword [sym.imp.KERNEL32.DLL_FindResourceA]
mov ebx, eax
cmp ebx, edi
je 0x445839
push ebx
push edi
call dword [sym.imp.KERNEL32.DLL_LoadResource]
cmp eax, edi
je 0x445839
push eax
call dword [sym.imp.KERNEL32.DLL_LockResource]
cmp eax, edi
mov dword [ebp + 8], eax
je 0x445839
call fcn.00471426
mov eax, dword [eax + 0xc]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_SizeofResource]
push eax
push dword [ebp + 8]
lea ecx, [ebp + 8]
call fcn.0043c91c
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 4
call fcn.004018c1
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
jmp 0x445839
xor edi, edi
push 0
xor ecx, ecx
pop edx
sub ecx, 2
mov eax, edx
sbb eax, edi
xor ebx, ebx
cmp ebx, eax
jg 0x445860
jl 0x445853
xor eax, eax
cmp eax, ecx
jae 0x445860
cmp edx, edi
jg 0x445870
jl 0x445860
xor eax, eax
cmp eax, 0xa
ja 0x445870
lea ecx, [ebp - 0x14]
call fcn.004600f3
cmp eax, edi
jne 0x44596e
mov eax, dword [ebp - 0x28]
add dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x24]
push edi
adc dword [ebp - 0x2c], eax
push 0xa
lea ecx, [ebp - 0x14]
call fcn.00406acd
mov ebx, eax
cmp ebx, edi
jle 0x4458ef
push ebx
lea eax, [ebp + 8]
push eax
lea ecx, [ebp - 0x14]
call fcn.004013d0
push eax
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 5
call fcn.004018c1
mov byte [ebp - 4], 3
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
inc eax
cdq
mov dword [ebp - 0x28], eax
push ebx
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x24], edx
call fcn.004013ad
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.004018c1
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x1c]
add ecx, 0xfffffff0
call fcn.0040174a
jmp 0x4458fb
jne 0x445905
mov dword [ebp - 0x28], 2
mov dword [ebp - 0x24], edi
lea edi, [ebp - 0x14]
call fcn.00403dbc
jmp 0x445927
lea eax, [ebp - 0x14]
push eax
lea ecx, [ebp - 0x18]
call fcn.004018c1
mov eax, dword [ebp - 0x18]
mov eax, dword [eax - 0xc]
inc eax
cdq
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x24], edx
call fcn.00401979
lea edi, [ebp - 0x18]
call fcn.00403dbc
mov ebx, edi
call fcn.00403d6e
mov eax, dword [ebp - 0x18]
cmp dword [eax - 0xc], 0
jle 0x445837
mov eax, edi
push 0x4b9da0
push eax
call fcn.0045fc0d
test eax, eax
pop ecx
pop ecx
jne 0x445837
lea ecx, [esi + 4]
mov eax, dword [ecx + 8]
mov edx, edi
push edx
push eax
call fcn.004705a2
jmp 0x445837
mov dword [ebp - 4], 1
call fcn.0046ec88
call fcn.0046d63c
push eax
lea ecx, [ebp + 8]
call fcn.00401764
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0047ab5a
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.0047ab5a
mov byte [ebp - 4], 0xa
cmp dword [esi + 0xc], edi
jle 0x445aa4
lea ebx, [esi + 0x18]
push edi
lea ecx, [esi + 4]
call fcn.00483044
push eax
lea ecx, [ebp + 8]
call fcn.004018c1
push 0
push edi
mov ecx, ebx
call fcn.0047f01e
lea eax, [ebp + 8]
push 0x4b9da4
push eax
call fcn.0045fc0d
test eax, eax
pop ecx
pop ecx
je 0x4459f1
push edi
push dword [ebp - 0x44]
lea ecx, [ebp - 0x4c]
call fcn.0047f01e
jmp 0x445a9a
lea eax, [ebp + 8]
push str.else
push eax
call fcn.0045fc0d
test eax, eax
pop ecx
pop ecx
je 0x445a3c
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00433567
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.0047f01e
lea eax, [edi + 1]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.0047f01e
mov eax, dword [ebp - 0x44]
push edi
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.0044722f
jmp 0x445a9a
lea eax, [ebp + 8]
push str.endif
push eax
call fcn.0045fc0d
test eax, eax
pop ecx
pop ecx
jne 0x445a64
lea eax, [ebp + 8]
push str.end_if
push eax
call fcn.0045fc0d
test eax, eax
pop ecx
pop ecx
je 0x445a9a
mov eax, dword [ebp - 0x44]
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.00433567
push eax
push edi
mov ecx, ebx
mov dword [ebp - 0x1c], eax
call fcn.0047f01e
lea eax, [edi + 1]
push eax
push dword [ebp - 0x1c]
mov ecx, ebx
call fcn.0047f01e
mov eax, dword [ebp - 0x44]
push 1
dec eax
push eax
lea ecx, [ebp - 0x4c]
call fcn.0047ab81
inc edi
cmp edi, dword [esi + 0xc]
jl 0x4459b0
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 9
call fcn.0047ab71
lea ecx, [ebp - 0x60]
mov byte [ebp - 4], 8
call fcn.0047ab71
mov ecx, dword [ebp + 8]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [ebp - 0x14]
add ecx, 0xfffffff0
call fcn.0040174a
mov ecx, dword [ebp - 0x18]
add ecx, 0xfffffff0
call fcn.0040174a
xor eax, eax
inc eax
jmp 0x445b16
call fcn.0048d0ba
ret 4