Function at 0x10022035
Capabilities:
Extract resource via kernel32 functions

Disassembly:
mov eax, 0x10061f0a
call fcn.10061410
sub esp, 0x7c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x30], edi
cmp dword [edi], 0
je 0x1002248c
push dword [edi]
xor ebx, ebx
push ebx
push dword [edi + 4]
call fcn.10012519
xor esi, esi
mov dword [ebp - 0x18], 0x4e4e
add esp, 0xc
inc esi
cmp dword [ebp - 0x18], 0x51b5
jle 0x100220e2
mov dword [ebp - 0x20], ebx
mov eax, ebx
mov dword [ebp - 0x28], 0x70a8
mov dword [ebp - 0x24], eax
mov edi, ebx
mov ecx, edi
sar eax, cl
lea ecx, [ebp - 0x88]
cdq
push edx
push eax
call fcn.1000d0ee
pop ecx
pop ecx
cmp dword [eax + 0x14], 0x10
jb 0x100220a6
mov eax, dword [eax]
push eax
call fcn.1004c14f
pop ecx
push ebx
push esi
lea ecx, [ebp - 0x88]
call fcn.10012ee2
mov eax, dword [ebp - 0x24]
inc edi
cmp edi, 0x7cba
jl 0x1002208a
mov edi, dword [ebp - 0x20]
add eax, edi
dec dword [ebp - 0x28]
mov dword [ebp - 0x24], eax
jne 0x10022088
inc edi
mov dword [ebp - 0x20], edi
cmp edi, 0x6075
jl 0x1002207c
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x1c], 0x84b
cmp dword [ebp - 0x18], 0x4c07
jge 0x100220fd
push 0x10008ac8
call fcn.1004c14f
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
mov dword [ebp - 0x18], 0xb17b
mov dword [ebp - 0x20], 0xcc511ec1
mov dword [ebp - 0x24], 0xfffffff7
push 3
call fcn.10012962
push 3
lea ecx, [ebp - 0x58]
mov dword [ebp - 4], 2
call fcn.10012962
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x28], 9
mov dword [ebp - 0x38], 0xca2a
push 4
call fcn.10012962
push 3
mov byte [ebp - 4], 4
mov dword [ebp - 0x18], ebx
pop edx
jmp 0x10022169
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x4c]
mov dword [eax + ecx*4], 0xeaf6082f
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10022159
mov dword [ebp - 0x18], ebx
jmp 0x10022183
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x58]
mov dword [eax + ecx*4], 0x53ea
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], edx
jl 0x10022173
mov dword [ebp - 0x18], ebx
jmp 0x1002219d
mov ecx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x70]
mov dword [eax + ecx*4], 0xd489
inc dword [ebp - 0x18]
cmp dword [ebp - 0x18], 4
jl 0x1002218d
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0xffff
setne cl
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], ecx
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x1c], eax
jg 0x100221c1
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x1c]
jg 0x100221cc
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
test eax, eax
setg cl
cmp ecx, dword [ebp - 0x1c]
jl 0x10022280
cmp dword [ebp - 0x18], ebx
jne 0x10022280
mov dword [ebp - 0x34], edx
lea ecx, [ebp - 0x64]
push edx
call fcn.10012962
mov dword [ebp - 0x24], ebx
jmp 0x10022209
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
mov dword [eax + ecx*4], 0x7b30477a
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 3
jl 0x100221f9
cmp dword [ebp - 0x1c], ebx
jne 0x10022227
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x2c], ebx
mov ecx, dword [edx + 4]
lea eax, [ecx + 1]
mov dword [edx + 4], eax
test ecx, ecx
je 0x1002222a
mov dword [ebp - 0x2c], esi
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
cmp dword [eax], 0x8d7c
setge cl
mov dword [ebp - 0x24], ecx
xor ecx, ecx
mov eax, dword [ebp - 0x34]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x64]
cmp dword [eax + 8], esi
sete cl
xor edx, edx
cmp ecx, dword [eax + 4]
mov eax, dword [ebp - 0x18]
setg dl
xor ebx, ebx
add edx, 0x65fe96f7
cmp dword [ebp - 0x2c], edx
setne bl
xor ecx, ecx
cmp ebx, eax
mov eax, dword [ebp - 0x4c]
setne cl
add ecx, 3
mov dword [eax], ecx
lea ecx, [ebp - 0x64]
call fcn.100129e4
xor ebx, ebx
jmp 0x100222af
mov dword [ebp - 0x24], ebx
jmp 0x1002228f
mov eax, dword [ebp - 0x24]
mov dword [ebp + eax*4 - 0x40], esi
inc dword [ebp - 0x24]
cmp dword [ebp - 0x24], 2
jl 0x10022285
mov dword [ebp - 0x20], 0xfffffff6
jmp 0x100222a9
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x4c]
mov dword [eax], ecx
inc dword [ebp - 0x20]
cmp dword [ebp - 0x20], 0xb
jg 0x1002229e
mov eax, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x24], esi
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
cmp ecx, eax
mov eax, 0xe0bbe0e2
setle dl
cmp eax, edx
sbb eax, eax
xor ecx, ecx
inc eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x28]
mov eax, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
imul edx, dword [eax]
mov eax, dword [ebp - 0x38]
cmp edx, eax
setge cl
cmp ecx, dword [ebp - 0x28]
jle 0x100222f9
mov eax, dword [ebp - 0x4c]
mov edx, ebx
cmp dword [eax], ebx
je 0x100222fb
mov edx, esi
mov ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x58]
imul ecx, edx
xor edx, edx
imul ecx, dword [eax + 4]
mov eax, dword [ebp - 0x70]
neg ecx
cmp ecx, 0x8eaf535
lea ecx, [ebp - 0x70]
setne dl
sub edx, dword [eax + 8]
mov eax, dword [ebp - 0x4c]
mov dword [eax], edx
call fcn.100129e4
lea ecx, [ebp - 0x58]
call fcn.100129e4
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x4c]
call fcn.100129e4
push dword [edi + 4]
call fcn.1004c2b7
mov dword [edi + 4], ebx
mov dword [ebp - 0x20], 0x7e1
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x2c], 2
mov dword [ebp - 0x2c], 0x81a82e77
mov dword [ebp - 0x24], 0x9733147f
mov dword [ebp - 0x18], 3
mov dword [ebp - 0x38], 0xcb8e0045
mov byte [ebp - 0x11], bl
cmp byte [ebp - 0x11], 0
pop ecx
je 0x10022428
mov dword [ebp - 0x1c], 0x74af
cmp dword [ebp - 0x1c], 0x788c
jle 0x100223e1
mov edi, ebx
mov dword [ebp - 0x28], ebx
mov eax, ebx
mov dword [ebp - 0x2c], ebx
mov esi, edi
mov dword [ebp - 0x38], ebx
mov ecx, eax
mov edi, ebx
shl esi, cl
mov eax, esi
mov ecx, 0x10609d98
or eax, edi
cdq
push edx
push eax
call fcn.1001273a
inc edi
cmp edi, 0x1ee6
jl 0x100223a7
mov eax, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x28]
inc eax
mov dword [ebp - 0x2c], eax
cmp eax, 0x79b3
jl 0x1002239c
inc edi
mov dword [ebp - 0x28], edi
cmp edi, 0x6645
jl 0x10022397
xor esi, esi
inc esi
push ebx
call dword [sym.imp.KERNEL32.dll_LockResource]
mov dword [ebp - 4], 5
cmp dword [ebp - 0x1c], 0x73e0
jge 0x10022428
mov edx, 0x10008b18
mov ecx, 0x10609d98
call fcn.1001505e
jmp 0x10022428
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jl 0x10022484
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x20]
jle 0x1002243f
mov eax, ebx
cmp dword [ebp - 0x20], ebx
je 0x10022441
mov eax, esi
mov dword [ebp - 0x28], 0xcf13
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x20]
sub eax, dword [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
cmp dword [ebp - 0x28], eax
jne 0x10022469
cmp dword [ebp - 0x24], ebx
jne 0x1002246b
mov esi, ebx
lea eax, [esi + 3]
test eax, eax
je 0x10022475
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x18]
mov eax, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x38], ebx
mov dword [eax], ebx
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret