Function at 0x49b990
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.00490dc0
mov dword [esp + 0x4c], eax
mov eax, ebp
and eax, 0xffff
add esp, 4
dec eax
cmp eax, 0x17
ja case.default.0x49ba08
xor ecx, ecx
mov cl, byte [eax + 0x49c454]
jmp dword [ecx*4 + 0x49c428]
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 + 0x77d218], ecx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
pop ebp
mov dword [edx*8 + 0x77d21c], 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.00496100
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.00496100
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.0048d450
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x48]
push eax
push ecx
call fcn.0048d450
add esp, 0x18
cmp bp, 1
je 0x49bb44
mov eax, dword [esp + 0x188]
test eax, eax
je case.default.0x49ba08
cmp eax, 1
jne 0x49bb44
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.00498e10
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.0048eb90
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.004cfe77
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, esi
call fcn.004cfec3
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.0x49ba08.2
mov ebp, 3
mov ax, word [esi + 2]
cmp ax, 0xffff
jne 0x49bbc0
xor edx, edx
mov dx, word [esi + 4]
mov eax, dword [edx*8 + 0x77d218]
mov dword [esp + 0x10], eax
mov ecx, dword [edx*8 + 0x77d21c]
mov dword [esp + 0x14], ecx
jmp 0x49bc02
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.00496100
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
cmp bp, 0x17
jne 0x49bc18
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
jmp 0x49bc2b
cmp bp, 0x18
jne 0x49bc2b
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.0048d450
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 0xc
cmp bp, 3
push ecx
push edx
jne 0x49be96
mov ecx, dword [esp + 0x180]
lea eax, [esp + 0xdc]
push eax
call fcn.004cfe77
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.00496100
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.0048d450
add esp, 0xc
add esi, 8
dec ebx
jne 0x49bcc2
mov eax, dword [esp + 0x188]
cmp eax, 2
jne 0x49bd3d
cmp bp, 6
jne 0x49bd3d
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.004cfe77
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.004900e0
jmp 0x49c40f
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.00496100
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.00496100
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.004d2d4f
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.00496100
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x158]
push eax
push ecx
call fcn.0048d690
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 0x49be70
xor edx, edx
pop edi
mov dx, word [esi + 0xe]
pop esi
pop ebp
pop ebx
mov dword [edx*8 + 0x77d218], eax
mov dword [edx*8 + 0x77d21c], 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.0048d450
add esp, 0xc
cmp bp, 0xf
jne 0x49beb6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x180]
call fcn.004cfec3
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.004cfe77
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.00496100
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.00496100
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.004d2d4f
mov ecx, dword [edi + 4]
xor eax, eax
cmp bp, 0x11
setne al
test ecx, 0x4000000
je 0x49bf9e
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test ecx, 0x8000000
je 0x49bfaf
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
cmp bp, 0x10
je 0x49c091
cmp bp, 0x11
je 0x49c091
cmp bp, 0x12
jne 0x49bfd0
mov ecx, 1
jmp 0x49bfdc
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.00496100
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.00496100
lea ecx, [esp + 0x54]
push eax
mov eax, dword [esp + 0x198]
lea edx, [esp + 0x40]
push ecx
push edx
push eax
call fcn.0048f6f0
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.00496100
push eax
mov eax, dword [esp + 0x1a0]
jmp 0x49c062
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.00496100
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.00496100
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.004d2d4f
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.004908d0
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.00496100
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.00496100
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.004d2d4f
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 0x49c299
mov edx, dword [edi + 0x14]
mov esi, dword [edi + 0xc]
sub edx, esi
push edx
jmp 0x49c2a2
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 0x49c2f2
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.00490250
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 0x49c32b
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.004905f0
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.00490720
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.0x49ba08
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.00496100
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.00496100
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.004d2d4f
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.004901f0
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