Function at 0xc3b870
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x98
mov esi, dword [eax + 0x1d04]
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x30]
mov ebx, dword [eax + 0x1d0c]
mov edx, esi
mov ecx, dword [edi + 0x1d10]
mov ebp, edi
neg edx
mov edi, dword [edi + 0xaa8]
lea eax, [ebx + edx]
add edx, ecx
mov dword [esp + 4], edx
mov edi, dword [edi]
mov edx, dword [ebp + 0xaac]
add edi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x18], edi
mov edi, dword [ebp + 0xb78]
mov ebp, dword [ebp + 0xb7c]
mov edx, dword [edx + 0xab0]
mov edi, dword [edi]
mov dword [esp + 0x74], edx
movzx edx, byte [eax - 1]
add edi, ebp
mov dword [esp + 0x1c], edi
movzx edi, byte [ebx - 1]
mov byte [esp + 0x10], dl
mov edx, dword [esp + 4]
movzx edx, byte [edx - 1]
mov byte [esp + 0x20], dl
mov edx, edi
movzx edi, byte [ecx - 1]
mov byte [esp + 0x88], dl
mov edx, edi
movzx edi, byte [ebx + esi - 1]
mov byte [esp + 0x90], dl
mov edx, edi
movzx edi, byte [ecx + esi - 1]
mov byte [esp + 0x89], dl
mov edx, edi
lea edi, [esi + esi]
mov byte [esp + 0x91], dl
movzx ebp, byte [ebx + edi - 1]
mov edx, ebp
movzx ebp, byte [ecx + edi - 1]
mov byte [esp + 0x8a], dl
mov edx, ebp
lea ebp, [edi + esi]
movzx edi, byte [ebx + ebp - 1]
mov byte [esp + 0x92], dl
mov edx, edi
movzx edi, byte [ecx + ebp - 1]
mov byte [esp + 0x8b], dl
mov edx, edi
lea edi, [esi*4]
mov byte [esp + 0x93], dl
movzx edx, byte [ebx + edi - 1]
mov byte [esp + 0x8c], dl
movzx edx, byte [ecx + edi - 1]
add edi, esi
mov byte [esp + 0x94], dl
movzx edx, byte [ebx + edi - 1]
movzx edi, byte [ecx + edi - 1]
mov byte [esp + 0x8d], dl
mov edx, edi
lea edi, [ebp + ebp]
movzx ebp, byte [ebx + edi - 1]
movzx edi, byte [ecx + edi - 1]
mov byte [esp + 0x95], dl
mov edx, ebp
mov byte [esp + 0x8e], dl
mov edx, edi
lea edi, [esi*8]
sub edi, esi
movzx ecx, byte [ecx + edi - 1]
movzx ebx, byte [ebx + edi - 1]
mov byte [esp + 0x96], dl
mov byte [esp], cl
mov byte [esp + 0x97], cl
mov ecx, dword [esp + 0x30]
mov byte [esp + 0x8f], bl
mov ebx, dword [ecx + 0x1d38]
test ebx, ebx
jne 0xc3c1d1
mov ecx, dword [ecx + 0x1d3c]
mov dword [esp + 0x28], pe_nt_image_headers32
mov dword [esp + 0x24], pe_nt_image_headers32
test ecx, ecx
jne 0xc3c260
mov ebx, dword [esp + 4]
movzx edx, byte [eax]
movzx edi, byte [eax + 1]
mov ebp, dword [esp + 4]
movzx ebx, byte [ebx]
mov dword [esp + 0x34], edx
movzx edx, byte [eax + 2]
movzx ecx, byte [esp + 0x10]
movzx esi, byte [esp + 0x20]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 4]
movzx ebp, byte [ebp + 1]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 4]
mov dword [esp + 0x44], edx
mov edx, dword [esp + 4]
movzx ebx, byte [ebx + 2]
mov dword [esp + 0x10], ecx
movzx ecx, byte [eax + 5]
movzx edi, byte [edi + 3]
mov dword [esp + 0x20], esi
movzx edx, byte [edx + 4]
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 4]
movzx esi, byte [eax + 3]
mov dword [esp + 0x40], ebp
movzx ebp, byte [eax + 4]
mov dword [esp + 0x50], edi
movzx ebx, byte [ebx + 5]
mov dword [esp + 0x4c], esi
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x60], ebx
mov edi, dword [esp + 4]
mov ebp, dword [esp + 4]
movzx esi, byte [eax + 6]
movzx eax, byte [eax + 7]
movzx edi, byte [edi + 6]
movzx ebp, byte [ebp + 7]
mov dword [esp + 0x64], esi
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], edi
mov dword [esp + 0x70], ebp
mov dword [esp + 0x2c], 1
mov dword [esp + 0x14], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0
jmp 0xc3bb0c
cmp dword [esp + 0x2c], 8
je 0xc3c180
mov esi, dword [esp + 0x74]
add dword [esp + 0x18], esi
add dword [esp + 0x1c], esi
add dword [esp + 0x2c], 1
mov edi, dword [esp + 0x2c]
mov ebp, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x18]
movzx eax, byte [esp + edi + 0x87]
movzx ebp, byte [esp + ebp + 0x8f]
mov edi, dword [esp + 0x34]
mov esi, dword [esp + 0x1c]
movzx ecx, byte [ebx]
add edx, ebp
add edi, eax
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp], ebp
movzx ebx, byte [esi]
js 0xc3c177
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xc3c170
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov esi, ecx
mov ebp, ebx
sub esi, dword [esp + 0x24]
sub ebp, dword [esp + 0x28]
imul esi, esi
imul ebp, ebp
add esi, dword [esp + 4]
add ebp, esi
mov esi, ecx
mov dword [esp + 4], ebp
mov ebp, ebx
sub esi, dword [esp + 0x34]
sub ebp, dword [esp + 0x38]
imul esi, esi
imul ebp, ebp
add esi, dword [esp + 8]
add ebp, esi
mov esi, ebx
sub esi, dword [esp]
sub ebx, edx
mov dword [esp + 8], ebp
mov ebp, ecx
sub ecx, edi
sub ebp, eax
mov edi, dword [esp + 0x3c]
imul ebp, ebp
mov edx, dword [esp]
imul esi, esi
add ebp, dword [esp + 0xc]
imul ecx, ecx
add edi, eax
imul ebx, ebx
add ecx, dword [esp + 0x14]
add esi, ebp
mov dword [esp + 0xc], esi
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
add ebx, ecx
add edx, dword [esp + 0x40]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
movzx ecx, byte [esi + 1]
movzx ebx, byte [ebp + 1]
js 0xc3c167
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xc3c160
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x3c]
sub esi, dword [esp + 0x40]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x44]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x48]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 2]
movzx ecx, byte [esi + 2]
js 0xc3c157
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xc3c150
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x44]
sub esi, dword [esp + 0x48]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x4c]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x50]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 3]
movzx ecx, byte [esi + 3]
js 0xc3c147
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xc3c140
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x4c]
sub esi, dword [esp + 0x50]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x54]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x58]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 4]
movzx ecx, byte [esi + 4]
js 0xc3c137
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xc3c130
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x54]
sub esi, dword [esp + 0x58]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x5c]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add edi, eax
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x60]
sub edx, dword [esp + 0x20]
sub edi, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [ebp + 5]
movzx ecx, byte [esi + 5]
js 0xc3c127
cmp edi, 0x100
mov ebp, 0xff
cmovge edi, ebp
test edx, edx
js 0xc3c120
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov ebp, ebx
mov esi, ecx
sub ebp, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 4]
add esi, ebp
mov ebp, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub ebp, dword [esp + 0x5c]
sub esi, dword [esp + 0x60]
imul ebp, ebp
imul esi, esi
add ebp, dword [esp + 8]
add esi, ebp
mov ebp, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub ebp, eax
sub esi, dword [esp]
sub ebx, edi
imul ebp, ebp
sub ecx, edx
mov edi, dword [esp + 0x18]
add ebp, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add ebx, dword [esp + 0x14]
add esi, ebp
mov ebp, dword [esp + 0x64]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
movzx ebx, byte [edi + 6]
add edx, dword [esp + 0x68]
add ebp, eax
sub edx, dword [esp + 0x20]
sub ebp, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ecx, byte [esi + 6]
js 0xc3c117
cmp ebp, 0x100
mov edi, 0xff
cmovge ebp, edi
test edx, edx
js 0xc3c110
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov edi, ebx
mov esi, ecx
sub edi, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul edi, edi
imul esi, esi
add edi, dword [esp + 4]
add esi, edi
mov edi, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub edi, dword [esp + 0x64]
sub esi, dword [esp + 0x68]
imul edi, edi
imul esi, esi
add edi, dword [esp + 8]
add esi, edi
mov edi, ebx
mov dword [esp + 8], esi
mov esi, ecx
sub edi, eax
sub esi, dword [esp]
sub ebx, ebp
imul edi, edi
sub ecx, edx
mov ebp, dword [esp + 0x6c]
add edi, dword [esp + 0xc]
imul esi, esi
mov edx, dword [esp]
imul ebx, ebx
imul ecx, ecx
add ebp, eax
add ebx, dword [esp + 0x14]
add esi, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0xc], esi
mov esi, dword [esp + 0x1c]
add ecx, ebx
add edx, dword [esp + 0x70]
sub edx, dword [esp + 0x20]
sub ebp, dword [esp + 0x10]
mov dword [esp + 0x14], ecx
movzx ebx, byte [edi + 7]
movzx ecx, byte [esi + 7]
js 0xc3c107
cmp ebp, 0x100
mov edi, 0xff
cmovge ebp, edi
test edx, edx
js 0xc3c100
cmp edx, 0x100
mov esi, 0xff
cmovge edx, esi
mov edi, ebx
mov esi, ecx
sub edi, dword [esp + 0x24]
sub esi, dword [esp + 0x28]
imul edi, edi
imul esi, esi
add edi, dword [esp + 4]
add esi, edi
mov edi, ebx
mov dword [esp + 4], esi
mov esi, ecx
sub edi, dword [esp + 0x6c]
sub esi, dword [esp + 0x70]
imul edi, edi
imul esi, esi
add edi, dword [esp + 8]
add esi, edi
mov dword [esp + 8], esi
mov esi, ebx
sub ebx, ebp
sub esi, eax
mov eax, ecx
sub eax, dword [esp]
sub ecx, edx
imul esi, esi
imul ebx, ebx
imul eax, eax
imul ecx, ecx
add esi, dword [esp + 0xc]
add ebx, dword [esp + 0x14]
add eax, esi
add ecx, ebx
cmp dword [esp + 0x2c], 4
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
jne 0xc3baf0
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0xb10]
mov ecx, dword [edx + 0xb14]
mov ebx, dword [edx + 0xbe4]
mov eax, dword [eax]
add eax, ecx
mov dword [esp + 0x18], eax
mov eax, dword [edx + 0xbe0]
mov eax, dword [eax]
add eax, ebx
mov dword [esp + 0x1c], eax
jmp 0xc3bb07
xor edx, edx
jmp 0xc3c05f
xor ebp, ebp
jmp 0xc3c049
xor edx, edx
jmp 0xc3bfab
xor ebp, ebp
jmp 0xc3bf95
xor edx, edx
jmp 0xc3bef7
xor edi, edi
jmp 0xc3bee1
xor edx, edx
jmp 0xc3be43
xor edi, edi
jmp 0xc3be2d
xor edx, edx
jmp 0xc3bd8f
xor edi, edi
jmp 0xc3bd79
xor edx, edx
jmp 0xc3bcdb
xor edi, edi
jmp 0xc3bcc5
xor edx, edx
jmp 0xc3bc27
xor edi, edi
jmp 0xc3bc11
xor edx, edx
jmp 0xc3bb73
xor edi, edi
jmp 0xc3bb5d
mov edi, dword [esp + 8]
mov edx, 2
mov ebp, dword [esp + 4]
cmp dword [esp + 4], edi
mov ebx, dword [esp + 0x30]
mov eax, edi
cmovle eax, dword [esp + 4]
xor ecx, ecx
cmp edi, ebp
setl cl
cmp dword [esp + 0xc], eax
cmovge edx, ecx
mov ecx, dword [ebx + 0x1d2c]
mov ebx, dword [esp + 0xc]
cmovge ebx, eax
mov eax, 3
cmp dword [esp + 0x14], ebx
cmovge eax, edx
mov dword [ecx + 4], eax
add esp, 0x98
pop ebx
pop esi
pop edi
pop ebp
ret
mov edi, dword [esp + 4]
mov ebp, ecx
movzx esi, byte [eax]
movzx ecx, byte [eax + 1]
mov edx, dword [ebp + 0x1d3c]
movzx ebx, byte [edi]
add esi, ecx
movzx ecx, byte [edi + 1]
add ebx, ecx
movzx ecx, byte [eax + 2]
add esi, ecx
movzx ecx, byte [edi + 2]
add ebx, ecx
movzx ecx, byte [eax + 3]
add esi, ecx
movzx ecx, byte [edi + 3]
add ebx, ecx
movzx ecx, byte [eax + 4]
add esi, ecx
movzx ecx, byte [edi + 4]
add ebx, ecx
movzx ecx, byte [eax + 5]
add esi, ecx
movzx ecx, byte [edi + 5]
add ebx, ecx
movzx ecx, byte [eax + 6]
add esi, ecx
movzx ecx, byte [edi + 6]
movzx edi, byte [edi + 7]
add ecx, ebx
movzx ebx, byte [eax + 7]
add edi, ecx
add ebx, esi
test edx, edx
jne 0xc3c310
mov ebp, 4
mov ecx, 3
add ebx, ebp
add ebp, edi
sar ebx, cl
sar ebp, cl
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
jmp 0xc3ba10
mov ebp, 4
mov ecx, 3
xor edi, edi
xor ebx, ebx
movzx esi, byte [esp + 0x88]
add esi, ebx
movzx ebx, byte [esp + 0x90]
add edi, ebx
movzx ebx, byte [esp + 0x89]
add esi, ebx
movzx ebx, byte [esp + 0x91]
add edi, ebx
movzx ebx, byte [esp + 0x8a]
add esi, ebx
movzx ebx, byte [esp + 0x92]
add edi, ebx
movzx ebx, byte [esp + 0x8b]
add esi, ebx
movzx ebx, byte [esp + 0x93]
add edi, ebx
movzx ebx, byte [esp + 0x8c]
add esi, ebx
movzx ebx, byte [esp + 0x94]
add edi, ebx
movzx ebx, byte [esp + 0x8d]
add esi, ebx
movzx ebx, byte [esp + 0x95]
add edi, ebx
movzx ebx, byte [esp + 0x8e]
add esi, ebx
movzx ebx, byte [esp + 0x96]
add edi, ebx
movzx ebx, byte [esp + 0x8f]
add ebx, esi
movzx esi, byte [esp]
add edi, esi
jmp 0xc3c249
mov ebp, 8
mov ecx, 4
jmp 0xc3c26e