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

Disassembly:
mov ecx, dword [0x62bbe4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45ba1c
sub esp, 0x5c
mov eax, dword [esp + 0x60]
mov ecx, dword [eax + 0x1c]
mov ecx, dword [ecx]
mov dword [esp + 0x54], ecx
mov dword [esp], ecx
call sym.runtime.rtype.string
mov eax, dword [esp + 8]
mov dword [esp + 0x2c], eax
lea ecx, [eax + 0x34]
mov edx, dword [esp + 4]
mov dword [esp + 0x50], edx
mov ebx, dword [esp + 0x64]
mov dword [esp], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 8], ebx
movzx ebx, byte [esp + 0x70]
mov byte [esp + 0xc], bl
mov dword [esp + 0x10], ecx
call sym.runtime.traceExpWriter.ensure
movzx eax, byte [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
movzx ebp, byte [esp + 0x20]
test al, al
je 0x45b6fe
mov eax, dword [edx + 0xc]
nop
mov byte [edx + eax + 0x14], 0
inc dword [edx + 0xc]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x4c], ebx
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
mov dword [esp + 0x48], edx
mov eax, dword [edx + 0xc]
lea esi, [eax - 0xffec]
xchg esi, ebx
neg ebx
xchg esi, ebx
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, eax
mov edi, dword [esp + 0x60]
mov ecx, dword [edi + 0x14]
mov edi, dword [edi + 0x18]
lea esi, [esi + edx + 0x14]
mov dword [esp + 0x3c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x3c]
jmp 0x45b76f
mov edx, ecx
or edx, 0xffffff80
mov byte [esi + ebx], dl
shr ecx, 7
mov edx, edi
shl edx, 0x19
inc ebx
or ecx, edx
shr edi, 7
mov edx, dword [esp + 0x48]
movzx ebp, byte [esp + 0x2b]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x34]
cmp ebx, 0xa
jge 0x45b7a0
test edi, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
cmp ecx, 0x80
setb dl
and edx, ebp
test dl, dl
je 0x45b748
mov byte [esi + ebx], cl
lea eax, [ebx + eax + 1]
mov edx, dword [esp + 0x48]
movzx ebp, byte [esp + 0x2b]
mov dword [edx + 0xc], eax
lea ecx, [eax - 0xffec]
neg ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x54]
mov esi, ebx
lea ecx, [ecx + edx + 0x14]
xor edi, edi
jmp 0x45b7d3
mov ebp, ebx
or ebp, 0xffffff80
xchg ebp, eax
mov byte [ecx + edi], al
xchg ebp, eax
inc edi
shr ebx, 7
movzx ebp, byte [esp + 0x2b]
cmp edi, 0xa
jge 0x45b7fa
cmp ebx, 0x80
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45b7c0
mov byte [ecx + edi], bl
lea eax, [edi + eax + 1]
movzx ebp, byte [esp + 0x2b]
mov dword [edx + 0xc], eax
lea ecx, [eax - 0xffec]
neg ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
nop
nop
mov ebx, dword [esi]
lea ecx, [ecx + edx + 0x14]
xor edi, edi
jmp 0x45b82b
mov ebp, ebx
or ebp, 0xffffff80
xchg ebp, eax
mov byte [ecx + edi], al
xchg ebp, eax
inc edi
shr ebx, 7
movzx ebp, byte [esp + 0x2b]
cmp edi, 0xa
jge 0x45b852
cmp ebx, 0x80
xchg ebp, ebx
setb bl
xchg ebp, ebx
and ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x45b818
mov byte [ecx + edi], bl
lea eax, [edi + eax + 1]
movzx ebp, byte [esp + 0x2b]
mov dword [edx + 0xc], eax
lea ecx, [eax - 0xffec]
neg ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esi + 4]
lea ecx, [ecx + edx + 0x14]
xor esi, esi
jmp 0x45b87d
mov edi, ebx
or edi, 0xffffff80
xchg edi, eax
mov byte [ecx + esi], al
xchg edi, eax
inc esi
shr ebx, 7
cmp esi, 0xa
jge 0x45b89f
cmp ebx, 0x80
xchg edi, ebx
setb bl
xchg edi, ebx
and edi, 1
xchg edi, eax
test al, al
xchg edi, eax
je 0x45b86f
mov byte [ecx + esi], bl
lea eax, [esi + eax + 1]
mov dword [edx + 0xc], eax
lea ecx, [eax - 0xffec]
neg ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebx, dword [esp + 0x2c]
mov esi, ebx
sar ebx, 0x1f
lea ecx, [ecx + edx + 0x14]
mov edi, esi
xor esi, esi
mov dword [esp + 0x30], esi
mov esi, edi
jmp 0x45b8f1
mov edx, esi
or edx, 0xffffff80
mov byte [ecx + ebp], dl
shr esi, 7
mov edx, ebx
shl edx, 0x19
inc ebp
or esi, edx
shr ebx, 7
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x30], ebp
movzx ebp, byte [esp + 0x2b]
mov ebp, dword [esp + 0x30]
cmp ebp, 0xa
jge 0x45b925
test ebx, ebx
xchg edi, ebx
sete bl
xchg edi, ebx
cmp esi, 0x80
setb dl
and edi, edx
xchg edi, eax
test al, al
xchg edi, eax
je 0x45b8ca
xchg esi, eax
mov byte [ecx + ebp], al
xchg esi, eax
lea eax, [ebp + eax + 1]
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x2c]
mov dword [edx + 0xc], eax
lea ecx, [eax - 0xffec]
neg ecx
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
lea eax, [eax + edx + 0x14]
cmp edi, ebx
jl 0x45b943
mov edi, ebx
mov ecx, dword [esp + 0x50]
cmp ecx, eax
je 0x45b967
mov dword [esp + 0x44], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call sym.runtime.memmove
mov edx, dword [esp + 0x48]
mov edi, dword [esp + 0x44]
add dword [edx + 0xc], edi
xor eax, eax
movzx ecx, byte [esp + 0x2b]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x58]
jmp 0x45b982
mov esi, dword [esp + 0x38]
lea eax, [esi + 1]
cmp eax, 4
jge 0x45ba05
mov dword [esp + 0x38], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x58], ebp
mov byte [esp + 0x2b], cl
mov dword [esp + 0x48], edx
mov ecx, dword [esp + 0x60]
lea edx, [ecx + eax*4]
nop
mov dword [esp], edx
call sym.internal_runtime_atomic.Loadp
mov eax, dword [esp + 4]
test eax, eax
jne 0x45b9c6
movzx ecx, byte [esp + 0x2b]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x48]
jmp 0x45b97b
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x2b]
mov byte [esp + 0x10], al
call sym.runtime.dumpTypesRec
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
movzx ecx, byte [esp + 0x20]
jmp 0x45b97b
mov dword [esp + 0x74], ebp
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edx
mov byte [esp + 0x80], cl
add esp, 0x5c
ret
call sym.runtime.morestack_noctxt
jmp sym.runtime.dumpTypesRec