Function at 0x41b4f0
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 0x41b540
mov dword [esp + 0x1c], 4
jmp 0x41b566
cmp edi, 0x18
jne 0x41b54f
mov dword [esp + 0x1c], 3
jmp 0x41b566
cmp edi, 0x10
jne 0x41b55e
mov dword [esp + 0x1c], 2
jmp 0x41b566
mov eax, dword [esp + 0x30]
mov dword [esp + 0x1c], eax
mov al, byte [edx]
mov esi, 0x12
test al, al
je 0x41b577
movzx esi, al
add esi, 0x12
cmp byte [edx + 1], 0
je 0x41b59a
movzx ecx, byte [edx + 6]
movzx eax, byte [edx + 5]
shl ecx, 8
add ecx, eax
test ecx, ecx
jle 0x41b59a
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 0x41b5bf
cmp ecx, 0x30
je 0x41b5bf
mov esi, dword [esp + 0x40]
shr esi, 1
not esi
and esi, 1
jmp 0x41b5c6
mov esi, dword [esp + 0x40]
and esi, 2
movzx ecx, byte [edx + 2]
mov dword [esp + 0x20], esi
sub ecx, 2
je 0x41b8ba
sub ecx, 8
jne case.0x41b5f3.8
add edi, 0xfffffff8
cmp edi, 0x18
ja case.0x41b5f3.8
movzx ecx, byte [edi + 0x41b9dc]
jmp dword [ecx*4 + 0x41b9d0]
imul ebp, dword [esp + 0x18]
xor edi, edi
mov edx, dword [esp + 0x38]
mov esi, edx
test ebp, ebp
je 0x41b78d
nop
mov bl, byte [eax]
inc eax
cmp bl, 0x80
jae 0x41b6d0
add bl, 1
mov byte [esp + 0x34], bl
je 0x41b781
lea esp, [esp]
mov ecx, dword [esp + 0x1c]
add ecx, eax
cmp ecx, dword [esp + 0x24]
ja case.0x41b5f3.8
cmp bh, 0x20
jne 0x41b667
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 0x41b6b0
cmp bh, 0x18
jne 0x41b679
mov cl, byte [eax]
mov dl, byte [eax + 1]
mov bl, byte [eax + 2]
add eax, 3
jmp 0x41b6a5
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.0x41b5f3.8
test bl, bl
jne 0x41b630
jmp 0x41b781
mov ecx, dword [esp + 0x1c]
add ecx, eax
cmp ecx, dword [esp + 0x24]
ja case.0x41b5f3.8
add bl, 0x81
lea ecx, [eax + 1]
cmp bh, 0x20
jne 0x41b708
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 0x41b74a
cmp bh, 0x18
jne 0x41b71f
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 0x41b74a
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 0x41b781
mov edi, edi
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 0x41b773
mov bh, byte [esp + 0x13]
mov byte [esi], bh
inc esi
mov bh, byte [esp + 0x30]
inc edi
cmp edi, ebp
ja case.0x41b5f3.8
add bl, 0xff
jne 0x41b750
cmp edi, ebp
jb 0x41b610
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x14]
test al, 3
je 0x41b7de
mov ebx, ebp
test ebp, ebp
je 0x41b7de
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
lea esp, [esp]
push ebp
push edi
push esi
call fcn.0043b210
mov eax, dword [esp + 0x48]
add esp, 0xc
sub edi, ebp
sub esi, eax
sub ebx, 1
jne 0x41b7c0
mov ebp, dword [esp + 0x14]
jmp 0x41b7e2
mov eax, dword [esp + 0x3c]
cmp dword [esp + 0x20], 0
je 0x41b850
push eax
call fcn.0043b203
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x41b850
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
cmp ebp, eax
jle 0x41b847
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.0043b210
push dword [esp + 0x48]
push esi
push edi
call fcn.0043b210
push dword [esp + 0x54]
push ebx
push esi
call fcn.0043b210
mov ecx, dword [esp + 0x60]
add esp, 0x24
sub esi, ecx
add edi, ecx
sub ebp, 1
jne 0x41b815
mov ebp, dword [esp + 0x14]
push ebx
call fcn.0043b1e8
add esp, 4
mov eax, dword [esp + 0x28]
cmp eax, 0x30
je 0x41b862
cmp eax, 0x10
jne case.0x41b5f3.8
test ebp, ebp
je case.0x41b5f3.8
mov eax, dword [esp + 0x18]
mov ebx, dword [esp + 0x38]
mov esi, ebx
test eax, eax
je 0x41b8a9
mov edi, eax
lea ebx, [ebx]
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 0x41b880
mov eax, dword [esp + 0x18]
add ebx, dword [esp + 0x3c]
sub ebp, 1
jne 0x41b872
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
cmp bh, 0x10
je 0x41b96a
cmp bh, 0x18
je 0x41b8d1
cmp bh, 0x20
jne case.0x41b5f3.8
mov ecx, dword [esp + 0x14]
xor ebp, ebp
shr edi, 3
test ecx, ecx
je case.0x41b5f3.8
dec ecx
mov dword [esp + 0x30], ecx
test esi, esi
jne 0x41b8ed
mov ecx, ebp
imul ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
add edx, ecx
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x41b952
mov esi, ecx
cmp bh, 0x20
jne 0x41b930
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 0x41b907
jmp 0x41b94e
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 0x41b930
mov esi, dword [esp + 0x20]
mov ecx, dword [esp + 0x30]
inc ebp
dec ecx
mov dword [esp + 0x30], ecx
cmp ebp, dword [esp + 0x14]
jb 0x41b8e7
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret
xor ebx, ebx
test ebp, ebp
je case.0x41b5f3.8
dec ebp
test esi, esi
mov esi, ebx
je 0x41b979
mov esi, ebp
mov ecx, dword [esp + 0x18]
test ecx, ecx
je 0x41b9ba
imul esi, dword [esp + 0x3c]
mov edi, ecx
add esi, dword [esp + 0x38]
lea esp, [esp]
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 0x41b990
mov esi, dword [esp + 0x20]
inc ebx
dec ebp
cmp ebx, dword [esp + 0x14]
jb 0x41b971
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret