Function at 0x41edd0
Capabilities:
Extract resource via kernel32 functions

Disassembly:
sub esp, 0x64
mov eax, dword [0x434f14]
cmp eax, 0xffffffff
push ebx
push esi
push edi
push ebp
jl 0x41ede9
test eax, eax
jle 0x41f1bc
mov eax, dword [esp + 0x80]
test eax, eax
jl 0x41f1b0
cmp eax, 0x20
jge 0x41f1b0
lea ecx, [eax + eax*2]
lea eax, [eax + ecx*4]
lea ebx, [eax*4]
cmp dword [ebx + 0x43ab90], 0
jne 0x41f1b0
mov eax, dword [0x434f18]
mov dword [esp + 0x14], eax
test eax, eax
jne 0x41ee39
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [0x434f18], eax
mov dword [esp + 0x14], eax
xor eax, eax
mov ecx, dword [esp + 0x7c]
mov dword [ebx + 0x43aba4], eax
mov dword [ebx + 0x43aba0], eax
mov dword [ebx + 0x43aba8], ecx
mov dword [ebx + 0x43ab94], eax
mov eax, dword [0x434f14]
cmp eax, 1
je 0x41ee8c
cmp eax, 2
je 0x41ef26
cmp eax, 3
je 0x41f04d
mov eax, 1
pop ebp
mov dword [0x434f24], 1
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
test ecx, ecx
je 0x41eebf
mov edi, dword [esp + 0x78]
push 0
mov dword [ebx + 0x43ab94], 0
push edi
call fcn.0041c620
add esp, 8
mov dword [ebx + 0x43ab98], eax
test eax, eax
je 0x41ee73
mov dword [ebx + 0x43ab90], 1
jmp 0x41ee73
mov edi, dword [esp + 0x78]
push str.WAVE
mov eax, dword [esp + 0x18]
push edi
push eax
mov ebp, dword [sym.imp.KERNEL32.dll_FindResourceA]
call ebp
test eax, eax
jne 0x41eeee
push edi
push 0xffffffffffffffff
call fcn.0041b530
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
push eax
mov ebp, dword [sym.imp.KERNEL32.dll_LoadResource]
mov eax, dword [esp + 0x18]
push eax
call ebp
push eax
mov dword [ebx + 0x43ab94], eax
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebx + 0x43ab98], eax
test eax, eax
je 0x41ee73
mov dword [ebx + 0x43ab90], 1
jmp 0x41ee73
mov ebp, dword [esp + 0x84]
test ebp, ebp
jle 0x41ef36
cmp ebp, 8
jle 0x41ef3b
mov ebp, 8
test ecx, ecx
je 0x41ef67
lea esi, [ebx + 0x43ab9c]
push 1
mov eax, dword [esp + 0x18]
mov edi, dword [esp + 0x7c]
push eax
mov ecx, dword [0x434f20]
mov dword [ebx + 0x43ab98], 0
push edi
push ecx
jmp 0x41f031
mov edi, dword [esp + 0x78]
push 0x435034
mov eax, dword [esp + 0x18]
push edi
push eax
call dword [sym.imp.KERNEL32.dll_FindResourceA]
mov esi, eax
test esi, esi
jne 0x41ef96
push edi
push 0xffffffffffffffff
call fcn.0041b530
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
mov eax, dword [esp + 0x14]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_LoadResource]
push eax
mov dword [ebx + 0x43ab94], eax
call dword [sym.imp.KERNEL32.dll_LockResource]
lea edi, [esp + 0x2c]
mov ecx, 0x12
mov dword [ebx + 0x43ab98], eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x14]
push esi
push ecx
call dword [sym.imp.KERNEL32.dll_SizeofResource]
mov dword [esp + 0x40], eax
push eax
push 0x2000
call dword [sym.imp.KERNEL32.dll_GlobalAlloc]
mov esi, dword [ebx + 0x43ab98]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x44]
lea esi, [ebx + 0x43ab9c]
mov eax, dword [esp + 0x14]
push 4
push eax
mov edx, dword [0x434f20]
mov dword [esp + 0x38], 0x204d454d
mov dword [esp + 0x64], 0
mov dword [ebx + 0x43ab98], ecx
lea ecx, [esp + 0x34]
push ecx
push edx
call dword [0x43ab84]
mov dword [esi], eax
cmp dword [esi], 0
je 0x41ee73
mov dword [ebx + 0x43ab90], ebp
jmp 0x41ee73
lea esi, [ebx + 0x43ab98]
test ecx, ecx
mov dword [esp + 0x10], 0
je 0x41f080
mov edi, dword [esp + 0x78]
push 0
push edi
call fcn.0041c620
add esp, 8
mov dword [esi], eax
test eax, eax
jne 0x41f0a9
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
mov edi, dword [esp + 0x78]
push edi
push 0x43502c
call fcn.0041b4e0
mov dword [esi], eax
test eax, eax
jne 0x41f0a9
push edi
push 0xffffffffffffffff
call fcn.0041b530
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
mov ebp, dword [esp + 0x84]
test ebp, ebp
jle 0x41f0b9
cmp ebp, 4
jle 0x41f0be
mov ebp, 4
lea eax, [esp + 0x14]
xor edi, edi
lea ecx, [esp + 0x1c]
mov dword [eax], edi
push ecx
mov dword [eax + 4], edi
lea edx, [esp + 0x28]
mov dword [eax + 8], edi
mov ecx, dword [esi]
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], edi
lea eax, [esp + 0x2c]
push eax
push edx
push ecx
call fcn.0041f1d0
add esp, 0x10
test eax, eax
je 0x41f1a4
lea eax, [esp + 0x10]
push edi
lea ecx, [esp + 0x18]
push eax
push ecx
mov edx, dword [0x43ab64]
mov dword [esp + 0x20], 0x14
mov dword [esp + 0x24], 0xe2
push edx
mov eax, dword [edx]
call dword [eax + 0xc]
test eax, eax
jne 0x41ee73
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x10]
push eax
push ecx
push edx
call fcn.0041f2d0
add esp, 0xc
test eax, eax
je 0x41ee73
mov eax, dword [esp + 0x10]
mov dword [ebx + 0x43abb0], eax
inc dword [ebx + 0x43ab90]
cmp ebp, 1
jle 0x41f180
lea esi, [ebx + 0x43abb4]
dec ebp
mov eax, dword [esp + 0x10]
push esi
push eax
mov ecx, dword [0x43ab64]
push ecx
mov eax, dword [ecx]
call dword [eax + 0x14]
test eax, eax
jne 0x41f17a
inc dword [ebx + 0x43ab90]
add esi, 4
dec ebp
jne 0x41f15e
lea esi, [ebx + 0x43abc0]
mov eax, dword [esp + 0x10]
mov ebx, dword [eax]
push esi
push eax
call dword [ebx + 0x20]
test eax, eax
je 0x41ee73
mov dword [esi], 0
jmp 0x41ee73
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10
xor eax, eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x64
ret 0x10