Function at 0x43c370
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x4c
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x68]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], eax
add eax, 0x14
mov dword [esp + 0x20], eax
lea esi, [esi]
mov eax, dword [esp + 0x30]
mov esi, 1
mov ebx, dword [esp + 0x68]
movzx ecx, byte [eax + 5]
movzx ebp, byte [eax + 6]
shl esi, cl
movzx ecx, byte [eax + 4]
mov eax, 1
mov dword [esp + 0x24], esi
shl eax, cl
sub eax, 1
mov dword [esp + 0x1c], eax
and ebx, eax
test ebp, ebp
je 0x43c4e0
mov eax, dword [esp + 0x64]
mov esi, dword [sym.imp.python311.dll_PyUnicode_Type]
cmp dword [eax + 4], esi
je 0x43c67a
mov eax, ecx
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x38], ebp
jmp 0x43c431
movsx esi, byte [ecx + ebx]
test esi, esi
js 0x43c443
mov edx, dword [esp + 0x24]
lea edx, [edx + esi*8]
add edx, ecx
mov dword [esp + 0x28], edx
mov ebp, dword [edx]
cmp dword [esp + 0x64], ebp
je 0x43c620
mov edx, dword [ebp + 0xc]
cmp dword [esp + 0x68], edx
je 0x43c468
mov edx, dword [esp + 0x1c]
shr edi, 5
lea ebx, [ebx + ebx*4 + 1]
add ebx, edi
and ebx, edx
cmp eax, 7
jle 0x43c3f8
cmp eax, 0xf
jg 0x43c460
movsx esi, word [ecx + ebx*2]
test esi, esi
jns 0x43c400
cmp esi, 0xffffffff
jne 0x43c422
mov edx, dword [esp + 0x6c]
xor eax, eax
mov dword [edx], eax
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, dword [ecx + ebx*4]
jmp 0x43c3fc
mov eax, dword [esp + 0x64]
add dword [ebp], 1
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 0x34], ecx
call fcn.0043c160
sub dword [ebp], 1
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
jne 0x43c49b
mov eax, dword [ebp + 4]
mov dword [esp], ebp
call dword [eax + 0x18]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], 0xffffffff
je 0x43c660
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x30]
mov eax, dword [eax + 0x18]
cmp eax, edx
jne 0x43c66a
mov eax, dword [esp + 0x28]
cmp ebp, dword [eax]
jne 0x43c398
cmp dword [esp + 0x2c], 1
je 0x43c620
movzx eax, byte [edx + 4]
jmp 0x43c422
mov ebp, dword [esp + 0x68]
mov eax, ecx
jmp 0x43c53a
mov edi, dword [esp + 0x20]
movsx esi, byte [edi + ebx]
test esi, esi
js 0x43c550
mov edi, dword [esp + 0x24]
lea edx, [esi + esi*2]
lea ecx, [edx*4]
add edi, ecx
mov dword [esp + 0x28], ecx
mov ecx, dword [esp + 0x20]
add edi, ecx
mov ecx, dword [edi + 4]
cmp dword [esp + 0x64], ecx
je 0x43c5e5
mov edx, dword [edi]
cmp dword [esp + 0x68], edx
je 0x43c570
mov ecx, dword [esp + 0x1c]
shr ebp, 5
lea ebx, [ebx + ebx*4 + 1]
add ebx, ebp
and ebx, ecx
cmp eax, 7
jle 0x43c4f0
cmp eax, 0xf
jg 0x43c560
mov esi, dword [esp + 0x20]
movsx esi, word [esi + ebx*2]
test esi, esi
jns 0x43c4fc
cmp esi, 0xffffffff
jne 0x43c52b
jmp 0x43c448
mov edi, dword [esp + 0x20]
mov esi, dword [edi + ebx*4]
jmp 0x43c4f8
mov eax, dword [esp + 0x64]
add dword [ecx], 1
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 0x34], ecx
call fcn.0043b4b0
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x2c], eax
sub dword [ecx], 1
jne 0x43c5a1
mov eax, dword [ecx + 4]
mov dword [esp], ecx
call dword [eax + 0x18]
mov ecx, dword [esp + 0x34]
cmp dword [esp + 0x2c], 0xffffffff
je 0x43c660
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x30]
cmp dword [eax + 0x18], edx
jne 0x43c5ce
cmp ecx, dword [edi + 4]
jne 0x43c5ce
cmp dword [esp + 0x2c], 1
je 0x43c5e5
movzx eax, byte [edx + 4]
jmp 0x43c52b
mov eax, dword [esp + 0x60]
mov eax, dword [eax + 0x18]
mov dword [esp + 0x30], eax
add eax, 0x14
mov dword [esp + 0x20], eax
jmp 0x43c398
mov edx, dword [esp + 0x28]
test esi, esi
js 0x43c448
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
movzx ecx, byte [eax + 5]
mov eax, 1
shl eax, cl
add eax, edx
mov edx, dword [esp + 0x6c]
lea eax, [edi + eax + 8]
mov dword [edx], eax
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebp, dword [esp + 0x38]
cmp ebp, 2
je 0x43c7c1
mov eax, dword [esp + 0x30]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
movzx ecx, byte [eax + 5]
mov eax, 1
shl eax, cl
lea eax, [eax + esi*8]
lea eax, [edi + eax + 4]
mov dword [edx], eax
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, 0xfffffffd
jmp 0x43c448
mov dword [esp + 0x30], eax
add eax, 0x14
mov dword [esp + 0x20], eax
jmp 0x43c398
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov edx, ecx
mov dword [esp + 0x2c], ebp
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x3c]
add eax, esi
mov dword [esp + 0x1c], esi
mov dword [esp + 0x24], eax
jmp 0x43c70f
movsx esi, byte [eax + ebx]
test esi, esi
js 0x43c725
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi*8]
cmp dword [esp + 0x64], eax
je 0x43c7b4
mov ebp, dword [eax + 0xc]
cmp dword [esp + 0x68], ebp
je 0x43c770
mov eax, edi
lea ebx, [ebx + ebx*4]
shr eax, 5
lea ebx, [eax + ebx + 1]
mov eax, dword [esp + 0x1c]
and ebx, ecx
cmp edx, 7
jg 0x43c748
movsx esi, byte [eax + ebx]
test esi, esi
js 0x43c755
mov eax, dword [esp + 0x24]
mov eax, dword [eax + esi*8]
cmp dword [esp + 0x64], eax
je 0x43c7b4
mov ebp, dword [eax + 0xc]
cmp dword [esp + 0x68], ebp
je 0x43c792
shr edi, 0xa
lea eax, [ebx + ebx*4]
lea ebx, [edi + eax + 1]
and ebx, ecx
mov eax, dword [esp + 0x1c]
cmp edx, 7
jle 0x43c6a0
cmp edx, 0xf
jg 0x43c760
movsx esi, word [eax + ebx*2]
test esi, esi
jns 0x43c6a8
cmp esi, 0xffffffff
jne 0x43c6c6
mov edx, dword [esp + 0x6c]
xor eax, eax
mov esi, 0xffffffff
mov dword [edx], eax
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 0xf
jg 0x43c768
movsx esi, word [eax + ebx*2]
test esi, esi
jns 0x43c6e5
cmp esi, 0xffffffff
jne 0x43c703
jmp 0x43c72a
mov esi, dword [eax + ebx*4]
jmp 0x43c6a4
mov esi, dword [eax + ebx*4]
jmp 0x43c6e1
mov edx, dword [esp + 0x64]
mov dword [esp + 0x28], ecx
call fcn.0040a200
test al, al
jne 0x43c7b4
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
movzx edx, byte [eax + 4]
jmp 0x43c6c6
mov edx, dword [esp + 0x64]
mov dword [esp + 0x28], ecx
call fcn.0040a200
test al, al
jne 0x43c7b4
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
movzx edx, byte [eax + 4]
jmp 0x43c703
mov ebp, dword [esp + 0x2c]
cmp ebp, 2
jne 0x43c62d
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x6c]
mov eax, dword [eax + 0x1c]
lea eax, [eax + esi*4]
mov dword [edx], eax
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret