Function at 0x41ca80
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 ebp, ecx
cmp dword [ebp + 0x20], 0
jne 0x41d208
test byte [ebp], 8
jne 0x41d208
mov edi, dword [ebp + 0x10]
xorps xmm0, xmm0
mov esi, dword [ebp + 0x4c]
mov eax, edi
mov ecx, dword [ebp + 0x14]
movlpd qword [esp + 0x30], xmm0
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], ecx
test esi, esi
je 0x41cec6
mov eax, dword [esp + 0x34]
mov dword [esp + 0x14], eax
mov edx, 0x2014b50
mov ecx, ebp
call fcn.0041d300
mov edx, 0x201
mov ecx, ebp
call fcn.0041d300
mov edx, 0xb2d
mov ecx, ebp
call fcn.0041d300
mov edx, 0x2d
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi]
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 2]
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 4]
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 6]
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 8]
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0xa]
mov ecx, ebp
call fcn.0041d300
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x41cb63
cmp edx, 0xffffffff
jae 0x41cb63
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
jmp 0x41cb70
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x41cb98
cmp edx, 0xffffffff
jae 0x41cb98
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
jmp 0x41cba5
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x20]
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
test edx, edx
ja 0x41cbe7
jb 0x41cbc7
cmp ecx, 0xffffffff
jae 0x41cbe7
cmp dword [esi + 0x1c], 0
ja 0x41cbe7
jb 0x41cbd5
cmp dword [esi + 0x18], 0xffffffff
jae 0x41cbe7
cmp dword [esi + 0x14], 0
ja 0x41cbe7
jb 0x41cbe3
cmp dword [esi + 0x10], 0xffffffff
jae 0x41cbe7
xor eax, eax
jmp 0x41cbfa
mov eax, 4
test edx, edx
jne 0x41cbf5
cmp ecx, 0xffffffff
jb 0x41cbfa
mov eax, 0xc
cmp dword [esi + 0x14], 0
ja 0x41cc0a
cmp dword [esi + 0x10], 0xffffffff
jae 0x41cc0a
xor edi, edi
jmp 0x41cc0f
mov edi, 8
cmp dword [esi + 0x1c], 0
ja 0x41cc1f
cmp dword [esi + 0x18], 0xffffffff
jae 0x41cc1f
xor ecx, ecx
jmp 0x41cc24
mov ecx, 8
lea edx, [eax + ecx]
mov ecx, ebp
add edx, edi
add edx, dword [esi + 0x28]
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0x2c]
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0x2e]
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x34]
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0x36]
mov ecx, ebp
call fcn.0041d300
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x41cc88
cmp edx, 0xffffffff
jae 0x41cc88
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
jmp 0x41cc95
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
push dword [esi + 0x20]
lea edx, [esi + 0x48]
mov ecx, ebp
call fcn.0041d470
add esp, 4
cmp dword [esi + 0x3c], 0
ja 0x41ccd8
jb 0x41ccba
cmp dword [esi + 0x38], 0xffffffff
jae 0x41ccd8
cmp dword [esi + 0x1c], 0
ja 0x41ccd8
jb 0x41ccc8
cmp dword [esi + 0x18], 0xffffffff
jae 0x41ccd8
cmp dword [esi + 0x14], 0
ja 0x41ccd8
cmp dword [esi + 0x10], 0xffffffff
jb 0x41ce04
mov edx, 1
mov ecx, ebp
call fcn.0041d300
cmp dword [esi + 0x3c], 0
ja 0x41ccf4
cmp dword [esi + 0x38], 0xffffffff
jae 0x41ccf4
xor edi, edi
jmp 0x41ccf9
mov edi, 8
cmp dword [esi + 0x14], 0
ja 0x41cd09
cmp dword [esi + 0x10], 0xffffffff
jae 0x41cd09
xor ecx, ecx
jmp 0x41cd0e
mov ecx, 8
cmp dword [esi + 0x1c], 0
ja 0x41cd1e
cmp dword [esi + 0x18], 0xffffffff
jae 0x41cd1e
xor eax, eax
jmp 0x41cd23
mov eax, 8
lea edx, [eax + ecx]
mov ecx, ebp
add edx, edi
call fcn.0041d300
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x41cd3d
cmp edx, 0xffffffff
jb 0x41cd76
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x18]
mov ecx, ebp
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
call fcn.0041d300
mov eax, dword [esi + 0x18]
mov cl, 0x20
mov edx, dword [esi + 0x1c]
call fcn.004b4700
mov edx, eax
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0x1e]
mov ecx, ebp
call fcn.0041d300
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x41cd84
cmp edx, 0xffffffff
jb 0x41cdbd
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x10]
mov ecx, ebp
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
call fcn.0041d300
mov eax, dword [esi + 0x10]
mov cl, 0x20
mov edx, dword [esi + 0x14]
call fcn.004b4700
mov edx, eax
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0x16]
mov ecx, ebp
call fcn.0041d300
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x41cdcb
cmp edx, 0xffffffff
jb 0x41ce04
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esi + 0x38]
mov ecx, ebp
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
call fcn.0041d300
mov eax, dword [esi + 0x38]
mov cl, 0x20
mov edx, dword [esi + 0x3c]
call fcn.004b4700
mov edx, eax
mov ecx, ebp
call fcn.0041d300
movzx edx, word [esi + 0x3e]
mov ecx, ebp
call fcn.0041d300
mov eax, dword [esi + 0x28]
test eax, eax
je 0x41ce19
mov edx, dword [esi + 0x44]
mov ecx, ebp
push eax
call fcn.0041d470
add esp, 4
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
test edx, edx
ja 0x41ce4d
jb 0x41ce2a
cmp eax, 0xffffffff
jae 0x41ce4d
cmp dword [esi + 0x1c], 0
ja 0x41ce4d
jb 0x41ce38
cmp dword [esi + 0x18], 0xffffffff
jae 0x41ce4d
cmp dword [esi + 0x14], 0
ja 0x41ce4d
jb 0x41ce46
cmp dword [esi + 0x10], 0xffffffff
jae 0x41ce4d
mov ecx, 0x2e
jmp 0x41ce60
mov ecx, 0x32
test edx, edx
jne 0x41ce5b
cmp eax, 0xffffffff
jb 0x41ce60
mov ecx, 0x3a
cmp dword [esi + 0x14], 0
ja 0x41ce70
cmp dword [esi + 0x10], 0xffffffff
jae 0x41ce70
xor edx, edx
jmp 0x41ce75
mov edx, 8
cmp dword [esi + 0x1c], 0
ja 0x41ce85
cmp dword [esi + 0x18], 0xffffffff
jae 0x41ce85
xor eax, eax
jmp 0x41ce8a
mov eax, 8
add eax, edx
add eax, ecx
add eax, dword [esi + 0x28]
add eax, dword [esi + 0x20]
add dword [ebp + 0x10], eax
push esi
adc dword [ebp + 0x14], 0
add ebx, 1
mov edi, dword [esi + 0x14c]
adc dword [esp + 0x18], 0
call dword [sym.imp.KERNEL32.dll_GlobalFree]
mov esi, edi
test edi, edi
jne 0x41cad3
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0x14]
mov edi, dword [esp + 0x20]
jmp 0x41cece
mov edx, dword [esp + 0x34]
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebx
test ecx, ecx
jne 0x41cf4f
cmp eax, 0xffffffff
jae 0x41cf4f
mov edx, 0x6054b50
mov ecx, ebp
call fcn.0041d300
mov edx, 0x605
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
mov edx, ebx
mov ecx, ebp
call fcn.0041d300
mov edx, ebx
mov ecx, ebp
call fcn.0041d300
mov esi, dword [ebp + 0x10]
mov ecx, ebp
sub esi, edi
mov edx, esi
call fcn.0041d300
shr esi, 0x10
mov ecx, ebp
mov edx, esi
call fcn.0041d300
add edi, dword [ebp + 0x18]
mov ecx, ebp
mov ebx, dword [esp + 0x24]
mov edx, edi
adc ebx, 0
call fcn.0041d300
shrd edi, ebx, 0x10
mov edx, edi
jmp 0x41d1ec
add eax, dword [ebp + 0x18]
mov edx, 0x6064b50
mov ebx, dword [ebp + 0x1c]
adc ebx, ecx
mov dword [esp + 0x28], eax
mov ecx, ebp
call fcn.0041d300
mov edx, 0x606
mov ecx, ebp
call fcn.0041d300
mov edx, 0x2c
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
mov edx, 0xb2d
mov ecx, ebp
call fcn.0041d300
mov edx, 0x2d
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esp + 0x18]
mov ecx, ebp
call fcn.0041d300
mov esi, dword [esp + 0x14]
mov ecx, ebp
mov edi, dword [esp + 0x18]
mov eax, esi
shrd edi, eax, 0x10
mov edx, edi
call fcn.0041d300
mov edx, esi
mov ecx, ebp
call fcn.0041d300
shr esi, 0x10
mov ecx, ebp
mov edx, esi
call fcn.0041d300
mov edx, dword [esp + 0x18]
mov ecx, ebp
call fcn.0041d300
mov edx, edi
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esp + 0x14]
mov ecx, ebp
call fcn.0041d300
mov edx, esi
mov ecx, ebp
call fcn.0041d300
mov esi, dword [ebp + 0x10]
mov ecx, ebp
mov edi, dword [esp + 0x20]
sub esi, edi
mov eax, dword [ebp + 0x14]
mov edx, esi
sbb eax, dword [esp + 0x24]
mov dword [esp + 0x1c], eax
call fcn.0041d300
mov eax, dword [esp + 0x1c]
mov ecx, esi
shrd ecx, eax, 0x10
mov dword [esp + 0x2c], ecx
mov edx, ecx
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esp + 0x1c]
mov ecx, ebp
call fcn.0041d300
mov edx, dword [esp + 0x1c]
mov ecx, ebp
shr edx, 0x10
call fcn.0041d300
add edi, dword [ebp + 0x18]
mov ecx, ebp
mov eax, dword [ebp + 0x1c]
mov edx, edi
adc eax, dword [esp + 0x24]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], eax
call fcn.0041d300
mov ecx, edi
mov edi, dword [esp + 0x24]
mov eax, edi
shrd ecx, eax, 0x10
mov dword [esp + 0x30], ecx
mov edx, ecx
mov ecx, ebp
call fcn.0041d300
mov edx, edi
mov ecx, ebp
call fcn.0041d300
mov edx, edi
mov ecx, ebp
shr edx, 0x10
call fcn.0041d300
add dword [ebp + 0x10], 0x38
mov edx, 0x7064b50
mov ecx, ebp
adc dword [ebp + 0x14], 0
call fcn.0041d300
mov edx, 0x706
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
mov edi, dword [esp + 0x28]
mov ecx, ebp
mov edx, edi
call fcn.0041d300
mov eax, ebx
mov ecx, ebp
shrd edi, eax, 0x10
mov edx, edi
call fcn.0041d300
mov edx, ebx
mov ecx, ebp
call fcn.0041d300
shr ebx, 0x10
mov ecx, ebp
mov edx, ebx
call fcn.0041d300
mov edx, 1
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
add dword [ebp + 0x10], 0x14
mov edx, 0x6054b50
mov ecx, ebp
adc dword [ebp + 0x14], 0
call fcn.0041d300
mov edx, 0x605
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
cmp dword [esp + 0x14], 0
ja 0x41d188
mov ebx, dword [esp + 0x18]
cmp ebx, 0xff
jb 0x41d18b
or ebx, 0xffffffff
mov edx, ebx
mov ecx, ebp
call fcn.0041d300
mov edx, ebx
mov ecx, ebp
call fcn.0041d300
cmp dword [esp + 0x1c], 0
ja 0x41d1af
cmp esi, 0xffffffff
jae 0x41d1af
mov edi, dword [esp + 0x2c]
jmp 0x41d1b5
or edi, 0xffffffff
or esi, 0xffffffff
mov edx, esi
mov ecx, ebp
call fcn.0041d300
mov edx, edi
mov ecx, ebp
call fcn.0041d300
cmp dword [esp + 0x24], 0
ja 0x41d1dd
mov edx, dword [esp + 0x20]
cmp edx, 0xffffffff
jae 0x41d1dd
mov esi, dword [esp + 0x30]
jmp 0x41d1e3
or esi, 0xffffffff
or edx, 0xffffffff
mov ecx, ebp
call fcn.0041d300
mov edx, esi
mov ecx, ebp
call fcn.0041d300
xor edx, edx
mov ecx, ebp
call fcn.0041d300
add dword [ebp + 0x10], 0x16
adc dword [ebp + 0x14], 0
or dword [ebp], 8
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret