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

Disassembly:
mov ecx, dword [0x58a424]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xa4]
cmp eax, dword [ecx + 8]
jbe 0x412ee9
sub esp, 0x124
movzx eax, byte [0x58a30e]
test al, al
jne 0x4113bb
lea eax, [0x4b42e0]
mov dword [esp], eax
mov dword [esp + 4], 0x44
mov dword [esp + 8], 0x45
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [0x56b3fc], 0x44
mov dword [0x56b400], 0x45
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x41139c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [0x56b3f8]
mov dword [edi + 4], edx
mov dword [0x56b3f8], eax
mov edx, dword [0x56b3f8]
movsd xmm0, qword [0x4ea818]
movsd qword [edx], xmm0
mov eax, 1
jmp 0x4113d7
add esp, 0x124
ret
mov ebp, dword [0x56b3f8]
inc ebx
movzx ebx, bx
cvtsi2sd xmm0, ebx
movsd qword [ebp + eax*8], xmm0
inc eax
cmp eax, 0x44
jge 0x4113f5
mov ecx, dword [0x56b3fc]
lea edx, [0x5627a0]
movzx ebx, word [edx + eax*2]
cmp eax, ecx
jb 0x4113c2
jmp 0x412ee3
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0x7ff00000
mov eax, dword [0x56b400]
mov ecx, dword [0x56b3fc]
inc ecx
mov edx, dword [0x56b3f8]
movsd xmm0, qword [esp + 0xdc]
cmp eax, ecx
jae 0x411491
movsd qword [esp + 0x24], xmm0
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4b42e0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [0x56b400], eax
mov eax, dword [0x58a4f0]
test eax, eax
je 0x41147f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [0x56b3f8]
mov dword [edi + 4], eax
mov dword [0x56b3f8], ecx
movsd xmm0, qword [esp + 0x24]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [0x56b3fc], ecx
movsd qword [edx + ecx*8 - 8], xmm0
call sym.runtime.timeHistogramMetricsBuckets
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp]
mov dword [0x56b40c], eax
mov dword [0x56b410], ecx
mov eax, dword [0x58a4f0]
test eax, eax
je 0x4114d3
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [0x56b408]
mov dword [edi + 4], eax
mov dword [0x56b408], edx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov dword [esp + 4], 0x38
mov dword [esp + 8], 0
call sym.runtime.makemap
mov eax, dword [esp + 0xc]
mov dword [esp + 0x120], eax
lea ecx, [0x4b4fc0]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x4c8980]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x41154b
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cec90]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411562
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41155a
mov dword [esp + 0xd0], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cbd70]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xd0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4115c0
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecbc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4115d7
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4115cf
mov dword [esp + 0xcc], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cc5c5]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2a
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xcc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411635
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cece8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41164c
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411644
mov dword [esp + 0xc8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cb8ba]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x25
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4116aa
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ced14]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4116c1
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4116b9
mov dword [esp + 0xc4], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cab97]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x41171f
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ced40]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411736
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41172e
mov dword [esp + 0xc0], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cabb8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411794
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ced60]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4117ab
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4117a3
mov dword [esp + 0xbc], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c9b11]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411809
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ced64]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411820
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411818
mov dword [esp + 0xb8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cc084]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x28
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x41187e
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ced68]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411895
or ecx, 4
mov eax, 1
test eax, eax
jle 0x41188d
mov dword [esp + 0xb4], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ccac7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2c
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4118f3
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ced6c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41190a
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411902
mov dword [esp + 0xb0], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cbd97]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411968
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cec94]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41197f
or ecx, 4
mov eax, 1
test eax, eax
jle 0x411977
mov dword [esp + 0xac], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ca0e8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xac]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4119dd
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cec98]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4119f4
or ecx, 4
mov eax, 1
test eax, eax
jle 0x4119ec
mov dword [esp + 0xa8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c9b2e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa8]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411a52
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cec9c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411a69
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411a61
mov dword [esp + 0xa4], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ca106]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa4]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411ac7
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ceca0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411ade
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411ad6
mov dword [esp + 0xa0], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c936c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1b
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xa0]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411b3c
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ceca4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411b53
or ecx, 2
mov eax, 1
test eax, eax
jle 0x411b4b
mov dword [esp + 0x9c], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c90a7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1a
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x9c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411bb1
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ceca8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411bc8
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411bc0
mov dword [esp + 0x98], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c8209]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411c26
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecac]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411c3d
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411c35
mov dword [esp + 0x94], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c75c7]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x94]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411c9b
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecb0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411cb2
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411caa
mov dword [esp + 0x90], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c7a37]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411d10
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecb4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411d27
or ecx, 8
mov eax, 1
test eax, eax
jle 0x411d1f
mov dword [esp + 0x8c], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c7a4b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411d85
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecb8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411d9c
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411d94
mov dword [esp + 0x88], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c9b4b]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x88]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411dfa
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecc0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411e11
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411e09
mov dword [esp + 0x84], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c7e1a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x15
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411e6f
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecc4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411e86
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411e7e
mov dword [esp + 0x80], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c85f8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x80]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411ee4
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecc8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411efb
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411ef3
mov dword [esp + 0x7c], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c97c6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x7c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411f53
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4ceccc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411f6a
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411f62
mov dword [esp + 0x78], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c7a5f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x411fc2
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecd0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x411fd9
or ecx, 1
mov eax, 1
test eax, eax
jle 0x411fd1
mov dword [esp + 0x74], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c821f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x74]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x412031
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecd4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412048
or ecx, 2
mov eax, 1
test eax, eax
jle 0x412040
mov dword [esp + 0x70], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c75da]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x70]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4120a0
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecd8]
mov dword [eax + 8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c7a73]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4120f9
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecdc]
mov dword [eax + 8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c6a30]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x10
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x412152
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cece0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412169
or ecx, 1
mov eax, 1
test eax, eax
jle 0x412161
mov dword [esp + 0x6c], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c75ed]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4121c1
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cece4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4121d8
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4121d0
mov dword [esp + 0x68], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c8998]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x412230
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecec]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x412247
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41223f
mov dword [esp + 0x64], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c97e2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x41229f
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecf0]
mov dword [eax + 8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4cabd9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4122f8
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecf4]
mov dword [eax + 8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c721f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x12
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x412351
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecf8]
mov dword [eax + 8], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4c9b68]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov dword [eax], 0
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x4123aa
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4cecfc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4123c1
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4123b9
mov dword [esp + 0x60], ecx
lea eax, [0x4b4fc0]
mov dword [esp], eax
mov ecx, dword [esp + 0x120]
mov dword [esp + 4], ecx
lea edx, [0x4ca477]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1f
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x58a4f0]
test ecx, ecx
je 0x412419
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.initMetrics