Function at 0x402d00
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 8], edi
cmp dword [edi + 0x20], 0
jne 0x403479
test byte [edi], 8
jne 0x403479
mov esi, dword [edi + 0x4c]
xorps xmm0, xmm0
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
movlpd qword [ebp - 0x28], xmm0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], ecx
test esi, esi
je 0x403147
mov eax, dword [ebp - 0x24]
mov dword [ebp - 4], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0xc], eax
nop dword [eax]
mov edx, 0x2014b50
mov ecx, edi
call fcn.00403580
mov edx, 0x201
mov ecx, edi
call fcn.00403580
mov edx, 0xb2d
mov ecx, edi
call fcn.00403580
mov edx, 0x2d
mov ecx, edi
call fcn.00403580
movzx edx, word [esi]
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 2]
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 4]
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 6]
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 8]
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0xa]
mov ecx, edi
call fcn.00403580
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x402de0
cmp edx, 0xffffffff
jae 0x402de0
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
jmp 0x402ded
or edx, 0xffffffff
mov ecx, edi
call fcn.00403580
or edx, 0xffffffff
mov ecx, edi
call fcn.00403580
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x402e15
cmp edx, 0xffffffff
jae 0x402e15
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
jmp 0x402e22
or edx, 0xffffffff
mov ecx, edi
call fcn.00403580
or edx, 0xffffffff
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x20]
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x3c]
mov ecx, dword [esi + 0x38]
test edx, edx
ja 0x402e64
jb 0x402e44
cmp ecx, 0xffffffff
jae 0x402e64
cmp dword [esi + 0x1c], 0
ja 0x402e64
jb 0x402e52
cmp dword [esi + 0x18], 0xffffffff
jae 0x402e64
cmp dword [esi + 0x14], 0
ja 0x402e64
jb 0x402e60
cmp dword [esi + 0x10], 0xffffffff
jae 0x402e64
xor eax, eax
jmp 0x402e77
mov eax, 4
test edx, edx
jne 0x402e72
cmp ecx, 0xffffffff
jb 0x402e77
mov eax, 0xc
cmp dword [esi + 0x14], 0
ja 0x402e87
cmp dword [esi + 0x10], 0xffffffff
jae 0x402e87
xor ebx, ebx
jmp 0x402e8c
mov ebx, 8
cmp dword [esi + 0x1c], 0
ja 0x402e9c
cmp dword [esi + 0x18], 0xffffffff
jae 0x402e9c
xor ecx, ecx
jmp 0x402ea1
mov ecx, 8
lea edx, [eax + ecx]
mov ecx, edi
add edx, ebx
add edx, dword [esi + 0x28]
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0x2c]
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0x2e]
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x34]
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0x36]
mov ecx, edi
call fcn.00403580
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x402f05
cmp edx, 0xffffffff
jae 0x402f05
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x38]
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
jmp 0x402f12
or edx, 0xffffffff
mov ecx, edi
call fcn.00403580
or edx, 0xffffffff
mov ecx, edi
call fcn.00403580
push dword [esi + 0x20]
lea edx, [esi + 0x48]
mov ecx, edi
call fcn.00403700
add esp, 4
cmp dword [esi + 0x3c], 0
ja 0x402f55
jb 0x402f37
cmp dword [esi + 0x38], 0xffffffff
jae 0x402f55
cmp dword [esi + 0x1c], 0
ja 0x402f55
jb 0x402f45
cmp dword [esi + 0x18], 0xffffffff
jae 0x402f55
cmp dword [esi + 0x14], 0
ja 0x402f55
cmp dword [esi + 0x10], 0xffffffff
jb 0x403081
mov edx, 1
mov ecx, edi
call fcn.00403580
cmp dword [esi + 0x3c], 0
ja 0x402f71
cmp dword [esi + 0x38], 0xffffffff
jae 0x402f71
xor ebx, ebx
jmp 0x402f76
mov ebx, 8
cmp dword [esi + 0x14], 0
ja 0x402f86
cmp dword [esi + 0x10], 0xffffffff
jae 0x402f86
xor ecx, ecx
jmp 0x402f8b
mov ecx, 8
cmp dword [esi + 0x1c], 0
ja 0x402f9b
cmp dword [esi + 0x18], 0xffffffff
jae 0x402f9b
xor eax, eax
jmp 0x402fa0
mov eax, 8
lea edx, [eax + ecx]
mov ecx, edi
add edx, ebx
call fcn.00403580
cmp dword [esi + 0x1c], 0
mov edx, dword [esi + 0x18]
ja 0x402fba
cmp edx, 0xffffffff
jb 0x402ff3
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x18]
mov ecx, edi
mov eax, dword [esi + 0x1c]
shrd edx, eax, 0x10
call fcn.00403580
mov eax, dword [esi + 0x18]
mov cl, 0x20
mov edx, dword [esi + 0x1c]
call fcn.0041bdc0
mov edx, eax
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0x1e]
mov ecx, edi
call fcn.00403580
cmp dword [esi + 0x14], 0
mov edx, dword [esi + 0x10]
ja 0x403001
cmp edx, 0xffffffff
jb 0x40303a
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x10]
mov ecx, edi
mov eax, dword [esi + 0x14]
shrd edx, eax, 0x10
call fcn.00403580
mov eax, dword [esi + 0x10]
mov cl, 0x20
mov edx, dword [esi + 0x14]
call fcn.0041bdc0
mov edx, eax
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0x16]
mov ecx, edi
call fcn.00403580
cmp dword [esi + 0x3c], 0
mov edx, dword [esi + 0x38]
ja 0x403048
cmp edx, 0xffffffff
jb 0x403081
mov ecx, edi
call fcn.00403580
mov edx, dword [esi + 0x38]
mov ecx, edi
mov eax, dword [esi + 0x3c]
shrd edx, eax, 0x10
call fcn.00403580
mov eax, dword [esi + 0x38]
mov cl, 0x20
mov edx, dword [esi + 0x3c]
call fcn.0041bdc0
mov edx, eax
mov ecx, edi
call fcn.00403580
movzx edx, word [esi + 0x3e]
mov ecx, edi
call fcn.00403580
mov eax, dword [esi + 0x28]
test eax, eax
je 0x403096
mov edx, dword [esi + 0x44]
mov ecx, edi
push eax
call fcn.00403700
add esp, 4
mov edx, dword [esi + 0x3c]
mov eax, dword [esi + 0x38]
test edx, edx
ja 0x4030ca
jb 0x4030a7
cmp eax, 0xffffffff
jae 0x4030ca
cmp dword [esi + 0x1c], 0
ja 0x4030ca
jb 0x4030b5
cmp dword [esi + 0x18], 0xffffffff
jae 0x4030ca
cmp dword [esi + 0x14], 0
ja 0x4030ca
jb 0x4030c3
cmp dword [esi + 0x10], 0xffffffff
jae 0x4030ca
mov ecx, 0x2e
jmp 0x4030dd
mov ecx, 0x32
test edx, edx
jne 0x4030d8
cmp eax, 0xffffffff
jb 0x4030dd
mov ecx, 0x3a
cmp dword [esi + 0x14], 0
ja 0x4030ed
cmp dword [esi + 0x10], 0xffffffff
jae 0x4030ed
xor edx, edx
jmp 0x4030f2
mov edx, 8
cmp dword [esi + 0x1c], 0
ja 0x403102
cmp dword [esi + 0x18], 0xffffffff
jae 0x403102
xor eax, eax
jmp 0x403107
mov eax, 8
mov ebx, dword [ebp - 0xc]
add eax, edx
add eax, ecx
mov ecx, esi
add eax, dword [esi + 0x28]
add eax, dword [esi + 0x20]
add dword [edi + 0x10], eax
adc dword [edi + 0x14], 0
add ebx, 1
mov edi, dword [esi + 0x14c]
adc dword [ebp - 4], 0
mov dword [ebp - 0xc], ebx
call fcn.00404850
mov esi, edi
test edi, edi
mov edi, dword [ebp - 8]
jne 0x402d50
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x14]
jmp 0x403153
mov edx, dword [ebp - 0x24]
mov ebx, dword [ebp - 0x28]
mov dword [ebp - 4], edx
mov dword [ebp - 0xc], ebx
test ecx, ecx
jne 0x4031d0
cmp eax, 0xffffffff
jae 0x4031d0
mov edx, 0x6054b50
mov ecx, edi
call fcn.00403580
mov edx, 0x605
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
mov edx, ebx
mov ecx, edi
call fcn.00403580
mov edx, ebx
mov ecx, edi
call fcn.00403580
mov esi, dword [edi + 0x10]
mov ecx, edi
mov ebx, dword [ebp - 0x14]
sub esi, ebx
mov edx, esi
call fcn.00403580
shr esi, 0x10
mov ecx, edi
mov edx, esi
call fcn.00403580
add ebx, dword [edi + 0x18]
mov ecx, edi
mov esi, dword [ebp - 0x10]
mov edx, ebx
adc esi, 0
call fcn.00403580
shrd ebx, esi, 0x10
jmp 0x40345c
add eax, dword [edi + 0x18]
mov edx, 0x6064b50
mov ebx, dword [edi + 0x1c]
adc ebx, ecx
mov dword [ebp - 0x18], eax
mov ecx, edi
call fcn.00403580
mov edx, 0x606
mov ecx, edi
call fcn.00403580
mov edx, 0x2c
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
mov edx, 0xb2d
mov ecx, edi
call fcn.00403580
mov edx, 0x2d
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 0xc]
mov ecx, edi
call fcn.00403580
mov edi, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 8]
shrd edi, eax, 0x10
mov edx, edi
call fcn.00403580
mov edx, dword [ebp - 4]
mov ecx, dword [ebp - 8]
call fcn.00403580
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 8]
shr esi, 0x10
mov edx, esi
call fcn.00403580
mov edx, dword [ebp - 0xc]
mov ecx, dword [ebp - 8]
call fcn.00403580
mov edx, edi
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 4]
mov ecx, edi
call fcn.00403580
mov edx, esi
mov ecx, edi
call fcn.00403580
mov eax, dword [edi + 0x10]
mov esi, dword [ebp - 0x14]
sub eax, esi
mov ecx, dword [edi + 0x14]
mov edx, eax
sbb ecx, dword [ebp - 0x10]
mov dword [ebp - 8], ecx
mov ecx, edi
mov dword [ebp - 0x14], eax
call fcn.00403580
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 8]
shrd ecx, eax, 0x10
mov dword [ebp - 0x1c], ecx
mov edx, ecx
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 8]
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 8]
mov ecx, edi
shr edx, 0x10
call fcn.00403580
add esi, dword [edi + 0x18]
mov ecx, edi
mov eax, dword [edi + 0x1c]
mov edx, esi
adc eax, dword [ebp - 0x10]
mov dword [ebp - 0x10], eax
call fcn.00403580
mov eax, dword [ebp - 0x10]
mov ecx, esi
shrd ecx, eax, 0x10
mov dword [ebp - 0x24], ecx
mov edx, ecx
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 0x10]
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 0x10]
mov ecx, edi
shr edx, 0x10
call fcn.00403580
add dword [edi + 0x10], 0x38
mov edx, 0x7064b50
mov ecx, edi
adc dword [edi + 0x14], 0
call fcn.00403580
mov edx, 0x706
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 0x18]
mov ecx, edi
call fcn.00403580
mov edx, dword [ebp - 0x18]
mov eax, ebx
shrd edx, eax, 0x10
mov ecx, edi
call fcn.00403580
mov edx, ebx
mov ecx, edi
call fcn.00403580
shr ebx, 0x10
mov ecx, edi
mov edx, ebx
call fcn.00403580
mov edx, 1
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
add dword [edi + 0x10], 0x14
mov edx, 0x6054b50
mov ecx, edi
adc dword [edi + 0x14], 0
call fcn.00403580
mov edx, 0x605
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
cmp dword [ebp - 4], 0
ja 0x4033fd
mov ebx, dword [ebp - 0xc]
cmp ebx, 0xff
jb 0x403400
or ebx, 0xffffffff
mov edx, ebx
mov ecx, edi
call fcn.00403580
mov edx, ebx
mov ecx, edi
call fcn.00403580
cmp dword [ebp - 8], 0
ja 0x403425
mov eax, dword [ebp - 0x14]
cmp eax, 0xffffffff
jae 0x403425
mov ebx, dword [ebp - 0x1c]
jmp 0x40342b
or ebx, 0xffffffff
or eax, 0xffffffff
mov edx, eax
mov ecx, edi
call fcn.00403580
mov edx, ebx
mov ecx, edi
call fcn.00403580
cmp dword [ebp - 0x10], 0
ja 0x40344d
cmp esi, 0xffffffff
jae 0x40344d
mov ebx, dword [ebp - 0x24]
jmp 0x403453
or ebx, 0xffffffff
or esi, 0xffffffff
mov edx, esi
mov ecx, edi
call fcn.00403580
mov edx, ebx
mov ecx, edi
call fcn.00403580
xor edx, edx
mov ecx, edi
call fcn.00403580
add dword [edi + 0x10], 0x16
adc dword [edi + 0x14], 0
or dword [edi], 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret