Function at 0x41c220
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x28
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edi
cmp dword [edi + 0x20], 0
jne 0x41c9dc
test byte [edi], 8
jne 0x41c9dc
mov ebp, dword [edi + 0x10]
xorps xmm0, xmm0
mov esi, dword [edi + 0x4c]
mov eax, ebp
mov ecx, dword [edi + 0x14]
movlpd qword [esp + 0x30], xmm0
mov dword [esp + 0x20], ebp
mov dword [esp + 0x24], ecx
test esi, esi
je 0x41c68b
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
nop word [eax + eax]
mov edx, 0x2014b50
mov ecx, edi
call fcn.0041cba0
mov edx, 0x201
mov ecx, edi
call fcn.0041cba0
mov edx, 0xb2d
mov ecx, edi
call fcn.0041cba0
mov edx, 0x2d
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi]
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 2]
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 4]
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 6]
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0xa]
mov ecx, edi
call fcn.0041cba0
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x41c310
cmp edx, 0xffffffff
jae 0x41c310
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
jmp 0x41c31d
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x41c345
cmp edx, 0xffffffff
jae 0x41c345
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
jmp 0x41c352
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x20]
mov ecx, edi
call fcn.0041cba0
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
test ecx, ecx
ja 0x41c394
jb 0x41c374
cmp eax, 0xffffffff
jae 0x41c394
cmp dword [esi + 0x1c], 0
ja 0x41c394
jb 0x41c382
cmp dword [esi + 0x18], 0xffffffff
jae 0x41c394
cmp dword [esi + 0x14], 0
ja 0x41c394
jb 0x41c390
cmp dword [esi + 0x10], 0xffffffff
jae 0x41c394
xor ebp, ebp
jmp 0x41c399
mov ebp, 4
test ecx, ecx
jne 0x41c3a6
cmp eax, 0xffffffff
jae 0x41c3a6
xor ebx, ebx
jmp 0x41c3ab
mov ebx, 8
cmp dword [esi + 0x14], 0
ja 0x41c3bb
cmp dword [esi + 0x10], 0xffffffff
jae 0x41c3bb
xor ecx, ecx
jmp 0x41c3c0
mov ecx, 8
cmp dword [esi + 0x1c], 0
ja 0x41c3d0
cmp dword [esi + 0x18], 0xffffffff
jae 0x41c3d0
xor eax, eax
jmp 0x41c3d5
mov eax, 8
lea edx, [eax + ecx]
mov ecx, edi
add edx, ebx
add edx, ebp
add edx, dword [esi + 0x28]
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0x2c]
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0x2e]
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x34]
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0x36]
mov ecx, edi
call fcn.0041cba0
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x41c43b
cmp edx, 0xffffffff
jae 0x41c43b
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
jmp 0x41c448
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
push dword [esi + 0x20]
lea edx, [esi + 0x48]
mov ecx, edi
call fcn.0041cc60
add esp, 4
cmp dword [esi + 0x3c], 0
ja 0x41c48b
jb 0x41c46d
cmp dword [esi + 0x38], 0xffffffff
jae 0x41c48b
cmp dword [esi + 0x1c], 0
ja 0x41c48b
jb 0x41c47b
cmp dword [esi + 0x18], 0xffffffff
jae 0x41c48b
cmp dword [esi + 0x14], 0
ja 0x41c48b
cmp dword [esi + 0x10], 0xffffffff
jb 0x41c5b7
mov edx, 1
mov ecx, edi
call fcn.0041cba0
cmp dword [esi + 0x3c], 0
ja 0x41c4a7
cmp dword [esi + 0x38], 0xffffffff
jae 0x41c4a7
xor ebx, ebx
jmp 0x41c4ac
mov ebx, 8
cmp dword [esi + 0x14], 0
ja 0x41c4bc
cmp dword [esi + 0x10], 0xffffffff
jae 0x41c4bc
xor ecx, ecx
jmp 0x41c4c1
mov ecx, 8
cmp dword [esi + 0x1c], 0
ja 0x41c4d1
cmp dword [esi + 0x18], 0xffffffff
jae 0x41c4d1
xor eax, eax
jmp 0x41c4d6
mov eax, 8
lea edx, [eax + ecx]
mov ecx, edi
add edx, ebx
call fcn.0041cba0
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x41c4f0
cmp edx, 0xffffffff
jb 0x41c529
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x18]
mov ecx, edi
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
call fcn.0041cba0
mov eax, dword [esi + 0x18]
mov cl, 0x20
mov edx, dword [esi + 0x1c]
call fcn.004c5360
mov edx, eax
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0x1e]
mov ecx, edi
call fcn.0041cba0
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x41c537
cmp edx, 0xffffffff
jb 0x41c570
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x10]
mov ecx, edi
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
call fcn.0041cba0
mov eax, dword [esi + 0x10]
mov cl, 0x20
mov edx, dword [esi + 0x14]
call fcn.004c5360
mov edx, eax
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0x16]
mov ecx, edi
call fcn.0041cba0
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x41c57e
cmp edx, 0xffffffff
jb 0x41c5b7
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esi + 0x38]
mov ecx, edi
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
call fcn.0041cba0
mov eax, dword [esi + 0x38]
mov cl, 0x20
mov edx, dword [esi + 0x3c]
call fcn.004c5360
mov edx, eax
mov ecx, edi
call fcn.0041cba0
movzx edx, word [esi + 0x3e]
mov ecx, edi
call fcn.0041cba0
mov eax, dword [esi + 0x28]
test eax, eax
je 0x41c5cc
mov edx, dword [esi + 0x44]
mov ecx, edi
push eax
call fcn.0041cc60
add esp, 4
mov ecx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
test ecx, ecx
ja 0x41c600
jb 0x41c5dd
cmp eax, 0xffffffff
jae 0x41c600
cmp dword [esi + 0x1c], 0
ja 0x41c600
jb 0x41c5eb
cmp dword [esi + 0x18], 0xffffffff
jae 0x41c600
cmp dword [esi + 0x14], 0
ja 0x41c600
jb 0x41c5f9
cmp dword [esi + 0x10], 0xffffffff
jae 0x41c600
mov ebx, 0x2e
jmp 0x41c605
mov ebx, 0x32
test ecx, ecx
jne 0x41c612
cmp eax, 0xffffffff
jae 0x41c612
xor edx, edx
jmp 0x41c617
mov edx, 8
cmp dword [esi + 0x14], 0
ja 0x41c627
cmp dword [esi + 0x10], 0xffffffff
jae 0x41c627
xor ecx, ecx
jmp 0x41c62c
mov ecx, 8
cmp dword [esi + 0x1c], 0
ja 0x41c63c
cmp dword [esi + 0x18], 0xffffffff
jae 0x41c63c
xor eax, eax
jmp 0x41c641
mov eax, 8
add eax, ebx
mov ebx, dword [esp + 0x1c]
add eax, ecx
add eax, edx
add eax, dword [esi + 0x28]
add eax, dword [esi + 0x20]
add dword [edi + 0x10], eax
push esi
adc dword [edi + 0x14], 0
add ebx, 1
mov edi, dword [esi + 0x14c]
adc dword [esp + 0x18], 0
mov dword [esp + 0x20], ebx
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov esi, edi
test edi, edi
mov edi, dword [esp + 0x18]
jne 0x41c280
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
mov ebp, dword [esp + 0x20]
jmp 0x41c69b
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ebx
test ecx, ecx
jne 0x41c718
cmp eax, 0xffffffff
jae 0x41c718
mov edx, 0x6054b50
mov ecx, edi
call fcn.0041cba0
mov edx, 0x605
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
mov esi, dword [edi + 0x10]
mov ecx, edi
sub esi, ebp
mov edx, esi
call fcn.0041cba0
shr esi, 0x10
mov ecx, edi
mov edx, esi
call fcn.0041cba0
add ebp, dword [edi + 0x18]
mov ecx, edi
mov ebx, dword [esp + 0x24]
mov edx, ebp
adc ebx, 0
call fcn.0041cba0
shrd ebp, ebx, 0x10
mov edx, ebp
jmp 0x41c9c1
mov ebx, dword [edi + 0x18]
mov edx, 0x6064b50
mov ebp, dword [edi + 0x1c]
add ebx, eax
adc ebp, ecx
mov ecx, edi
call fcn.0041cba0
mov edx, 0x606
mov ecx, edi
call fcn.0041cba0
mov edx, 0x2c
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
mov edx, 0xb2d
mov ecx, edi
call fcn.0041cba0
mov edx, 0x2d
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.0041cba0
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shrd edi, eax, 0x10
mov edx, edi
call fcn.0041cba0
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
call fcn.0041cba0
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
shr esi, 0x10
mov edx, esi
call fcn.0041cba0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
call fcn.0041cba0
mov edx, edi
mov edi, dword [esp + 0x18]
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.0041cba0
mov edx, esi
mov ecx, edi
call fcn.0041cba0
mov esi, dword [edi + 0x10]
mov ecx, edi
sub esi, dword [esp + 0x20]
mov eax, dword [edi + 0x14]
mov edx, esi
sbb eax, dword [esp + 0x24]
mov dword [esp + 0x2c], esi
mov dword [esp + 0x28], eax
call fcn.0041cba0
mov ecx, esi
mov esi, dword [esp + 0x28]
mov eax, esi
shrd ecx, eax, 0x10
mov dword [esp + 0x30], ecx
mov edx, ecx
mov ecx, edi
call fcn.0041cba0
mov edx, esi
mov ecx, edi
call fcn.0041cba0
mov edx, esi
mov ecx, edi
shr edx, 0x10
call fcn.0041cba0
mov esi, dword [edi + 0x18]
mov ecx, edi
add esi, dword [esp + 0x20]
mov eax, dword [edi + 0x1c]
mov edx, esi
adc eax, dword [esp + 0x24]
mov dword [esp + 0x18], eax
call fcn.0041cba0
mov eax, dword [esp + 0x18]
mov ecx, esi
shrd ecx, eax, 0x10
mov dword [esp + 0x24], ecx
mov edx, ecx
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esp + 0x18]
mov ecx, edi
call fcn.0041cba0
mov edx, dword [esp + 0x18]
mov ecx, edi
shr edx, 0x10
call fcn.0041cba0
add dword [edi + 0x10], 0x38
mov edx, 0x7064b50
mov ecx, edi
adc dword [edi + 0x14], 0
call fcn.0041cba0
mov edx, 0x706
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
mov eax, ebp
mov ecx, edi
shrd ebx, eax, 0x10
mov edx, ebx
call fcn.0041cba0
mov edx, ebp
mov ecx, edi
call fcn.0041cba0
shr ebp, 0x10
mov ecx, edi
mov edx, ebp
call fcn.0041cba0
mov edx, 1
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
add dword [edi + 0x10], 0x14
mov edx, 0x6054b50
mov ecx, edi
adc dword [edi + 0x14], 0
call fcn.0041cba0
mov edx, 0x605
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
cmp dword [esp + 0x14], 0
ja 0x41c95d
mov ebx, dword [esp + 0x1c]
cmp ebx, 0xff
jb 0x41c960
or ebx, 0xffffffff
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
cmp dword [esp + 0x28], 0
ja 0x41c988
mov edx, dword [esp + 0x2c]
cmp edx, 0xffffffff
jae 0x41c988
mov ebx, dword [esp + 0x30]
jmp 0x41c98e
or ebx, 0xffffffff
or edx, 0xffffffff
mov ecx, edi
call fcn.0041cba0
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
cmp dword [esp + 0x18], 0
ja 0x41c9b0
cmp esi, 0xffffffff
jae 0x41c9b0
mov ebx, dword [esp + 0x24]
jmp 0x41c9b6
or ebx, 0xffffffff
or esi, 0xffffffff
mov edx, esi
mov ecx, edi
call fcn.0041cba0
mov edx, ebx
mov ecx, edi
call fcn.0041cba0
xor edx, edx
mov ecx, edi
call fcn.0041cba0
add dword [edi + 0x10], 0x16
adc dword [edi + 0x14], 0
or dword [edi], 8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret