Function at 0x412390
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x18c
push ebx
push esi
mov esi, dword [ebp + 8]
movzx eax, byte [esi + 1]
add eax, 0xfffffffd
cmp eax, 0x3f
push edi
ja case.0x4123b9.4
movzx eax, byte [eax + 0x4129b8]
jmp dword [eax*4 + 0x41294c]
mov ebx, dword [0x77d8e8]
xor eax, eax
mov dword [esp + 0x14], eax
mov dword [0x77c580], eax
mov dword [0x77c584], eax
mov dword [0x77c588], eax
mov dword [esp + 0x10], eax
xor edi, edi
mov esi, dword [ebx + 4]
cmp esi, eax
je 0x412483
mov ecx, dword [ebx + 8]
sub ecx, esi
mov eax, 0x6bca1af3
imul ecx
mov ecx, dword [esp + 0x10]
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp ecx, eax
jae 0x412483
mov ecx, dword [edi + esi]
mov edx, dword [ebp + 8]
push ecx
add edx, 6
push edx
call fcn.0040f1e0
add esp, 8
test al, al
jne 0x412470
mov ecx, dword [edi + esi]
lea eax, [esp + 0x78]
push eax
push ecx
mov ecx, dword [0x77d8e8]
call fcn.00425060
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edi]
add eax, edi
cmp ecx, 6
jne 0x412458
lea edx, [esp + 0x78]
push 0x6ff41c
push edx
call fcn.0065dff0
add esp, 8
test eax, eax
jne 0x412470
mov eax, dword [ebx + 4]
mov ecx, dword [eax + edi]
add eax, edi
mov eax, dword [esp + 0x14]
mov dword [eax*4 + 0x77c580], ecx
inc eax
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x10]
inc ecx
add edi, 0x26
mov dword [esp + 0x10], ecx
xor eax, eax
jmp 0x4123e1
xor eax, eax
mov byte [esp + 0x98], 0
mov ecx, 0x3f
lea edi, [esp + 0x99]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
xor edx, edx
xor eax, eax
mov dword [esp + 0x39], edx
xor ecx, ecx
mov dword [esp + 0x19], eax
mov dword [esp + 0x3d], edx
mov dword [esp + 0x59], ecx
mov dword [esp + 0x1d], eax
mov dword [esp + 0x41], edx
mov dword [esp + 0x5d], ecx
mov dword [esp + 0x21], eax
mov dword [esp + 0x45], edx
mov dword [esp + 0x61], ecx
mov dword [esp + 0x25], eax
mov dword [esp + 0x49], edx
mov dword [esp + 0x65], ecx
mov dword [esp + 0x29], eax
mov dword [esp + 0x4d], edx
mov dword [esp + 0x69], ecx
mov dword [esp + 0x2d], eax
mov dword [esp + 0x51], edx
mov word [esp + 0x55], dx
mov dword [esp + 0x6d], ecx
mov dword [esp + 0x31], eax
mov word [esp + 0x35], ax
mov dword [esp + 0x71], ecx
mov byte [esp + 0x57], dl
mov byte [esp + 0x18], dl
mov word [esp + 0x75], cx
lea edx, [esp + 0x38]
mov byte [esp + 0x37], al
mov byte [esp + 0x58], al
mov eax, dword [0x77c580]
push edx
mov byte [esp + 0x7b], cl
mov ecx, dword [0x77d8e8]
push eax
mov byte [esp + 0x40], 0
call fcn.00425060
mov edx, dword [0x77c584]
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [0x77d8e8]
push edx
call fcn.00425060
mov ecx, dword [0x77c588]
lea eax, [esp + 0x58]
push eax
push ecx
mov ecx, dword [0x77d8e8]
call fcn.00425060
mov eax, dword [esp + 0x14]
test eax, eax
jle 0x412592
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0xa4]
push 0x6ff3f8
push edx
call fcn.0065c60e
add esp, 0x14
jmp 0x4125a7
lea eax, [esp + 0x98]
push 0x6ff3e8
push eax
call fcn.0065c60e
add esp, 8
mov ecx, dword [0x75c674]
push 1
push ecx
push 0
push 0
lea edx, [esp + 0xa8]
push edx
mov ecx, 0x77e198
call fcn.0046ce90
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov al, byte [esi + 0xa]
test al, al
mov ecx, dword [0x77e25c]
je 0x4125e2
mov ecx, dword [0x77e260]
test ecx, ecx
je 0x4125ec
push esi
call fcn.00476ce0
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77e264]
test ecx, ecx
je case.0x4123b9.4
push esi
call fcn.00481340
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77e264]
test ecx, ecx
je case.0x4123b9.4
push esi
call fcn.00480d50
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77e264]
test ecx, ecx
je case.0x4123b9.4
push esi
call fcn.004810c0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x77da48]
mov ecx, dword [0x77d8e8]
add eax, 0x390
push eax
call fcn.00425120
cmp dword [esi + 6], eax
jne case.0x4123b9.4
movzx ecx, byte [esi + 0xa]
mov edx, dword [0x77d8e8]
mov dword [edx + 0x34], ecx
mov ecx, dword [0x77e1dc]
test ecx, ecx
je 0x412687
call fcn.004c8620
mov ecx, dword [0x77e32c]
test ecx, ecx
je case.0x4123b9.4
mov al, byte [ecx + 0x67]
test al, al
je case.0x4123b9.4
call fcn.00452bb0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [0x77da48]
mov ecx, dword [0x77d8e8]
add eax, 0x390
push eax
call fcn.00425120
cmp dword [esi + 6], eax
jne case.0x4123b9.4
mov ecx, dword [0x77d8e8]
push esi
call fcn.00424db0
mov ecx, dword [0x77e1dc]
test ecx, ecx
je case.0x4123b9.4
call fcn.004c86d0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.00426810
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.00426920
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.004253a0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.004253e0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.00425410
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.00425440
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.00425470
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.004254a0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77d8e8]
push esi
call fcn.004254d0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dcc8]
push esi
call fcn.0045a5a0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 6]
cmp eax, 3
jne 0x4127e4
mov ecx, dword [0x77dccc]
push esi
call fcn.0045ab00
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 2
jne 0x4127fe
mov ecx, dword [0x77dcc8]
push esi
call fcn.0045a690
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 1
jne case.0x4123b9.4
mov ecx, dword [0x77dcc8]
push esi
call fcn.0045a940
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dcc8]
push esi
call fcn.00453900
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x75c678]
push 1
push ecx
push 0
push 0x54
push 0x6ff3c4
mov ecx, 0x77e198
call fcn.0046ce90
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esi + 6]
test esi, esi
jne 0x412880
mov edx, dword [0x75c674]
push 1
push edx
push esi
push esi
push 0x6ff3ac
mov ecx, 0x77e198
call fcn.0046ce90
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp esi, 1
jne case.0x4123b9.4
mov eax, dword [0x75c674]
push esi
push eax
push 0
push 0
push 0x6ff394
mov ecx, 0x77e198
call fcn.0046ce90
call fcn.0045e360
mov ecx, dword [eax + 0x148]
test ecx, ecx
je case.0x4123b9.4
push esi
call fcn.0045e360
mov ecx, dword [eax + 0x148]
call fcn.00615470
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dccc]
push esi
call fcn.00457b20
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dccc]
push esi
call fcn.00452de0
mov eax, dword [0x77e1dc]
test eax, eax
je case.0x4123b9.4
mov dword [eax + 0x51c], 0
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dccc]
push esi
call fcn.00459c80
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dccc]
push esi
call fcn.00459e40
xor al, al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [0x77dccc]
push esi
call fcn.00459ff0
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret