Function at 0x401f20
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x5dbf38]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x402153
sub esp, 0x6c
mov ecx, dword [esp + 0x78]
mov edx, ecx
and ecx, 0x1f
nop
cmp ecx, 0x15
jne 0x4020ec
mov ecx, dword [esp + 0x70]
test byte [ecx], al
test edx, 0x60
je 0x401f5f
mov eax, 0x20
jmp 0x401f61
xor eax, eax
mov ebx, dword [ecx + 0x20]
movzx ebp, byte [ebx + 0xf]
and ebp, 0x1f
or eax, ebp
cmp dword [ecx], 4
jne 0x4020d4
mov ebp, dword [ecx + 4]
test ebp, ebp
je 0x4020d4
test edx, 0x80
je 0x401f91
mov edx, dword [esp + 0x74]
mov edx, dword [edx]
jmp 0x401f95
mov edx, dword [esp + 0x74]
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], eax
test edx, edx
jne 0x401fa5
xor ebp, ebp
jmp 0x401fbf
mov dword [esp + 0x2c], edx
mov dword [esp], edx
call sym.reflect.maplen
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebp, eax
mov dword [esp + 0x18], ebp
lea edi, [esp + 0x3c]
xor eax, eax
call fcn.003c7234
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea ecx, [esp + 0x3c]
mov dword [esp + 8], ecx
call sym.reflect.mapiterinit
lea ecx, [0x4b1ec0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x38], ecx
xor eax, eax
jmp 0x402028
mov dword [esi + ecx*4], ebx
mov dword [esi + ecx*4 + 4], ebp
lea eax, [esp + 0x3c]
mov dword [esp], eax
call sym.reflect.mapiternext
mov eax, dword [esp + 0x1c]
inc eax
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x18]
cmp eax, edx
jge 0x4020b5
mov dword [esp + 0x1c], eax
lea eax, [esp + 0x3c]
mov dword [esp], eax
call sym.reflect.mapiterkey
mov eax, dword [esp + 4]
test eax, eax
je 0x4020a5
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
mov edx, dword [esp + 0x20]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.reflect.copyVal
mov eax, dword [esp + 0x1c]
lea ecx, [eax + eax*2]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x38]
mov dword [esi + ecx*4 + 8], edx
mov edx, dword [0x5dc100]
test edx, edx
je 0x40200c
call sym.runtime.gcWriteBarrier4
mov dword [edi], ebx
mov edx, dword [esi + ecx*4]
mov dword [edi + 4], edx
mov dword [edi + 8], ebp
mov edx, dword [esi + ecx*4 + 4]
mov dword [edi + 0xc], edx
jmp 0x40200c
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
cmp ecx, edx
mov eax, ecx
mov ecx, dword [esp + 0x38]
ja 0x4020cd
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
add esp, 0x6c
ret
mov ecx, eax
call sym.runtime.panicSliceAcap
lea eax, [0x4918c0]
mov dword [esp], eax
lea eax, [0x4e5128]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x28], ecx
call sym.reflect.valueMethodName
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov ecx, dword [esp]
mov dword [esp + 0x34], ecx
lea edx, [0x49a5a0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x24]
mov dword [eax + 4], ecx
mov ecx, dword [0x5dc100]
test ecx, ecx
jne 0x402146
mov ecx, dword [esp + 0x34]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x494ca0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.gopanic
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x34]
mov dword [edi], ecx
jmp 0x402127
call sym.runtime.morestack_noctxt
jmp sym.reflect.Value.MapKeys