Function at 0x462360
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.00457730
mov dword [esp + 0x4c], eax
mov eax, ebp
and eax, 0xffff
add esp, 4
dec eax
cmp eax, 0x17
ja case.default.0x4623d8
xor ecx, ecx
mov cl, byte [eax + 0x462e24]
jmp dword [ecx*4 + 0x462df8]
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 + 0x5e7d98], ecx
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x40]
pop ebp
mov dword [edx*8 + 0x5e7d9c], 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.0045ca80
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.0045ca80
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x10]
push edx
lea ecx, [esp + 0x3c]
push eax
push ecx
call fcn.00453dc0
mov edx, dword [edi + 0x24]
lea eax, [esp + 0x4c]
push edx
lea ecx, [esp + 0x48]
push eax
push ecx
call fcn.00453dc0
add esp, 0x18
cmp bp, 1
je 0x462514
mov eax, dword [esp + 0x188]
test eax, eax
je case.default.0x4623d8
cmp eax, 1
jne 0x462514
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.0045f7d0
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.00455500
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.00494c52
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
mov ecx, esi
call fcn.00494c9e
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.0x4623d8.2
mov ebp, 3
mov ax, word [esi + 2]
cmp ax, 0xffff
jne 0x462590
xor edx, edx
mov dx, word [esi + 4]
mov eax, dword [edx*8 + 0x5e7d98]
mov dword [esp + 0x10], eax
mov ecx, dword [edx*8 + 0x5e7d9c]
mov dword [esp + 0x14], ecx
jmp 0x4625d2
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.0045ca80
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x14], edx
cmp bp, 0x17
jne 0x4625e8
mov eax, dword [esp + 0x184]
mov ecx, dword [eax + 4]
mov dword [esp + 0x14], ecx
jmp 0x4625fb
cmp bp, 0x18
jne 0x4625fb
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.00453dc0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
add esp, 0xc
cmp bp, 3
push ecx
push edx
jne 0x462866
mov ecx, dword [esp + 0x180]
lea eax, [esp + 0xdc]
push eax
call fcn.00494c52
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.0045ca80
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.00453dc0
add esp, 0xc
add esi, 8
dec ebx
jne 0x462692
mov eax, dword [esp + 0x188]
cmp eax, 2
jne 0x46270d
cmp bp, 6
jne 0x46270d
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.00494c52
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.00456a50
jmp 0x462ddf
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.0045ca80
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.0045ca80
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.0049747e
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.0045ca80
lea edx, [esp + 0x10]
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x158]
push eax
push ecx
call fcn.00454000
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 0x462840
xor edx, edx
pop edi
mov dx, word [esi + 0xe]
pop esi
pop ebp
pop ebx
mov dword [edx*8 + 0x5e7d98], eax
mov dword [edx*8 + 0x5e7d9c], 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.00453dc0
add esp, 0xc
cmp bp, 0xf
jne 0x462886
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
push eax
push ecx
mov ecx, dword [esp + 0x180]
call fcn.00494c9e
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.00494c52
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.0045ca80
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.0045ca80
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.0049747e
mov ecx, dword [edi + 4]
xor eax, eax
cmp bp, 0x11
setne al
test ecx, 0x4000000
je 0x46296e
xor edx, edx
test eax, eax
sete dl
mov eax, edx
test ecx, 0x8000000
je 0x46297f
xor ecx, ecx
test eax, eax
sete cl
mov eax, ecx
cmp bp, 0x10
je 0x462a61
cmp bp, 0x11
je 0x462a61
cmp bp, 0x12
jne 0x4629a0
mov ecx, 1
jmp 0x4629ac
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.0045ca80
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.0045ca80
lea ecx, [esp + 0x54]
push eax
mov eax, dword [esp + 0x198]
lea edx, [esp + 0x40]
push ecx
push edx
push eax
call fcn.00456060
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.0045ca80
push eax
mov eax, dword [esp + 0x1a0]
jmp 0x462a32
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.0045ca80
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.0045ca80
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.0049747e
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.00457240
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.0045ca80
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.0045ca80
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.0049747e
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 0x462c69
mov edx, dword [edi + 0x14]
mov esi, dword [edi + 0xc]
sub edx, esi
push edx
jmp 0x462c72
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 0x462cc2
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.00456bc0
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 0x462cfb
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.00456f60
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.00457090
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.0x4623d8
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.0045ca80
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.0045ca80
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.0049747e
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.00456b60
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