Function at 0x442100
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x1c
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
add eax, edx
push ebx
movzx ecx, byte [edx + 0xd]
mov bh, byte [edx + 0x10]
push ebp
movzx ebp, byte [edx + 0xf]
mov dword [esp + 0x1c], eax
movzx eax, byte [edx + 0xc]
shl ecx, 8
add eax, ecx
shl ebp, 8
push esi
mov dword [esp + 0x14], eax
movzx eax, byte [edx + 0xe]
push edi
add ebp, eax
movzx edi, bh
mov dword [esp + 0x14], ebp
mov byte [esp + 0x30], bh
cmp edi, 0x20
jne 0x442150
mov dword [esp + 0x20], 4
jmp 0x442172
cmp edi, 0x18
jne 0x44215f
mov dword [esp + 0x20], 3
jmp 0x442172
mov ecx, dword [esp + 0x30]
cmp edi, 0x10
mov eax, 2
cmove ecx, eax
mov dword [esp + 0x20], ecx
mov al, byte [edx]
mov esi, 0x12
test al, al
je 0x442183
movzx esi, al
add esi, 0x12
cmp byte [edx + 1], 0
je 0x4421a6
movzx ecx, byte [edx + 6]
movzx eax, byte [edx + 5]
shl ecx, 8
add ecx, eax
test ecx, ecx
jle 0x4421a6
movzx eax, byte [edx + 7]
shr eax, 3
imul eax, ecx
add esi, eax
movzx ecx, byte [edx + 0x11]
lea eax, [esi + edx]
and ecx, 0x30
mov dword [esp + 0x28], ecx
cmp ecx, 0x20
je 0x4421cb
cmp ecx, 0x30
je 0x4421cb
mov esi, dword [esp + 0x40]
shr esi, 1
not esi
and esi, 1
jmp 0x4421d2
mov esi, dword [esp + 0x40]
and esi, 2
movzx ecx, byte [edx + 2]
mov dword [esp + 0x1c], esi
sub ecx, 2
je 0x4424ca
sub ecx, 8
jne case.0x4421ff.8
add edi, 0xfffffff8
cmp edi, 0x18
ja case.0x4421ff.8
movzx ecx, byte [edi + 0x442608]
jmp dword [ecx*4 + 0x4425fc]
imul ebp, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x38]
mov esi, edx
test ebp, ebp
je 0x44239d
nop dword [eax + eax]
mov bl, byte [eax]
inc eax
cmp bl, 0x80
jae 0x4422e0
add bl, 1
mov byte [esp + 0x34], bl
je 0x442391
nop dword [eax]
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, dword [esp + 0x24]
ja case.0x4421ff.8
cmp bh, 0x20
jne 0x442277
mov cl, byte [eax]
mov dh, byte [eax + 3]
mov dl, byte [eax + 1]
mov bl, byte [eax + 2]
add eax, 4
mov byte [esi], cl
mov byte [esi + 1], dl
mov byte [esi + 2], bl
mov byte [esi + 3], dh
add esi, 4
mov byte [esp + 0x13], dh
jmp 0x4422c0
cmp bh, 0x18
jne 0x442289
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov bl, byte [eax + 2]
add eax, 3
jmp 0x4422b5
movzx edx, byte [eax + 1]
movzx ecx, byte [eax]
add eax, 2
shl dx, 8
or dx, cx
movzx ebx, dx
mov edx, ebx
mov cl, bl
shr edx, 5
shr bx, 0xa
mov bh, byte [esp + 0x30]
shl cl, 3
shl dl, 3
shl bl, 3
mov byte [esi], cl
mov byte [esi + 1], dl
mov byte [esi + 2], bl
add esi, 3
mov bl, byte [esp + 0x34]
inc edi
dec bl
mov byte [esp + 0x34], bl
cmp edi, ebp
ja case.0x4421ff.8
test bl, bl
jne 0x442240
jmp 0x442391
mov ecx, dword [esp + 0x20]
add ecx, eax
cmp ecx, dword [esp + 0x24]
ja case.0x4421ff.8
add bl, 0x81
lea ecx, [eax + 1]
cmp bh, 0x20
jne 0x442318
mov al, byte [eax]
mov byte [esp + 0x34], al
mov eax, ecx
mov bh, byte [eax + 2]
mov dl, byte [eax]
mov cl, byte [eax + 1]
add eax, 3
mov byte [esp + 0x13], bh
mov bh, byte [esp + 0x30]
jmp 0x44235a
cmp bh, 0x18
jne 0x44232f
mov al, byte [eax]
mov byte [esp + 0x34], al
mov eax, ecx
mov dl, byte [eax]
mov cl, byte [eax + 1]
add eax, 2
jmp 0x44235a
movzx edx, byte [ecx]
movzx ecx, byte [eax]
add eax, 2
shl dx, 8
or dx, cx
movzx ecx, dx
mov dl, cl
shl dl, 3
mov byte [esp + 0x34], dl
mov edx, ecx
shr edx, 5
shr cx, 0xa
shl dl, 3
shl cl, 3
test bl, bl
je 0x442391
nop
mov bh, byte [esp + 0x34]
mov byte [esi], bh
mov bh, byte [esp + 0x30]
mov byte [esi + 1], dl
mov byte [esi + 2], cl
add esi, 3
cmp bh, 0x20
jne 0x442383
mov bh, byte [esp + 0x13]
mov byte [esi], bh
inc esi
mov bh, byte [esp + 0x30]
inc edi
cmp edi, ebp
ja case.0x4421ff.8
add bl, 0xff
jne 0x442360
cmp edi, ebp
jb 0x442220
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test al, 3
je 0x4423ee
mov ebx, ebp
test ebp, ebp
je 0x4423ee
mov ecx, ebx
lea ebp, [eax + eax*2]
lea edi, [ecx - 1]
lea esi, [ecx - 1]
imul esi, dword [esp + 0x3c]
lea edi, [edi + edi*2]
imul edi, eax
add esi, edx
add edi, edx
nop dword [eax]
push ebp
push edi
push esi
call fcn.00430c10
mov eax, dword [esp + 0x48]
add esp, 0xc
sub edi, ebp
sub esi, eax
sub ebx, 1
jne 0x4423d0
mov ebp, dword [esp + 0x14]
jmp 0x4423f2
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x1c], 0
je 0x442460
push eax
call fcn.00573b44
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x442460
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
cmp ebp, eax
jle 0x442457
mov ecx, dword [esp + 0x3c]
lea esi, [ebp - 1]
mov edi, dword [esp + 0x38]
imul esi, ecx
add esi, edi
sub ebp, eax
push ecx
push edi
push ebx
call fcn.00430c10
push dword [esp + 0x48]
push esi
push edi
call fcn.00430c10
push dword [esp + 0x54]
push ebx
push esi
call fcn.00430c10
mov ecx, dword [esp + 0x60]
add esp, 0x24
sub esi, ecx
add edi, ecx
sub ebp, 1
jne 0x442425
mov ebp, dword [esp + 0x14]
push ebx
call fcn.00573b4f
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, 0x30
je 0x442472
cmp eax, 0x10
jne case.0x4421ff.8
test ebp, ebp
je case.0x4421ff.8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
mov esi, ebx
test eax, eax
je 0x4424b9
mov edi, eax
nop word [eax + eax]
mov edx, dword [esi]
lea esi, [esi + 3]
mov eax, edx
sar eax, 0x10
movzx ecx, al
movzx eax, dl
and edx, 0xff00ff00
shl eax, 0x10
or ecx, eax
or ecx, edx
mov dword [esi - 3], ecx
sub edi, 1
jne 0x442490
mov eax, dword [esp + 0x18]
add ebx, dword [esp + 0x3c]
sub ebp, 1
jne 0x442482
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp bh, 0x10
je 0x44258e
cmp bh, 0x18
je 0x4424e1
cmp bh, 0x20
jne case.0x4421ff.8
mov ecx, dword [esp + 0x14]
xor ebp, ebp
shr edi, 3
test ecx, ecx
je case.0x4421ff.8
lea edx, [ecx - 1]
mov dword [esp + 0x30], edx
nop dword [eax]
test esi, esi
mov ecx, ebp
cmovne ecx, edx
mov edx, dword [esp + 0x38]
imul ecx, dword [esp + 0x3c]
add edx, ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x442572
mov esi, ecx
cmp bh, 0x20
jne 0x442550
movzx ecx, byte [eax]
lea edx, [edx + 4]
mov byte [edx - 4], cl
movzx ecx, byte [eax + 1]
mov byte [edx - 3], cl
movzx ecx, byte [eax + 2]
mov byte [edx - 2], cl
movzx ecx, byte [eax + 3]
add eax, edi
mov byte [edx - 1], cl
sub esi, 1
jne 0x442521
jmp 0x44256e
movzx ecx, byte [eax]
lea edx, [edx + 3]
mov byte [edx - 3], cl
movzx ecx, byte [eax + 1]
mov byte [edx - 2], cl
movzx ecx, byte [eax + 2]
add eax, edi
mov byte [edx - 1], cl
sub esi, 1
jne 0x442550
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x30]
inc ebp
dec edx
mov dword [esp + 0x30], edx
cmp ebp, dword [esp + 0x14]
jb 0x442500
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
xor ebx, ebx
test ebp, ebp
je case.0x4421ff.8
mov ecx, dword [esp + 0x18]
dec ebp
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
test edi, edi
mov esi, ebx
cmovne esi, ebp
test ecx, ecx
je 0x4425ed
imul esi, dword [esp + 0x3c]
mov edi, ecx
add esi, dword [esp + 0x38]
movzx edx, word [eax]
lea esi, [esi + 3]
mov cl, dl
add eax, 2
shl cl, 3
mov byte [esi - 3], cl
mov ecx, edx
shr ecx, 2
shr edx, 7
and cl, 0xf8
and dl, 0xf8
mov byte [esi - 2], cl
mov byte [esi - 1], dl
sub edi, 1
jne 0x4425b7
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x1c]
inc ebx
dec ebp
cmp ebx, edx
jb 0x4425a1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret