Function at 0x42ad80
Capabilities:
Enumerate pe sections

Disassembly:
push esi
sub esp, 0x3c
mov eax, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
mov dword [esp + 0x30], edx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 0xc], eax
cmp dword [esp + 0x4c], 0
je 0x42adb5
jmp 0x42ada9
mov eax, dword [esp + 0x4c]
mov dword [eax], 0
jmp 0x42adb5
cmp dword [esp + 0xc], 0
je 0x42adcc
jmp 0x42adbe
cmp dword [esp + 0x48], 0
setne al
test al, 1
jne 0x42adf3
jmp 0x42adcc
jmp 0x42adce
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42adde
mov dword [eax + 0x1c], 0x18
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
jmp 0x42b367
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x48]
mov dword [ecx], eax
mov eax, dword [esp + 0x18]
mov eax, dword [eax + 0x48]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x30]
mov eax, dword [eax + ecx*4]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], 0
mov eax, dword [esp + 0xc]
mov ax, word [eax + 4]
mov ecx, dword [esp + 0x48]
mov word [ecx + 0x10], ax
mov eax, dword [esp + 0xc]
mov ax, word [eax + 6]
mov ecx, dword [esp + 0x48]
mov word [ecx + 0x12], ax
mov eax, dword [esp + 0xc]
mov ax, word [eax + 8]
mov ecx, dword [esp + 0x48]
mov word [ecx + 0x14], ax
mov eax, dword [esp + 0xc]
mov ax, word [eax + 0xa]
mov ecx, dword [esp + 0x48]
mov word [ecx + 0x16], ax
mov eax, dword [esp + 0xc]
movzx edx, word [eax + 0xe]
movzx ecx, word [eax + 0xc]
call fcn.00443c90
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x1c], edx
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x14]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x28], eax
mov dword [ecx + 0x2c], 0
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x30], eax
mov dword [ecx + 0x34], 0
mov eax, dword [esp + 0xc]
mov ax, word [eax + 0x24]
mov ecx, dword [esp + 0x48]
mov word [ecx + 0x38], ax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x26]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x3c], eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x2a]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x40], eax
mov dword [ecx + 0x44], 0
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x1c]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0x1ff
jae 0x42aefe
mov eax, dword [esp + 0x14]
jmp 0x42af05
mov eax, 0x1ff
jmp 0x42af05
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x48]
add eax, 0x58
mov ecx, dword [esp + 0xc]
add ecx, 0x2e
mov edx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0044fc30
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov byte [eax + ecx + 0x58], 0
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x20]
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0x1ff
setb al
test al, 1
jne 0x42af55
jmp 0x42af5d
jmp 0x42af57
mov eax, dword [esp + 0x14]
jmp 0x42af64
mov eax, 0x1ff
jmp 0x42af64
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x48], eax
mov eax, dword [esp + 0x48]
add eax, 0x258
mov ecx, dword [esp + 0xc]
movzx edx, word [ecx + 0x1c]
mov esi, ecx
add esi, edx
movzx ecx, word [ecx + 0x1e]
lea ecx, [ecx + esi + 0x2e]
mov edx, dword [esp + 0x14]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.0044fc30
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x14]
mov byte [eax + ecx + 0x258], 0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a2d0
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x4c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a080
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x50], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0042a130
mov ecx, dword [esp + 0x48]
mov dword [ecx + 0x54], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
sub eax, ecx
sbb esi, edx
jae 0x42b029
jmp 0x42b01d
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
jmp 0x42b035
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
jmp 0x42b035
mov edx, dword [esp + 0x48]
mov esi, dword [edx + 0x40]
mov edx, dword [edx + 0x44]
sub esi, eax
sbb edx, ecx
jae 0x42b080
jmp 0x42b047
jmp 0x42b049
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
mov edx, dword [eax + 0x2c]
mov esi, dword [eax + 0x34]
mov eax, dword [eax + 0x30]
sub eax, ecx
sbb esi, edx
setb al
test al, 1
jne 0x42b066
jmp 0x42b072
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x28]
mov ecx, dword [ecx + 0x2c]
jmp 0x42b07e
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
jmp 0x42b07e
jmp 0x42b08e
jmp 0x42b082
mov ecx, dword [esp + 0x48]
mov eax, dword [ecx + 0x40]
mov ecx, dword [ecx + 0x44]
jmp 0x42b08e
not eax
or eax, ecx
jne 0x42b357
jmp 0x42b09a
mov eax, dword [esp + 0xc]
movzx eax, word [eax + 0x1e]
mov dword [esp + 0x28], eax
cmp dword [esp + 0x28], 0
je 0x42b33e
mov eax, dword [esp + 0xc]
add eax, 0x2e
mov ecx, dword [esp + 0xc]
movzx ecx, word [ecx + 0x1c]
add eax, ecx
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x28], 4
jae 0x42b0f2
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42b0dd
mov dword [eax + 0x1c], 9
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
jmp 0x42b307
jmp 0x42b0f4
mov eax, dword [esp + 0x2c]
movzx eax, word [eax]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x2c]
movzx eax, word [eax + 2]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x34]
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffffc
xor eax, eax
sub eax, ecx
cmp eax, dword [esp + 0x28]
seta al
test al, 1
jne 0x42b127
jmp 0x42b14e
jmp 0x42b129
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42b139
mov dword [eax + 0x1c], 9
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
jmp 0x42b307
cmp dword [esp + 0x38], 1
jne 0x42b2d4
mov eax, dword [esp + 0x2c]
add eax, 4
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x4c], 0
je 0x42b17d
mov eax, dword [esp + 0x4c]
mov dword [eax], 1
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x30]
mov eax, dword [eax + 0x34]
not ecx
or ecx, eax
jne 0x42b1e4
jmp 0x42b18f
cmp dword [esp + 0x1c], 8
jae 0x42b1bb
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42b1a6
mov dword [eax + 0x1c], 9
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
jmp 0x42b2d2
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov dword [edx + 0x34], eax
mov dword [edx + 0x30], ecx
mov eax, dword [esp + 0x20]
add eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
sub eax, 8
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x28]
mov eax, dword [eax + 0x2c]
not ecx
or ecx, eax
jne 0x42b257
jmp 0x42b1f6
cmp dword [esp + 0x1c], 8
jae 0x42b224
jmp 0x42b1ff
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42b20f
mov dword [eax + 0x1c], 9
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
jmp 0x42b2d2
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov dword [edx + 0x2c], eax
mov dword [edx + 0x28], ecx
mov eax, dword [esp + 0x20]
add eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
add eax, 0x353e036f
sub eax, 8
sub eax, 0x353e036f
mov dword [esp + 0x1c], eax
jmp 0x42b259
mov eax, dword [esp + 0x48]
mov ecx, dword [eax + 0x40]
mov eax, dword [eax + 0x44]
not ecx
or ecx, eax
sete al
test al, 1
jne 0x42b270
jmp 0x42b2c6
cmp dword [esp + 0x1c], 8
jae 0x42b299
mov eax, dword [esp + 0x18]
cmp eax, 0
je 0x42b287
mov dword [eax + 0x1c], 9
mov dword [esp + 0x24], 0
mov dword [esp + 0x10], 1
jmp 0x42b2d2
jmp 0x42b29b
mov eax, dword [esp + 0x20]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov edx, dword [esp + 0x48]
mov dword [edx + 0x44], eax
mov dword [edx + 0x40], ecx
mov eax, dword [esp + 0x20]
add eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x1c]
sub eax, 8
mov dword [esp + 0x1c], eax
jmp 0x42b2c6
jmp 0x42b2c8
mov dword [esp + 0x10], 2
jmp 0x42b2d2
jmp 0x42b307
mov eax, dword [esp + 0x34]
mov ecx, eax
or ecx, 0xfffffffb
add ecx, 5
or eax, 4
add ecx, eax
add ecx, dword [esp + 0x2c]
mov dword [esp + 0x2c], ecx
mov eax, dword [esp + 0x28]
sub eax, 4
sub eax, dword [esp + 0x34]
mov dword [esp + 0x28], eax
mov dword [esp + 0x10], 0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x42b318
jmp 0x42b311
sub eax, 2
je 0x42b325
jmp 0x42b32f
jmp 0x42b31a
cmp dword [esp + 0x28], 0
jne 0x42b0c6
mov dword [esp + 0x10], 0
jmp 0x42b331
jmp 0x42b331
cmp dword [esp + 0x10], 0
jne 0x42b34a
jmp 0x42b33a
jmp 0x42b33c
jmp 0x42b33e
jmp 0x42b340
mov dword [esp + 0x10], 0
jmp 0x42b34a
cmp dword [esp + 0x10], 0
jne 0x42b367
jmp 0x42b353
jmp 0x42b355
jmp 0x42b357
mov dword [esp + 0x24], 1
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x24]
add esp, 0x3c
pop esi
ret