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

Disassembly:
mov ecx, dword [0x5d53a4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xa8]
cmp eax, dword [ecx + 8]
jbe 0x41624e
sub esp, 0x128
movzx eax, byte [0x5d528d]
test al, al
jne 0x41487b
lea eax, [0x4dae60]
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 [0x5b0304], 0x44
mov dword [0x5b0308], 0x45
mov ecx, dword [0x5d54a0]
test ecx, ecx
je 0x41485c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [0x5b0300]
mov dword [edi + 4], edx
mov dword [0x5b0300], eax
mov edx, dword [0x5b0300]
movsd xmm0, qword [0x518f80]
movsd qword [edx], xmm0
mov eax, 1
jmp 0x414897
add esp, 0x128
ret
mov ebp, dword [0x5b0300]
inc ebx
movzx ebx, bx
cvtsi2sd xmm0, ebx
movsd qword [ebp + eax*8], xmm0
inc eax
cmp eax, 0x44
jge 0x4148b5
mov ecx, dword [0x5b0304]
lea edx, [0x5a3ba0]
movzx ebx, word [edx + eax*2]
cmp eax, ecx
jb 0x414882
jmp 0x416248
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0x7ff00000
mov eax, dword [0x5b0308]
mov ecx, dword [0x5b0304]
inc ecx
mov edx, dword [0x5b0300]
movsd xmm0, qword [esp + 0xe8]
cmp eax, ecx
jae 0x414957
movsd qword [esp + 0xe0], xmm0
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4dae60]
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 [0x5b0308], eax
mov eax, dword [0x5d54a0]
test eax, eax
je 0x414942
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [0x5b0300]
mov dword [edi + 4], eax
mov dword [0x5b0300], ecx
movsd xmm0, qword [esp + 0xe0]
mov eax, ecx
mov ecx, edx
mov edx, eax
mov dword [0x5b0304], 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 [0x5b0314], eax
mov dword [0x5b0318], ecx
mov eax, dword [0x5d54a0]
test eax, eax
je 0x414999
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [0x5b0310]
mov dword [edi + 4], eax
mov dword [0x5b0310], edx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov dword [esp + 4], 0x34
mov dword [esp + 8], 0
call sym.runtime.makemap
mov eax, dword [esp + 0xc]
mov dword [esp + 0x104], eax
lea ecx, [0x4dbf80]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x4f4a86]
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 [0x5d54a0]
test ecx, ecx
je 0x414a11
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8ac]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414a28
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414a20
mov dword [esp + 0xc8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f8869]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
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 [0x5d54a0]
test ecx, ecx
je 0x414a86
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8d8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414a9d
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414a95
mov dword [esp + 0xc4], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f90bb]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2a
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 [0x5d54a0]
test ecx, ecx
je 0x414afb
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb904]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414b12
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414b0a
mov dword [esp + 0xc0], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f82f6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x25
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 [0x5d54a0]
test ecx, ecx
je 0x414b70
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb930]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414b87
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414b7f
mov dword [esp + 0xbc], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f7521]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
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 [0x5d54a0]
test ecx, ecx
je 0x414be5
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb95c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414bfc
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414bf4
mov dword [esp + 0xb8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f7542]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x21
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 [0x5d54a0]
test ecx, ecx
je 0x414c5a
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb96c]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414c71
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414c69
mov dword [esp + 0xb4], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f61dd]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
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 [0x5d54a0]
test ecx, ecx
je 0x414ccf
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb970]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414ce6
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414cde
mov dword [esp + 0xb0], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f8b54]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x28
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 [0x5d54a0]
test ecx, ecx
je 0x414d44
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb974]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414d5b
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414d53
mov dword [esp + 0xac], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f963c]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x2c
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 [0x5d54a0]
test ecx, ecx
je 0x414db9
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb978]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414dd0
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414dc8
mov dword [esp + 0xa8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f8890]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x27
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 [0x5d54a0]
test ecx, ecx
je 0x414e2e
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8b0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414e45
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414e3d
mov dword [esp + 0xa4], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f6757]
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 [0x5d54a0]
test ecx, ecx
je 0x414ea3
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8b4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414eba
or ecx, 4
mov eax, 1
test eax, eax
jle 0x414eb2
mov dword [esp + 0xa0], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f61fa]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
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 [0x5d54a0]
test ecx, ecx
je 0x414f18
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8b8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414f2f
or ecx, 2
mov eax, 1
test eax, eax
jle 0x414f27
mov dword [esp + 0x9c], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f6775]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1e
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 [0x5d54a0]
test ecx, ecx
je 0x414f8d
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8bc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x414fa4
or ecx, 2
mov eax, 1
test eax, eax
jle 0x414f9c
mov dword [esp + 0x98], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f58ed]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1b
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 [0x5d54a0]
test ecx, ecx
je 0x415002
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8c0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415019
or ecx, 2
mov eax, 1
test eax, eax
jle 0x415011
mov dword [esp + 0x94], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f546d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1a
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 [0x5d54a0]
test ecx, ecx
je 0x415077
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8c4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41508e
or ecx, 8
mov eax, 1
test eax, eax
jle 0x415086
mov dword [esp + 0x90], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f3fd3]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
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 [0x5d54a0]
test ecx, ecx
je 0x4150ec
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8c8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415103
or ecx, 8
mov eax, 1
test eax, eax
jle 0x4150fb
mov dword [esp + 0x8c], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f2fa6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
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 [0x5d54a0]
test ecx, ecx
je 0x415161
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8cc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415178
or ecx, 8
mov eax, 1
test eax, eax
jle 0x415170
mov dword [esp + 0x88], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f35b4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
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 [0x5d54a0]
test ecx, ecx
je 0x4151d6
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8d0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4151ed
or ecx, 8
mov eax, 1
test eax, eax
jle 0x4151e5
mov dword [esp + 0x84], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f35c8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
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 [0x5d54a0]
test ecx, ecx
je 0x41524b
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8d4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415262
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41525a
mov dword [esp + 0x80], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f6217]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1d
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 [0x5d54a0]
test ecx, ecx
je 0x4152c0
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8dc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4152d7
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4152cf
mov dword [esp + 0x7c], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f3a32]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x15
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 [0x5d54a0]
test ecx, ecx
je 0x41532f
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8e0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415346
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41533e
mov dword [esp + 0x78], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f451e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
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 [0x5d54a0]
test ecx, ecx
je 0x41539e
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8e4]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x4153b5
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4153ad
mov dword [esp + 0x74], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f5db2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
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 [0x5d54a0]
test ecx, ecx
je 0x41540d
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8e8]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415424
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41541c
mov dword [esp + 0x70], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f35dc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x14
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 [0x5d54a0]
test ecx, ecx
je 0x41547c
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8ec]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415493
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41548b
mov dword [esp + 0x6c], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f3fe9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x16
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 [0x5d54a0]
test ecx, ecx
je 0x4154eb
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8f0]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415502
or ecx, 2
mov eax, 1
test eax, eax
jle 0x4154fa
mov dword [esp + 0x68], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f2fb9]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
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 [0x5d54a0]
test ecx, ecx
je 0x41555a
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8f4]
mov dword [eax + 8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f35f0]
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 [0x5d54a0]
test ecx, ecx
je 0x4155b3
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8f8]
mov dword [eax + 8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f22bb]
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 [0x5d54a0]
test ecx, ecx
je 0x41560c
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb8fc]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415623
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41561b
mov dword [esp + 0x64], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f2fcc]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x13
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 [0x5d54a0]
test ecx, ecx
je 0x41567b
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb900]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415692
or ecx, 1
mov eax, 1
test eax, eax
jle 0x41568a
mov dword [esp + 0x60], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f4a9e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x18
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 [0x5d54a0]
test ecx, ecx
je 0x4156ea
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb908]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x415701
or ecx, 1
mov eax, 1
test eax, eax
jle 0x4156f9
mov dword [esp + 0x5c], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f5dce]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1c
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x5c]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d54a0]
test ecx, ecx
je 0x415759
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb90c]
mov dword [eax + 8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f7563]
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 [0x5d54a0]
test ecx, ecx
je 0x4157b2
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb910]
mov dword [eax + 8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f2b28]
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 [0x5d54a0]
test ecx, ecx
je 0x41580b
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb914]
mov dword [eax + 8], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f6234]
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 [0x5d54a0]
test ecx, ecx
je 0x415864
mov ecx, dword [eax + 8]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x4fb918]
mov dword [eax + 8], ecx
xor eax, eax
xor ecx, ecx
jmp 0x41587b
or ecx, 1
mov eax, 1
test eax, eax
jle 0x415873
mov dword [esp + 0x58], ecx
lea eax, [0x4dbf80]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
lea edx, [0x4f6c2e]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x1f
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x58]
mov dword [eax], ecx
mov dword [eax + 4], 0
mov ecx, dword [0x5d54a0]
test ecx, ecx
je 0x4158d3
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.runtime.initMetrics