Function at 0x100cd220
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x164
mov eax, dword [esp + 0x170]
push ebx
push ebp
push esi
mov edx, dword [eax + 4]
push edi
mov edi, ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [eax]
mov esi, edx
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
sub eax, edx
mov ebp, dword [edi + 0x10]
cdq
sub eax, edx
mov dword [esp + 0x18], ecx
sar eax, 1
add ecx, eax
mov eax, dword [edi + 0x18]
sub eax, ebp
mov dword [esp + 0x38], ecx
cdq
sub eax, edx
sar eax, 1
add esi, eax
mov dword [esp + 0x3c], esi
mov esi, dword [esp + 0x17c]
mov bp, word [esi]
push ebp
call fcn.100c25f0
mov dword [esp + 0x4c], eax
mov eax, ebp
and eax, 0xffff
add esp, 4
dec eax
cmp eax, 0x17
ja case.default.0x100cd298
xor ecx, ecx
mov cl, byte [eax + 0x100cdce4]
jmp dword [ecx*4 + 0x100cdcb8]
mov eax, dword [esp + 0x184]
xor edx, edx
mov dx, word [esi + 2]
pop edi
mov ecx, dword [eax]
pop esi
mov dword [edx*8 + 0x101dae58], ecx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
pop ebp
mov dword [edx*8 + 0x101dae5c], eax
pop ebx
lea eax, [ecx + 1]
add esp, 0x164
ret 0x14
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 2]
mov dx, word [esi + 4]
mov dword [esp + 0xbc], ecx
lea eax, [esp + 0x18]
mov dword [esp + 0xc0], edx
lea ecx, [esp + 0xbc]
push eax
lea edx, [esp + 0x14]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 6]
mov cx, word [esi + 8]
mov dword [esp + 0x94], eax
lea edx, [esp + 0x18]
mov dword [esp + 0x98], ecx
lea eax, [esp + 0x94]
push edx
lea ecx, [esp + 0x44]
push eax
push ecx
mov ecx, edi
call fcn.100c7940
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.100bec50
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x48]
push eax
push ecx
call fcn.100bec50
add esp, 0x18
cmp bp, 1
je 0x100cd3d4
mov eax, dword [esp + 0x188]
test eax, eax
je case.default.0x100cd298
cmp eax, 1
jne 0x100cd3d4
mov edx, dword [edi + 0x38]
xor eax, eax
mov ax, word [esi + 0xa]
push edx
mov ecx, eax
push 1
and ecx, 1
push 1
shr eax, 1
push ecx
push 1
and eax, 1
push 1
push eax
mov ecx, edi
call fcn.100ca650
mov edx, dword [edi + 0x30]
push eax
lea eax, [esp + 0x60]
push edx
mov edx, dword [esp + 0x19c]
lea ecx, [esp + 0x34]
push eax
push ecx
push edx
call fcn.100c03a0
mov ecx, dword [esp + 0x78]
add esp, 0x30
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x178]
push eax
lea edx, [esp + 0xe8]
push ecx
push edx
mov ecx, esi
call fcn.100fb980
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, esi
call fcn.100fb9cc
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
cmp dword [esp + 0x188], 2
jne case.0x100cd298.2
mov ebp, 3
mov ax, word [esi + 2]
cmp ax, 0xffff
jne 0x100cd450
xor edx, edx
mov dx, word [esi + 4]
mov eax, dword [edx*8 + 0x101dae58]
mov dword [esp + 0x10], eax
mov ecx, dword [edx*8 + 0x101dae5c]
mov dword [esp + 0x14], ecx
jmp 0x100cd492
and eax, 0xffff
xor edx, edx
mov dx, word [esi + 4]
mov dword [esp + 0xcc], eax
lea eax, [esp + 0x18]
mov dword [esp + 0xd0], edx
lea ecx, [esp + 0xcc]
push eax
lea edx, [esp + 0x170]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
cmp bp, 0x17
jne 0x100cd4a8
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
jmp 0x100cd4bb
cmp bp, 0x18
jne 0x100cd4bb
mov edx, dword [esp + 0x184]
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov ecx, dword [edi + 0x24]
lea edx, [esp + 0x10]
push ecx
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.100bec50
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 0xc
cmp bp, 3
push ecx
push edx
jne 0x100cd726
mov ecx, dword [esp + 0x180]
lea eax, [esp + 0xdc]
push eax
call fcn.100fb980
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 2]
mov cx, word [esi + 4]
xor edx, edx
mov dword [esp + 0x20], eax
mov dx, word [esi + 6]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
xor eax, eax
mov ax, word [esi + 8]
xor ecx, ecx
mov cx, word [esi + 0xa]
xor edx, edx
mov dx, word [esi + 0xc]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x34], edx
lea esi, [esp + 0x20]
mov ebx, 3
lea eax, [esp + 0x18]
lea ecx, [esp + 0x164]
push eax
push esi
push ecx
mov ecx, edi
call fcn.100c7940
mov edx, dword [eax]
mov ecx, dword [edi + 0x24]
mov dword [esi], edx
push ecx
mov eax, dword [eax + 4]
lea edx, [esp + 0x3c]
push esi
push edx
mov dword [esi + 4], eax
call fcn.100bec50
add esp, 0xc
add esi, 8
dec ebx
jne 0x100cd552
mov eax, dword [esp + 0x188]
cmp eax, 2
jne 0x100cd5cd
cmp bp, 6
jne 0x100cd5cd
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
push eax
lea edx, [esp + 0xf8]
push ecx
mov ecx, dword [esp + 0x180]
push edx
call fcn.100fb980
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
xor ecx, ecx
cmp eax, 2
mov eax, dword [esp + 0x178]
lea edx, [esp + 0x20]
sete cl
push ecx
push 3
push edx
push eax
call fcn.100c18f0
jmp 0x100cdc9f
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 6]
mov dx, word [esi + 8]
mov dword [esp + 0x64], ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x68], edx
lea ecx, [esp + 0x64]
push eax
lea edx, [esp + 0x138]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
mov ebx, dword [eax]
xor ecx, ecx
mov cx, word [esi + 2]
xor edx, edx
mov eax, dword [eax + 4]
mov dx, word [esi + 4]
mov dword [esp + 0x44], eax
mov dword [esp + 0xb4], ecx
lea eax, [esp + 0x18]
mov dword [esp + 0xb8], edx
lea ecx, [esp + 0xb4]
push eax
lea edx, [esp + 0x108]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
mov ecx, eax
mov edx, dword [esp + 0x44]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edx
call fcn.100fe0d3
xor eax, eax
xor ecx, ecx
mov ax, word [esi + 0xa]
mov cx, word [esi + 0xc]
mov dword [esp + 0x74], eax
lea edx, [esp + 0x18]
mov dword [esp + 0x78], ecx
lea eax, [esp + 0x74]
push edx
lea ecx, [esp + 0x14]
push eax
push ecx
mov ecx, edi
call fcn.100c7940
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x158]
push eax
push ecx
call fcn.100bee90
mov edx, eax
add esp, 0xc
cmp bp, 0x16
mov eax, dword [edx]
mov dword [esp + 0x10], eax
mov ecx, dword [edx + 4]
mov dword [esp + 0x14], ecx
jne 0x100cd700
xor edx, edx
pop edi
mov dx, word [esi + 0xe]
pop esi
pop ebp
pop ebx
mov dword [edx*8 + 0x101dae58], eax
mov dword [edx*8 + 0x101dae5c], ecx
mov ecx, dword [esp + 0x38]
lea eax, [ecx + 1]
add esp, 0x164
ret 0x14
mov eax, dword [edi + 0x24]
lea ecx, [esp + 0x10]
push eax
lea edx, [esp + 0x3c]
push ecx
push edx
call fcn.100bec50
add esp, 0xc
cmp bp, 0xf
jne 0x100cd746
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x180]
call fcn.100fb9cc
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push edx
lea ecx, [esp + 0x118]
push eax
push ecx
mov ecx, dword [esp + 0x184]
call fcn.100fb980
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
xor edx, edx
xor eax, eax
mov dx, word [esi + 6]
mov ax, word [esi + 8]
mov dword [esp + 0xa4], edx
lea ecx, [esp + 0x18]
mov dword [esp + 0xa8], eax
lea edx, [esp + 0xa4]
push ecx
lea eax, [esp + 0x148]
push edx
push eax
mov ecx, edi
call fcn.100c7940
mov ebx, dword [eax]
xor edx, edx
mov dx, word [esi + 2]
mov ecx, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x84], edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x88], eax
lea edx, [esp + 0x84]
push ecx
lea eax, [esp + 0x128]
push edx
push eax
mov ecx, edi
call fcn.100c7940
mov ecx, eax
mov edx, dword [esp + 0x44]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edx
call fcn.100fe0d3
mov ecx, dword [edi + 4]
xor eax, eax
cmp bp, 0x11
setne al
test ecx, 0x4000000
je 0x100cd82e
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test ecx, 0x8000000
je 0x100cd83f
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
cmp bp, 0x10
je 0x100cd921
cmp bp, 0x11
je 0x100cd921
cmp bp, 0x12
jne 0x100cd860
mov ecx, 1
jmp 0x100cd86c
xor ecx, ecx
cmp bp, 0x13
setne cl
add ecx, 2
xor edx, edx
mov ebx, dword [esp + 0x188]
mov dx, word [esi + 0xe]
mov dword [esp + 0xc4], edx
xor edx, edx
mov dx, word [esi + 0x10]
mov dword [esp + 0xc8], edx
xor edx, edx
mov dx, word [esi + 0xa]
mov dword [esp + 0x54], edx
xor edx, edx
mov dx, word [esi + 0xc]
mov dword [esp + 0x58], edx
xor edx, edx
cmp ebx, 2
sete dl
push edx
mov edx, dword [edi + 0x24]
push 0
push 0
push ecx
push eax
xor eax, eax
lea ecx, [esp + 0x2c]
mov ax, word [esi + 0x12]
add eax, edx
lea edx, [esp + 0xd8]
push eax
push ecx
lea eax, [esp + 0xf8]
push edx
push eax
mov ecx, edi
call fcn.100c7940
lea ecx, [esp + 0x30]
push eax
lea edx, [esp + 0x70]
push ecx
lea eax, [esp + 0x10c]
push edx
push eax
mov ecx, edi
call fcn.100c7940
lea ecx, [esp + 0x54]
push eax
mov eax, dword [esp + 0x198]
lea edx, [esp + 0x40]
push ecx
push edx
push eax
call fcn.100c0f00
mov ecx, dword [esp + 0x74]
add esp, 0x2c
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
mov ebp, dword [esp + 0x188]
xor ecx, ecx
mov cx, word [esi + 0xa]
xor edx, edx
mov dx, word [esi + 0xc]
mov dword [esp + 0x5c], ecx
xor ecx, ecx
cmp ebp, 2
sete cl
push ecx
push 0
push 0
mov dword [esp + 0x6c], edx
mov edx, dword [edi + 0x24]
push 0
push eax
lea eax, [esp + 0x2c]
push edx
lea ecx, [esp + 0x74]
push eax
lea edx, [esp + 0x118]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
push eax
mov eax, dword [esp + 0x1a0]
jmp 0x100cd8f2
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 6]
mov dx, word [esi + 8]
mov dword [esp + 0x6c], ecx
lea eax, [esp + 0x18]
mov dword [esp + 0x70], edx
lea ecx, [esp + 0x6c]
push eax
lea edx, [esp + 0x110]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
mov ebx, dword [eax]
xor ecx, ecx
mov cx, word [esi + 4]
lea edx, [esp + 0x18]
mov ebp, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 2]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x7c], eax
lea eax, [esp + 0x7c]
push edx
lea ecx, [esp + 0x120]
push eax
push ecx
mov ecx, edi
call fcn.100c7940
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
call fcn.100fe0d3
mov edx, dword [esp + 0x188]
mov ebx, dword [edi + 0x24]
xor eax, eax
cmp edx, 2
sete al
xor edx, edx
lea ecx, [esp + 0x38]
mov dx, word [esi + 0xa]
push eax
add edx, ebx
push ecx
mov ecx, dword [esp + 0x180]
lea eax, [esp + 0x28]
push edx
push eax
push ecx
call fcn.100c20e0
mov ecx, dword [esp + 0x5c]
add esp, 0x14
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
xor edx, edx
xor eax, eax
mov dx, word [esi + 6]
mov ax, word [esi + 8]
mov dword [esp + 0x8c], edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x90], eax
lea edx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x130]
push edx
push eax
mov ecx, edi
call fcn.100c7940
mov ebx, dword [eax]
xor edx, edx
mov dx, word [esi + 2]
mov ecx, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 4]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x9c], edx
lea ecx, [esp + 0x18]
mov dword [esp + 0xa0], eax
lea edx, [esp + 0x9c]
push ecx
lea eax, [esp + 0x140]
push edx
push eax
mov ecx, edi
call fcn.100c7940
mov ecx, eax
mov edx, dword [esp + 0x44]
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], edx
call fcn.100fe0d3
mov eax, dword [edi + 0x14]
mov edx, dword [edi + 0xc]
mov ecx, dword [edi + 0x10]
xor ebx, ebx
mov bx, word [esi + 0xa]
mov esi, dword [edi + 0x18]
sub eax, edx
push 0x1fff
push eax
push ebx
sub esi, ecx
call dword [sym.imp.KERNEL32.dll_MulDiv]
push 0x1fff
mov edx, eax
push esi
push ebx
mov dword [esp + 0x1c], edx
call dword [sym.imp.KERNEL32.dll_MulDiv]
mov ecx, dword [esp + 0x10]
push 0x1fff
cmp ecx, eax
jge 0x100cdb29
mov edx, dword [edi + 0x14]
mov esi, dword [edi + 0xc]
sub edx, esi
push edx
jmp 0x100cdb32
mov eax, dword [edi + 0x18]
mov edx, dword [edi + 0x10]
sub eax, edx
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_MulDiv]
cmp bp, 8
jne 0x100cdb82
mov esi, dword [esp + 0x188]
xor ecx, ecx
cmp esi, 2
lea edx, [esp + 0x38]
sete cl
push ecx
mov ecx, dword [edi + 0x24]
push edx
push ecx
push eax
mov eax, dword [esp + 0x188]
lea edx, [esp + 0x30]
push edx
push eax
call fcn.100c1a60
mov ecx, dword [esp + 0x60]
add esp, 0x18
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
cmp bp, 0xb
jne 0x100cdbbb
mov edx, dword [edi + 0x24]
lea ecx, [esp + 0x38]
push ecx
mov ecx, dword [esp + 0x17c]
push edx
push eax
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.100c1e00
mov ecx, dword [esp + 0x5c]
add esp, 0x14
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
mov ecx, dword [edi + 0x24]
lea edx, [esp + 0x38]
push edx
push ecx
push eax
mov eax, dword [esp + 0x184]
lea edx, [esp + 0x2c]
push edx
push eax
call fcn.100c1f30
mov ecx, dword [esp + 0x5c]
add esp, 0x14
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14
cmp dword [esp + 0x188], 2
jne case.default.0x100cd298
xor ecx, ecx
xor edx, edx
mov cx, word [esi + 6]
mov dx, word [esi + 8]
mov dword [esp + 0xac], ecx
lea eax, [esp + 0x18]
mov dword [esp + 0xb0], edx
lea ecx, [esp + 0xac]
push eax
lea edx, [esp + 0x150]
push ecx
push edx
mov ecx, edi
call fcn.100c7940
mov ebx, dword [eax]
xor ecx, ecx
mov cx, word [esi + 4]
lea edx, [esp + 0x18]
mov ebp, dword [eax + 4]
xor eax, eax
mov ax, word [esi + 2]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x4c], eax
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x160]
push eax
push ecx
mov ecx, edi
call fcn.100c7940
mov edx, eax
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x20]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebp
call fcn.100fe0d3
mov ecx, dword [edi + 0x24]
lea eax, [esp + 0x38]
push eax
mov eax, dword [esp + 0x17c]
lea edx, [esp + 0x24]
push ecx
push edx
push eax
call fcn.100c1a00
add esp, 0x10
mov ecx, dword [esp + 0x48]
pop edi
pop esi
pop ebp
lea eax, [ecx + 1]
pop ebx
add esp, 0x164
ret 0x14