Function at 0x421a90
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x421d6d
sub esp, 0x1c
mov eax, 0xb2f6e0
mov ecx, dword [esp + 0x20]
mov ebp, dword [eax + 0xa80]
cmp ecx, ebp
jb 0x421d66
mov ebp, dword [eax + 0xa84]
cmp ecx, ebp
jae 0x421d66
mov ebp, ecx
shr ebp, 0xd
mov ebx, dword [eax + 0xa80]
shr ebx, 0xd
mov edx, ebp
sub ebp, ebx
mov ebx, ebp
mov ebp, dword [0xb2d32c]
cmp ebx, ebp
jae 0x421d5f
mov ebp, dword [0xb2d328]
shl ebx, 2
add ebp, ebx
mov eax, dword [ebp]
xor ebp, ebp
cmp eax, ebp
je 0x421d58
mov ebp, dword [eax + 0xc]
cmp ebp, edx
ja 0x421d58
mov ebp, dword [eax + 0x38]
cmp ecx, ebp
jae 0x421d58
movzx ebp, byte [eax + 0x24]
xchg ebp, eax
cmp al, 0
xchg ebp, eax
jne 0x421d58
mov esi, eax
mov dword [esp + 0x14], eax
xor ebp, ebp
cmp eax, ebp
jne 0x421b52
mov ebx, 0x569820
mov dword [esp], ebx
mov dword [esp + 4], 0x1d
call dbg.runtime.throw
mov esi, dword [esp + 0x14]
mov ebx, dword fs:[0x14]
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 0x70]
inc edx
mov dword [eax + 0x70], edx
mov ebp, dword [ecx + 0x18]
mov dword [esp + 0x18], ebp
mov dword [esp], esi
call dbg.runtime.(*mspan).ensureSwept
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x20]
mov ebx, dword [edx + 0xc]
shl ebx, 0xd
sub ebp, ebx
mov dword [esp + 0xc], ebp
mov ebx, dword [esp + 0x24]
movzx ebp, byte [ebx + 6]
xchg ebp, eax
mov byte [esp + 0xb], al
xchg ebp, eax
mov dword [esp], edx
cmp dword [esp], 0
je 0x421d4d
add dword [esp], 0x3c
call dbg.runtime.lock
movzx edi, byte [esp + 0xb]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
cmp ecx, 0
je 0x421d46
add ecx, 0x40
mov eax, dword [ecx]
xor ebp, ebp
cmp eax, ebp
jne 0x421c9c
mov ebx, dword [esp + 0x24]
mov word [ebx + 4], dx
mov dword [esp + 0x10], ecx
mov ebp, dword [ecx]
mov ebx, dword [esp + 0x24]
cmp ebx, 0
je 0x421c95
cmp byte [0xb3d87c], 0
jne 0x421c80
mov dword [ebx], ebp
mov eax, dword [esp + 0x24]
cmp ecx, 0
je 0x421c7c
cmp byte [0xb3d87c], 0
jne 0x421c6e
mov dword [ecx], eax
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x421c66
add dword [esp], 0x3c
call dbg.runtime.unlock
mov eax, dword [esp + 0x18]
mov ebx, dword fs:[0x14]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x70]
dec edx
mov dword [eax + 0x70], edx
mov ebp, dword [eax + 0x70]
cmp ebp, 0
jne 0x421c5d
movzx ebx, byte [ecx + 0x80]
cmp bl, 0
je 0x421c5d
mov eax, 0xfffffade
mov dword [ecx + 8], eax
mov byte [esp + 0x28], 1
add esp, 0x1c
ret
mov dword [0], eax
jmp 0x421c20
mov dword [esp], ecx
mov dword [esp + 4], eax
call dbg.runtime.writebarrierptr
jmp 0x421c13
mov dword [ecx], eax
jmp 0x421c08
mov dword [esp], ebx
mov dword [esp + 4], ebp
call dbg.runtime.writebarrierptr
mov ecx, dword [esp + 0x10]
jmp 0x421bff
mov dword [ebx], eax
jmp 0x421bf0
movzx ebp, word [eax + 4]
cmp ebp, edx
jne 0x421d0d
movzx ebp, byte [eax + 6]
xchg ebp, eax
xchg edi, ebx
cmp al, bl
xchg edi, ebx
xchg ebp, eax
jne 0x421d0d
mov ebx, dword [esp + 0x14]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x421d05
add dword [esp], 0x3c
call dbg.runtime.unlock
mov eax, dword [esp + 0x18]
mov ebx, dword fs:[0x14]
mov ecx, dword [ebx]
mov edx, dword [eax + 0x70]
dec edx
mov dword [eax + 0x70], edx
mov ebp, dword [eax + 0x70]
cmp ebp, 0
jne 0x421cfc
movzx ebx, byte [ecx + 0x80]
cmp bl, 0
je 0x421cfc
mov eax, 0xfffffade
mov dword [ecx + 8], eax
mov byte [esp + 0x28], 0
add esp, 0x1c
ret
mov dword [0], eax
jmp 0x421cbf
movzx ebp, word [eax + 4]
cmp ebp, edx
ja 0x421bd5
movzx ebp, word [eax + 4]
cmp ebp, edx
jne 0x421d33
movzx ebp, byte [eax + 6]
xchg ebp, eax
xchg edi, ebx
cmp al, bl
xchg edi, ebx
xchg ebp, eax
ja 0x421bd5
mov ecx, eax
cmp eax, 0
je 0x421d3f
jmp 0x421bc9
mov dword [eax], eax
jmp 0x421bc9
mov dword [ecx], eax
jmp 0x421bc6
mov dword [0], eax
jmp 0x421ba7
xor eax, eax
jmp 0x421b2d
call dbg.runtime.panicindex
ud2
xor eax, eax
jmp 0x421b2d
call dbg.runtime.morestack_noctxt
jmp dbg.runtime.addspecial