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

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x17c]
cmp eax, dword [ecx + 8]
jbe 0x5250cc
sub esp, 0x1fc
mov edx, dword [esp + 0x200]
mov ebx, dword [edx + 0x1c]
mov dword [esp + 0x60], ebx
nop
xor eax, eax
xor ecx, ecx
xor ebp, ebp
jmp 0x520960
inc eax
add ecx, 7
mov ebx, dword [esp + 0x60]
cmp dword [edx + 0x24], eax
jle 0x5209d7
mov esi, dword [edx + 0x20]
movzx esi, byte [eax + esi]
mov edi, esi
and esi, 0x7f
shl esi, cl
cmp ecx, 0x20
sbb ebx, ebx
and ebx, esi
or ebp, ebx
xchg edi, eax
test al, 0x80
xchg edi, eax
jne 0x520958
mov ebx, dword [esp + 0x60]
lea esi, [eax + ebx + 1]
mov dword [edx + 0x1c], esi
mov ecx, dword [edx + 0x24]
lea esi, [eax + 1]
cmp ecx, esi
jb 0x5250c4
mov edi, dword [edx + 0x20]
mov ebx, dword [edx + 0x28]
sub ebx, eax
sub ecx, eax
dec ebx
dec ecx
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ebx
mov ecx, dword [0x7b12d0]
neg ebx
sar ebx, 0x1f
and ebx, esi
add ebx, edi
test ecx, ecx
je 0x5209ce
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [edx + 0x20]
mov dword [edi + 4], ecx
mov dword [edx + 0x20], ebx
mov ebx, dword [esp + 0x60]
jmp 0x5209d9
xor ebp, ebp
test ebp, ebp
je 0x520bff
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
lea ecx, [0x5f2c80]
mov dword [esp], ecx
mov ecx, dword [esp + 0x208]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call sym.runtime.mapaccess2_fast32
movzx ecx, byte [esp + 0x10]
mov byte [esp + 0x2d], cl
mov esi, dword [esp + 0xc]
lea edi, [esp + 0x138]
call fcn.004704ae
lea edi, [esp + 0x1b4]
lea esi, [esp + 0x138]
call fcn.004704ae
movzx ecx, byte [esp + 0x2d]
test cl, cl
je 0x520b1f
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x134], eax
lea ecx, [0x5ff9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1d4], eax
lea ecx, [0x604f20]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x60]
mov dword [eax], ecx
mov ecx, dword [esp + 0x1b4]
mov dword [eax + 4], ecx
movzx ecx, byte [esp + 0x1b8]
mov byte [eax + 8], cl
mov ecx, dword [esp + 0x134]
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x520ac1
mov ebx, dword [esp + 0x1d4]
jmp 0x520acf
call sym.runtime.gcWriteBarrier1
mov ebx, dword [esp + 0x1d4]
mov dword [edi], ebx
mov dword [esp + 0x174], eax
mov dword [eax + 0xc], ebx
lea ebx, [sym.debug_dwarf._buf_.entry.func1]
mov dword [esp + 0x1e0], ebx
mov ebx, dword [esp + 0x200]
mov dword [esp + 0x1e4], ebx
lea ebp, [sym.debug_dwarf._buf_.entry.func2]
mov dword [esp + 0x1d8], ebp
mov dword [esp + 0x1dc], ebx
mov ebp, dword [eax + 0x10]
mov dword [esp + 0x134], ebp
xor ecx, ecx
xor edx, edx
xor esi, esi
xor edi, edi
jmp 0x520c4b
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x2c]
nop
test edx, edx
jne 0x520bed
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov edx, dword [0x7b12d0]
test edx, edx
je 0x520b54
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0x20], 0
lea edi, [esp + 0x1e8]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x1e8], edx
mov dword [esp + 0x1ec], ebx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x1f0], edx
lea edx, [0x629ebd]
mov dword [esp + 0x1f4], edx
mov dword [esp + 0x1f8], 0x20
lea edx, [0x606980]
mov dword [esp], edx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x520bea
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
lea eax, [0x604f20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x214], eax
add esp, 0x1fc
ret
mov dword [ebx + ecx + 8], ebp
lea ecx, [esi + 1]
mov ebp, dword [esp + 0x134]
mov edi, dword [esp + 0x130]
mov esi, dword [esp + 0x178]
mov ebx, dword [esp + 0xa0]
mov ebx, edx
mov edx, dword [esp + 0xa0]
cmp ecx, ebp
jge 0x52320a
mov ebp, dword [esp + 0x1c0]
cmp ecx, ebp
jae 0x5250bb
mov dword [esp + 0x178], esi
mov dword [esp + 0xa0], edx
mov ebp, dword [eax + 0x10]
mov edx, dword [esp + 0x1bc]
lea esi, [ecx + ecx*4]
mov edx, dword [edx + esi*4]
cmp ecx, ebp
jae 0x5250b2
mov dword [esp + 0x90], ecx
mov ebp, dword [eax + 0xc]
shl ecx, 4
mov dword [ebp + ecx], edx
mov ebp, dword [esp + 0x1c0]
mov edx, ebx
mov ebx, dword [esp + 0x90]
cmp ebx, ebp
jae 0x5250a9
mov dword [esp + 0x9c], edi
mov ebp, dword [eax + 0x10]
mov edi, dword [esp + 0x1bc]
mov edi, dword [edi + esi*4 + 8]
cmp ebx, ebp
jae 0x5250a0
mov ebp, dword [eax + 0xc]
mov dword [ebp + ecx + 0xc], edi
mov ebp, dword [esp + 0x1c0]
cmp ebx, ebp
jae 0x525097
mov dword [esp + 0x130], ecx
mov ebp, dword [esp + 0x1bc]
mov ebp, dword [ebp + esi*4 + 4]
cmp ebp, 0x16
jne 0x520d17
mov dword [esp + 0x12c], esi
nop
xor ebp, ebp
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xb0], ebp
xor ebp, ebp
jmp 0x524f42
mov dword [esp + 0x94], ebp
cmp ebp, 0x13
ja 0x521e8a
cmp ebp, 0xa
ja 0x52158e
cmp ebp, 5
jbe 0x521173
cmp ebp, 7
jbe 0x5210b4
cmp ebp, 8
je 0x521057
cmp ebp, 9
jne 0x520d5b
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x524cbb
mov ebp, dword [edx + 0x24]
test ebp, ebp
jne 0x520e54
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x520e50
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x520d94
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x520e36
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
jmp 0x520ea7
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x28]
dec edi
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
dec ebp
movzx ecx, byte [esi]
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add esi, edi
test ebp, ebp
je 0x520e98
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov dword [edx + 0x20], esi
inc dword [edx + 0x1c]
mov ebp, ecx
mov ecx, dword [esp + 0x130]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov esi, dword [edx + 0x24]
cmp esi, ebp
jge 0x520fa9
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x520fa1
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x520ee5
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x520f87
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x521006
mov edi, dword [edx + 0x28]
mov dword [esp + 0x40], edi
mov ecx, dword [edx + 0x20]
sub edi, ebp
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
sub esi, ebp
mov dword [edx + 0x24], esi
mov esi, dword [esp + 0x12c]
mov dword [edx + 0x28], esi
mov esi, dword [0x7b12d0]
add edi, ecx
test esi, esi
je 0x520ffa
mov esi, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebx, dword [edx + 0x20]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x90]
mov edi, esi
mov dword [edx + 0x20], edi
add dword [edx + 0x1c], ebp
mov esi, dword [esp + 0x40]
mov edi, ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5e6c00]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov dword [esp], edx
call sym.debug_dwarf._buf_.string
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed6a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 6
jne 0x521116
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 3
ja 0x521380
cmp ebp, 1
je 0x521323
cmp ebp, 3
jne 0x52307f
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint16
movzx eax, word [esp + 4]
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x24]
cmp edx, eax
jge 0x521298
mov edx, dword [ecx + 0x2c]
nop
test edx, edx
je 0x5211c2
lea edx, [0x66e2a0]
mov ebx, ecx
jmp 0x521290
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5211e4
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], ebx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x140], edx
lea edx, [0x61ef37]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x52128d
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
xor eax, eax
xor esi, esi
xor ebp, ebp
jmp 0x5212d2
mov ebx, dword [ecx + 0x28]
mov ebp, dword [ecx + 0x20]
mov esi, ebx
sub ebx, eax
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
sub edx, eax
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x28], edi
mov edx, dword [0x7b12d0]
add ebx, ebp
test edx, edx
je 0x5212cc
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 0x20]
mov dword [edi + 4], edx
mov dword [ecx + 0x20], ebx
add dword [ecx + 0x1c], eax
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5e6c00]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov dword [esp], edx
call sym.debug_dwarf._buf_.addr
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed8a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 4
jne 0x521530
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
test eax, eax
jge 0x5213a2
mov ecx, dword [esp + 0x200]
jmp 0x5213b4
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x24]
cmp edx, eax
jge 0x52149f
mov edx, dword [ecx + 0x2c]
nop
test edx, edx
je 0x5213c9
lea edx, [0x66e2a0]
mov ebx, ecx
jmp 0x521497
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5213eb
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], ebx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x140], edx
lea edx, [0x61ef37]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521494
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
xor esi, esi
xor eax, eax
xor ecx, ecx
jmp 0x5214df
mov ebx, dword [ecx + 0x20]
mov ebp, dword [ecx + 0x28]
mov esi, ebp
sub ebp, eax
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
sub edx, eax
mov dword [ecx + 0x24], edx
mov dword [ecx + 0x28], edi
mov edx, dword [0x7b12d0]
add ebp, ebx
test edx, edx
je 0x5214d7
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + 0x20]
mov dword [edi + 4], edx
mov dword [ecx + 0x20], ebp
add dword [ecx + 0x1c], eax
mov ecx, ebx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5e6c00]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint16
movzx eax, word [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0xe
ja 0x521933
cmp ebp, 0xc
ja 0x5218cd
cmp ebp, 0xb
je 0x521730
mov ebp, dword [edx + 0x24]
test ebp, ebp
jne 0x5216a2
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x52169e
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x5215e2
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521684
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
jmp 0x5216f5
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x28]
dec edi
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
dec ebp
movzx ecx, byte [esi]
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add esi, edi
test ebp, ebp
je 0x5216e6
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov dword [edx + 0x20], esi
inc dword [edx + 0x1c]
mov ebp, ecx
mov ecx, dword [esp + 0x130]
xchg ebp, eax
cmp al, 1
xchg ebp, eax
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
movzx eax, al
xchg ebp, eax
mov esi, ebx
lea ebx, [0x77dc60]
lea ebp, [ebx + ebp*8]
lea edi, [0x5edaa0]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x130], ebx
lea ebx, [0x77dc60]
jmp 0x5231d0
mov ebp, dword [edx + 0x24]
test ebp, ebp
jne 0x521829
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x521825
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521769
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x52180b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
jmp 0x521875
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x28]
dec edi
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
dec ebp
movzx ecx, byte [esi]
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add esi, edi
test ebp, ebp
je 0x52186d
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov dword [edx + 0x20], esi
inc dword [edx + 0x1c]
mov ebp, ecx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0xd
jne 0x522414
mov dword [esp], edx
call sym.debug_dwarf._buf_.int
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x10
ja 0x521c21
cmp ebp, 0xf
jne 0x521957
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xbc], ebp
xor ebp, ebp
jmp 0x524b46
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
test eax, eax
jne 0x521a54
mov ebx, dword [esp + 0x200]
mov ebp, dword [ebx + 0x2c]
nop
test ebp, ebp
jne 0x521a4b
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5219a6
mov ecx, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [ebx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62b8e8]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x24
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521a48
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
xor eax, eax
xor ecx, ecx
jmp 0x521be6
cmp eax, 2
jne 0x521a8c
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.addr
mov eax, dword [esp + 4]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x200]
mov ecx, eax
lea eax, [0x5ed2e0]
jmp 0x521be6
mov eax, dword [esp + 0x200]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
call ecx
movzx eax, byte [esp + 5]
test al, al
jne 0x521b8e
mov ebx, dword [esp + 0x200]
mov ebp, dword [ebx + 0x2c]
nop
test ebp, ebp
jne 0x521b88
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x521ae3
mov ecx, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [ebx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62a6cf]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x21
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521b85
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
xor eax, eax
xor ecx, ecx
jmp 0x521be6
movzx eax, byte [esp + 4]
test al, al
je 0x521bb8
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
jmp 0x521bd7
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ebx, dword [esp + 0x200]
mov ecx, eax
lea eax, [0x5ed2e0]
mov edx, ebx
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, ecx
mov edi, eax
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x11
jne 0x521dc8
mov ebp, dword [edx + 0x24]
test ebp, ebp
jne 0x521d23
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x521d1f
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521c63
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x521d05
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
jmp 0x521d6f
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x28]
dec edi
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
dec ebp
movzx ecx, byte [esi]
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add esi, edi
test ebp, ebp
je 0x521d67
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov dword [edx + 0x20], esi
inc dword [edx + 0x1c]
mov ebp, ecx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
mov ecx, dword [esp + 0x20c]
add eax, ecx
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed2e0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x12
jne 0x521e2c
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint16
movzx eax, word [esp + 4]
mov ecx, dword [esp + 0x20c]
add eax, ecx
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed2e0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20c]
add eax, ecx
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed2e0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x1d
ja 0x522166
cmp ebp, 0x18
ja 0x521f2c
cmp ebp, 0x15
ja 0x521f0f
cmp ebp, 0x14
je 0x521eb1
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x524a11
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20c]
add eax, ecx
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed2e0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x17
je 0x522e9a
cmp ebp, 0x18
jne 0x52307f
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x524798
cmp ebp, 0x1a
ja 0x521f69
cmp ebp, 0x19
jne 0x522a29
mov ebp, 1
mov esi, ebx
lea ebx, [0x77dc60]
lea ebp, [ebx + ebp*8]
lea edi, [0x5edaa0]
mov ebx, dword [esp + 0x9c]
mov dword [esp + 0x130], ebx
lea ebx, [0x77dc60]
jmp 0x5231d0
cmp ebp, 0x1b
je 0x522c60
cmp ebp, 0x1c
jne 0x521fcc
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed820]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 5]
test al, al
jne 0x5220c7
mov ebx, dword [esp + 0x200]
mov ebp, dword [ebx + 0x2c]
nop
test ebp, ebp
jne 0x5220c1
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x52201c
mov ecx, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [ebx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62a6f0]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x21
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x5220be
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
xor ecx, ecx
xor eax, eax
jmp 0x52212b
movzx eax, byte [esp + 4]
test al, al
je 0x5220ff
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed8a0]
jmp 0x522124
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5ed820]
mov ebx, dword [esp + 0x200]
mov edx, ebx
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
mov edi, ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x22
ja 0x5229a2
cmp ebp, 0x1f
jbe 0x522264
cmp ebp, 0x20
je 0x522207
cmp ebp, 0x21
je 0x52219c
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xb8], ebp
xor ebp, ebp
jmp 0x524622
mov ebp, dword [esp + 0x1c0]
cmp ebx, ebp
jae 0x5245e3
mov eax, dword [esp + 0x1bc]
mov ecx, dword [eax + esi*4 + 0xc]
mov eax, dword [eax + esi*4 + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed8a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x1e
jne 0x522414
mov ebp, dword [edx + 0x24]
cmp ebp, 0x10
jge 0x52236b
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x522363
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x5222a7
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x522349
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor esi, esi
xor ebp, ebp
xor edi, edi
jmp 0x5223c3
mov esi, dword [edx + 0x28]
mov edi, dword [edx + 0x20]
lea ecx, [esi - 0x10]
mov dword [esp + 0x12c], ecx
neg ecx
sar ecx, 0x1f
and ecx, 0x10
add ebp, 0xfffffff0
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add ecx, edi
test ebp, ebp
je 0x5223b7
mov ebp, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x20]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x90]
mov edi, ebp
mov dword [edx + 0x20], ecx
add dword [edx + 0x1c], 0x10
mov ebp, 0x10
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5e6c00]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 5]
test al, al
je 0x522474
movzx eax, byte [esp + 4]
test al, al
je 0x52244d
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
jmp 0x522462
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
xor ecx, ecx
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
jmp 0x522562
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x2c]
nop
test edx, edx
je 0x522490
lea edx, [0x66e2a0]
mov ebx, ecx
jmp 0x52255e
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 0
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5224b2
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ecx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x14]
mov ebx, dword [ecx + 0x18]
mov dword [esp + 0x138], edx
mov dword [esp + 0x13c], ebx
mov edx, dword [ecx + 0x1c]
mov dword [esp + 0x140], edx
lea edx, [0x62c88d]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], 0x27
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x52255b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x50], eax
mov ebp, eax
sar eax, 0x1f
cmp ecx, eax
je 0x52264a
mov ecx, dword [ebx + 0x2c]
nop
test ecx, ecx
jne 0x52264a
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5225a1
mov ecx, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [ebx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62d863]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x2a
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x522643
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov ebp, dword [esp + 0x50]
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
jne 0x52376e
lea edi, [esp + 0x180]
xor eax, eax
call fcn.0046ffc3
mov ecx, dword [esp + 0x94]
cmp ecx, 0xe
jne 0x522741
mov ecx, dword [ebx]
mov dword [esp + 0x17c], ecx
mov esi, dword [ebx + 0xc]
mov edi, dword [ebx + 0x10]
mov dword [esp + 0x16c], edi
mov ebx, dword [ecx + 0x54]
mov edx, dword [ecx + 0x58]
mov ebp, dword [ecx + 0x5c]
lea edi, [esp + 0x138]
call fcn.0046ffc3
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0x138], ecx
mov edi, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], esi
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x148], ecx
lea ecx, [0x61d7ae]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], 3
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], ebp
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
lea edi, [esp + 0x180]
lea esi, [esp + 0x138]
call fcn.0047045e
jmp 0x522812
mov ecx, dword [ebx]
mov esi, dword [ecx + 0x70]
test esi, esi
je 0x52368b
mov dword [esp + 0x1cc], ecx
mov edi, dword [ecx + 0x6c]
mov dword [esp + 0x1c8], edi
mov edx, dword [ecx + 0x74]
mov ebp, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
lea edi, [esp + 0x138]
call fcn.0046ffc3
mov ecx, dword [esp + 0x1cc]
mov dword [esp + 0x138], ecx
mov edi, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
mov dword [esp + 0x13c], edi
mov dword [esp + 0x140], ecx
mov dword [esp + 0x144], ebp
mov dword [esp + 0x148], ebx
lea ecx, [0x61e8fb]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x150], 8
mov dword [esp + 0x154], 0
mov ebx, dword [esp + 0x1c8]
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], edx
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
lea edi, [esp + 0x180]
lea esi, [esp + 0x138]
call fcn.0047045e
nop
nop
mov ecx, dword [esp + 0x50]
test ecx, ecx
jl 0x52282b
mov edx, dword [esp + 0x1a4]
cmp ecx, edx
jle 0x5228f2
mov ecx, dword [esp + 0x1ac]
nop
test ecx, ecx
jne 0x52292f
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], 0
mov dword [esp + 0x1a0], 0
lea edi, [esp + 0x138]
call fcn.0046ffcb
mov ecx, dword [esp + 0x194]
mov edx, dword [esp + 0x198]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [esp + 0x19c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x1ac], edx
mov dword [esp + 0x1b0], ecx
xor eax, eax
jmp 0x52292f
mov ebx, dword [esp + 0x1a0]
mov ebp, dword [esp + 0x1a8]
sub ebp, ecx
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ecx
add ebx, ebp
sub edx, ecx
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a8], esi
mov dword [esp + 0x1a0], ebx
add dword [esp + 0x19c], ecx
lea eax, [esp + 0x180]
mov dword [esp], eax
call sym.debug_dwarf._buf_.string
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 0x1ac]
test eax, eax
jne 0x52364e
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed6a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x24
ja 0x522a20
cmp ebp, 0x23
jne 0x5229c3
nop
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xb4], ebp
xor ebp, ebp
jmp 0x52429b
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, eax
lea edi, [0x5ed8a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
cmp ebp, 0x28
ja 0x522c54
cmp ebp, 0x25
ja 0x522bae
cmp ebp, 0x1a
jne 0x522a4d
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xac], ebp
xor ebp, ebp
jmp 0x524146
cmp ebp, 0x25
jne 0x522bbd
mov ebp, dword [edx + 0x24]
test ebp, ebp
jne 0x522b4f
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x522b4b
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x522a8f
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x522b31
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
jmp 0x522ba2
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x28]
dec edi
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
dec ebp
movzx ecx, byte [esi]
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add esi, edi
test ebp, ebp
je 0x522b93
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov dword [edx + 0x20], esi
inc dword [edx + 0x1c]
mov ebp, ecx
mov ecx, dword [esp + 0x130]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
xor esi, esi
jmp 0x523cab
cmp ebp, 0x26
je 0x522c24
cmp ebp, 0x27
je 0x522bf5
cmp ebp, 0x28
je 0x522bc6
xor ebp, ebp
xor esi, esi
jmp 0x523cab
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint32
mov ebp, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
xor esi, esi
jmp 0x523cab
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint24
mov ebp, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
xor esi, esi
jmp 0x523cab
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint16
movzx ebp, word [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
xor esi, esi
jmp 0x523cab
lea esi, [ebp - 0x29]
cmp esi, 3
ja 0x522e8b
cmp ebp, 0x29
ja 0x522de5
cmp ebp, 0x1b
jne 0x522c84
xor ebp, ebp
xor esi, esi
xor edi, edi
xor ebp, ebp
mov dword [esp + 0xc0], ebp
xor ebp, ebp
jmp 0x523b7b
cmp ebp, 0x29
jne 0x522df4
mov ebp, dword [edx + 0x24]
test ebp, ebp
jne 0x522d86
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x522d82
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x522cc6
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x522d68
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor ebp, ebp
jmp 0x522dd9
mov esi, dword [edx + 0x20]
mov edi, dword [edx + 0x28]
dec edi
mov dword [esp + 0x12c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, 1
dec ebp
movzx ecx, byte [esi]
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add esi, edi
test ebp, ebp
je 0x522dca
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov dword [edx + 0x20], esi
inc dword [edx + 0x1c]
mov ebp, ecx
mov ecx, dword [esp + 0x130]
xchg ebp, eax
movzx eax, al
xchg ebp, eax
xor esi, esi
jmp 0x523789
cmp ebp, 0x2a
je 0x522e5b
cmp ebp, 0x2b
je 0x522e2c
cmp ebp, 0x2c
je 0x522dfd
xor ebp, ebp
xor esi, esi
jmp 0x523789
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint32
mov ebp, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
xor esi, esi
jmp 0x523789
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint24
mov ebp, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
xor esi, esi
jmp 0x523789
mov dword [esp], edx
call sym.debug_dwarf._buf_.uint16
movzx ebp, word [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
xor esi, esi
jmp 0x523789
lea esi, [ebp - 0x1f20]
cmp esi, 1
ja 0x52307f
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 5]
test al, al
je 0x522f1e
movzx eax, byte [esp + 4]
test al, al
je 0x522ee3
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint64
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 8]
jmp 0x522f0a
mov eax, dword [esp + 0x200]
mov dword [esp], eax
call sym.debug_dwarf._buf_.uint32
mov eax, dword [esp + 4]
mov dword [esp], eax
mov dword [esp + 4], 0
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed860]
mov edx, eax
mov eax, dword [esp + 0x200]
jmp 0x52303f
mov eax, dword [esp + 0x94]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x10
call sym.strconv.FormatInt
mov dword [esp], 0
lea eax, [0x626203]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x18
call sym.runtime.concatstring2
mov eax, dword [esp + 0x200]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test ecx, ecx
jne 0x52303b
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x522f97
mov ecx, dword [eax + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x200]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x138], ebp
mov dword [esp + 0x13c], esi
mov ebp, dword [ecx + 0x1c]
mov dword [esp + 0x140], ebp
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ebx
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x523036
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, ebx
xor ecx, ecx
xor edx, edx
mov eax, dword [esp + 0x174]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
mov ebp, edx
mov edi, ecx
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x200]
jmp 0x5231d0
mov dword [esp], ebp
mov dword [esp + 4], 0
mov dword [esp + 8], 0x10
call sym.strconv.FormatInt
mov dword [esp], 0
lea eax, [0x62823d]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1c
call sym.runtime.concatstring2
mov eax, dword [esp + 0x200]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
test ecx, ecx
jne 0x523195
mov dword [eax + 0x24], 0
mov dword [eax + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5230f1
mov ecx, dword [eax + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [eax + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x200]
mov ebp, dword [ecx + 0x14]
mov esi, dword [ecx + 0x18]
mov dword [esp + 0x138], ebp
mov dword [esp + 0x13c], esi
mov ebp, dword [ecx + 0x1c]
mov dword [esp + 0x140], ebp
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ebx
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x523190
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, ebx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
xor ebp, ebp
xor edi, edi
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x130], edx
mov edx, dword [esp + 0x200]
mov ebx, dword [eax + 0x10]
cmp esi, ebx
jae 0x523780
mov ebx, dword [eax + 0xc]
mov dword [ebx + ecx + 4], edi
mov edi, dword [0x7b12d0]
test edi, edi
je 0x520c1f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + ebx + 8]
mov dword [edi + 4], edx
mov edx, dword [esp + 0x200]
jmp 0x520c1f
mov ecx, dword [ebx + 0x2c]
test ecx, ecx
jne 0x523213
jmp 0x523229
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
add esi, 0x10
dec edi
test edi, edi
jle 0x5232d3
mov dword [esp + 0x134], edi
mov dword [esp + 0x1d4], esi
mov ecx, dword [esi + 0xc]
mov ebp, dword [esi]
mov dword [esp + 0x130], ebp
mov edx, dword [esi + 4]
mov ebp, dword [esi + 8]
cmp ecx, 0x1a
jne 0x52327c
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1d0], ecx
mov edi, dword [eax + 0x10]
mov dword [esp + 0xfc], eax
xor eax, eax
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0xfc]
jmp 0x523551
cmp ecx, 0x1b
jne 0x5232a7
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1d0], ecx
mov edi, dword [eax + 0x10]
mov dword [esp + 0x104], eax
xor eax, eax
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x104]
jmp 0x52340a
cmp ecx, 0x23
jne 0x523225
mov ecx, dword [eax + 0xc]
mov dword [esp + 0x1d0], ecx
mov edi, dword [eax + 0x10]
mov dword [esp + 0x10c], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x10c]
jmp 0x5232f7
mov dword [esp + 0x214], eax
add esp, 0x1fc
ret
mov ecx, dword [esp + 0x128]
add ecx, 0x10
inc esi
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x1d4]
mov esi, dword [esp + 0x64]
cmp esi, edi
jge 0x523319
mov dword [esp + 0x128], ecx
cmp dword [ecx], 0x74
jne 0x5232e1
shl esi, 4
mov ecx, dword [esp + 0x1d0]
add ecx, esi
jmp 0x52331b
xor ecx, ecx
test ecx, ecx
je 0x523327
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x52332b
xor esi, esi
xor ecx, ecx
lea edi, [0x5ed860]
cmp esi, edi
jne 0x52333c
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x523340
xor ecx, ecx
xor esi, esi
mov eax, dword [esp + 0x1d8]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x10]
mov ebx, dword [esp + 0x130]
cmp ecx, ebx
jbe 0x5233ed
mov ecx, dword [eax + 0xc]
shl ebx, 4
mov ebp, dword [esp + 8]
lea esi, [0x5ed8a0]
mov dword [ecx + ebx + 4], esi
mov edi, dword [0x7b12d0]
test edi, edi
je 0x5233b4
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + ebx + 8]
mov dword [edi + 4], edx
mov dword [ecx + ebx + 8], ebp
mov ecx, dword [esp + 0x200]
mov ebx, dword [ecx + 0x2c]
test ebx, ebx
jne 0x5233db
mov ebx, ecx
mov esi, dword [esp + 0x1d4]
mov edi, dword [esp + 0x134]
jmp 0x523225
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov eax, ebx
call sym.runtime.panicIndex
mov ecx, dword [esp + 0x128]
add ecx, 0x10
inc esi
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x1d4]
mov esi, dword [esp + 0x6c]
cmp esi, edi
jge 0x52342c
mov dword [esp + 0x128], ecx
cmp dword [ecx], 0x73
jne 0x5233f4
shl esi, 4
mov ecx, dword [esp + 0x1d0]
add ecx, esi
jmp 0x52342e
xor ecx, ecx
test ecx, ecx
je 0x52343a
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x52343e
xor esi, esi
xor ecx, ecx
lea edi, [0x5ed860]
cmp esi, edi
jne 0x52344f
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x523453
xor ecx, ecx
xor esi, esi
mov eax, dword [ebx]
mov edi, dword [ebx + 0xc]
mov ebx, dword [ebx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov dword [esp + 0x18], ebp
call sym.debug_dwarf._Data_.debugAddr
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x5234fa
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x130]
cmp ecx, edx
jbe 0x523534
mov ecx, dword [eax + 0xc]
shl edx, 4
mov ebx, dword [esp + 8]
lea ebp, [0x5ed8a0]
mov dword [ecx + edx + 4], ebp
mov esi, dword [0x7b12d0]
test esi, esi
je 0x5234dc
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov esi, dword [ecx + edx + 8]
mov dword [edi + 4], esi
mov dword [ecx + edx + 8], ebx
mov ebx, dword [esp + 0x200]
mov esi, dword [esp + 0x1d4]
mov edi, dword [esp + 0x134]
jmp 0x523225
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x200]
mov dword [edx + 0x2c], eax
mov eax, dword [0x7b12d0]
test eax, eax
je 0x52351f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 0x30]
mov dword [edi + 4], eax
mov dword [edx + 0x30], ecx
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov eax, edx
call sym.runtime.panicIndex
mov ecx, dword [esp + 0x128]
add ecx, 0x10
inc esi
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x1d4]
mov esi, dword [esp + 0x68]
cmp esi, edi
jge 0x523573
mov dword [esp + 0x128], ecx
cmp dword [ecx], 0x72
jne 0x52353b
shl esi, 4
mov ecx, dword [esp + 0x1d0]
add ecx, esi
jmp 0x523575
xor ecx, ecx
test ecx, ecx
je 0x523581
mov esi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x523585
xor esi, esi
xor ecx, ecx
lea edi, [0x5ed860]
cmp esi, edi
jne 0x523596
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x52359a
xor ecx, ecx
xor esi, esi
mov eax, dword [esp + 0x1e0]
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
lea edx, [esp + 0x1e0]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x10]
mov ebx, dword [esp + 0x130]
cmp ecx, ebx
jbe 0x523647
mov ecx, dword [eax + 0xc]
shl ebx, 4
mov ebp, dword [esp + 8]
lea esi, [0x5ed6a0]
mov dword [ecx + ebx + 4], esi
mov edi, dword [0x7b12d0]
test edi, edi
je 0x52360e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov edx, dword [ecx + ebx + 8]
mov dword [edi + 4], edx
mov dword [ecx + ebx + 8], ebp
mov ecx, dword [esp + 0x200]
mov ebx, dword [ecx + 0x2c]
test ebx, ebx
jne 0x523635
mov ebx, ecx
mov esi, dword [esp + 0x1d4]
mov edi, dword [esp + 0x134]
jmp 0x523225
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov eax, ebx
call sym.runtime.panicIndex
mov ecx, dword [esp + 0x1b0]
mov edx, dword [esp + 0x200]
mov dword [edx + 0x2c], eax
mov eax, dword [0x7b12d0]
test eax, eax
je 0x523676
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 0x30]
mov dword [edi + 4], eax
mov dword [edx + 0x30], ecx
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov ecx, dword [ebx + 0x2c]
nop
test ecx, ecx
jne 0x52375c
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5236b9
mov ecx, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
mov dword [ebx + 0x20], 0
lea edi, [esp + 0x138]
call fcn.0046ffcb
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62f43f]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x31
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x1e8]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x523759
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov eax, esi
mov ecx, ebx
call sym.runtime.panicIndex
mov dword [esp + 0x54], ebp
mov dword [esp + 0x5c], esi
mov edi, dword [edx]
mov edi, dword [edi + 0x60]
test edi, edi
jne 0x52389e
mov edi, dword [edx + 0x2c]
nop
test edi, edi
jne 0x52389e
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov edi, dword [0x7b12d0]
test edi, edi
je 0x5237da
mov edi, dword [edx + 0x20]
mov dword [esp + 0x128], edi
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x128]
mov dword [edi], ecx
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62d40c]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x29
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x52387c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x54]
mov esi, dword [esp + 0x5c]
mov edi, dword [edx + 0x2c]
test edi, edi
jne 0x5239ca
mov edi, ebp
mov ebp, dword [esp + 0x204]
test ebp, ebp
je 0x5238df
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x1d0], ecx
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0xec], eax
xor eax, eax
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0xec]
jmp 0x523af3
cmp dword [esp + 0x1b4], 0x11
jne 0x5239af
mov ebp, dword [esp + 0x9c]
inc ebp
mov ebx, dword [esp + 0xa0]
cmp ebx, ebp
jae 0x523954
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x600260]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x130]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x178], esi
mov ebx, edx
mov edx, dword [esp + 0x200]
mov esi, dword [esp + 0x5c]
lea edx, [ebp - 1]
shl edx, 4
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x178]
mov dword [eax + edx], ecx
mov dword [eax + edx + 4], edi
mov dword [eax + edx + 8], esi
mov dword [eax + edx + 0xc], 0x1b
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x200]
mov esi, ecx
xor edi, edi
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x130]
lea ebx, [0x77dc60]
mov dword [esp + 0x130], ebp
xor ebp, ebp
jmp 0x5231d0
mov dword [esp + 0xf4], eax
xor eax, eax
mov dword [esp + 0xd0], eax
xor eax, eax
mov dword [esp + 0xcc], eax
jmp 0x5239dc
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov eax, dword [edx]
mov ecx, dword [edx + 0xc]
mov ebx, dword [edx + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xd0]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], esi
call sym.debug_dwarf._Data_.debugAddr
mov eax, dword [esp + 0x24]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x170], ebx
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym.runtime.convT64
mov eax, dword [esp + 0x98]
test eax, eax
jne 0x523a8d
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5ed8a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov ecx, dword [esp + 0x200]
mov edx, dword [ecx + 0x2c]
test edx, edx
jne 0x523ac8
mov dword [ecx + 0x2c], eax
mov eax, dword [0x7b12d0]
test eax, eax
jne 0x523ab1
mov eax, dword [esp + 0x170]
jmp 0x523ac5
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x170]
mov dword [edi], eax
mov edx, dword [ecx + 0x30]
mov dword [edi + 4], edx
mov dword [ecx + 0x30], eax
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov ecx, dword [esp + 0x128]
add ecx, 0x10
inc ebx
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x90]
mov ebx, dword [esp + 0x88]
cmp ebx, ebp
jge 0x523b18
mov dword [esp + 0x128], ecx
cmp dword [ecx], 0x73
jne 0x523ada
shl ebx, 4
mov ecx, dword [esp + 0x1d0]
add ecx, ebx
jmp 0x523b1a
xor ecx, ecx
test ecx, ecx
je 0x523b26
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x523b2a
xor ebx, ebx
xor ecx, ecx
lea ebp, [0x5ed860]
cmp ebx, ebp
jne 0x523b3b
mov ebx, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x523b3f
xor ecx, ecx
xor ebx, ebx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], ebx
jmp 0x5239dc
mov ecx, dword [esp + 0x8c]
lea ebp, [ecx + 1]
add esi, 7
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x174]
cmp dword [edx + 0x24], ebp
jle 0x523c97
mov dword [esp + 0x8c], ebp
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x36], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
mov dword [esp + 0x120], ebx
lea eax, [ecx - 0x20]
mov dword [esp + 0x11c], eax
mov ecx, eax
mov ebp, dword [esp + 0x124]
shl ebp, cl
neg eax
mov ecx, eax
mov ebx, dword [esp + 0x124]
shr ebx, cl
cmp eax, 0x20
sbb eax, eax
and eax, ebx
mov ebx, dword [esp + 0x11c]
cmp ebx, 0x20
sbb ebx, ebx
and ebx, ebp
or ebx, eax
mov ebp, dword [esp + 0xc0]
or ebx, ebp
cmp esi, 0x20
sbb ebp, ebp
mov eax, ebx
mov ebx, dword [esp + 0x120]
and ebx, ebp
or edi, ebx
movzx ebx, byte [esp + 0x36]
test bl, 0x80
jne 0x523b52
mov ebx, dword [edx + 0x1c]
mov ebp, dword [esp + 0x8c]
lea ebx, [ebp + ebx + 1]
mov dword [edx + 0x1c], ebx
mov ecx, dword [edx + 0x24]
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x523ca4
mov dword [esp + 0x124], eax
mov esi, dword [edx + 0x20]
mov eax, dword [edx + 0x28]
sub eax, ebp
sub ecx, ebp
lea ebp, [eax - 1]
lea eax, [ecx - 1]
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ebp
mov eax, dword [0x7b12d0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
lea ebx, [esi + ebp]
test eax, eax
je 0x523c76
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ebp, dword [edx + 0x20]
mov dword [edi + 4], ebp
mov edi, eax
mov dword [edx + 0x20], ebx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x124]
jmp 0x523c9b
xor edi, edi
xor ebp, ebp
mov esi, ebp
mov ebp, edi
jmp 0x523789
mov eax, ebx
call sym.runtime.panicSliceB
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x58], esi
mov edi, dword [edx]
mov edi, dword [edi + 0x7c]
test edi, edi
jne 0x523dc0
mov edi, dword [edx + 0x2c]
nop
test edi, edi
jne 0x523dc0
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov edi, dword [0x7b12d0]
test edi, edi
je 0x523cfc
mov edi, dword [edx + 0x20]
mov dword [esp + 0x128], edi
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0x128]
mov dword [edi], ecx
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62ed58]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x2f
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x523d9e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x58]
mov eax, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
call eax
movzx eax, byte [esp + 5]
movzx ecx, byte [esp + 4]
test al, al
je 0x523de8
mov ebx, dword [esp + 0x200]
jmp 0x523ecb
mov ebx, dword [esp + 0x200]
mov ebp, dword [ebx + 0x2c]
nop
test ebp, ebp
jne 0x523ecb
mov byte [esp + 0x2e], cl
mov dword [ebx + 0x24], 0
mov dword [ebx + 0x28], 0
mov edx, dword [0x7b12d0]
test edx, edx
je 0x523e21
mov edx, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov dword [ebx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [ebx + 0x14]
mov edx, dword [ebx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], edx
mov ecx, dword [ebx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x62b90c]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 0x24
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x1e8]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x523ec3
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + 0x30]
mov dword [edi + 4], ebp
mov dword [ebx + 0x30], ecx
movzx ecx, byte [esp + 0x2e]
mov ebp, dword [ebx + 0x2c]
test ebp, ebp
jne 0x524022
test cl, cl
je 0x523ef3
mov ebp, dword [esp + 0x58]
shl ebp, 3
mov eax, ebx
mov ebx, dword [esp + 0x4c]
mov ecx, ebx
shr ebx, 0x1d
or ebx, ebp
shl ecx, 3
jmp 0x523f11
mov ebp, dword [esp + 0x58]
shl ebp, 2
mov ecx, dword [esp + 0x4c]
mov eax, ecx
shr eax, 0x1e
or eax, ebp
shl ecx, 2
mov ebx, eax
mov eax, dword [esp + 0x200]
mov ebp, dword [esp + 0x204]
test ebp, ebp
je 0x523f3d
mov esi, dword [ebp + 0xc]
mov edi, esi
mov edx, dword [ebp + 0x10]
mov dword [esp + 0xe4], eax
xor eax, eax
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0xe4]
jmp 0x5240c3
cmp dword [esp + 0x1b4], 0x11
jne 0x52401c
mov edx, ebp
mov ebp, dword [esp + 0x9c]
inc ebp
mov esi, ebx
mov ebx, dword [esp + 0xa0]
cmp ebx, ebp
jb 0x523f6b
mov edi, dword [esp + 0x178]
jmp 0x523fc1
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x124], esi
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x600260]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x4c]
mov edi, esi
mov ebx, edx
mov edx, dword [esp + 0x204]
mov esi, dword [esp + 0x124]
lea edx, [ebp - 1]
shl edx, 4
mov eax, dword [esp + 0x90]
mov dword [edi + edx], eax
mov dword [edi + edx + 4], ecx
mov dword [edi + edx + 8], esi
mov dword [edi + edx + 0xc], 0x1a
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
mov esi, eax
mov dword [esp + 0x130], ebp
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x178], edi
mov eax, dword [esp + 0x174]
lea ebx, [0x77dc60]
xor ebp, ebp
xor edi, edi
jmp 0x5231d0
xor edx, edx
xor esi, esi
jmp 0x524034
mov dword [esp + 0x214], 0
add esp, 0x1fc
ret
mov eax, dword [esp + 0x1e0]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
lea edx, [esp + 0x1e0]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5ed6a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov esi, dword [esp + 0x128]
add esi, 0x10
inc ebp
mov dword [esp + 0x7c], ebp
mov ebp, dword [esp + 0x204]
mov ebp, dword [esp + 0x7c]
cmp ebp, edx
jge 0x5240de
mov dword [esp + 0x128], esi
cmp dword [esi], 0x72
jne 0x5240ad
shl ebp, 4
add ebp, edi
jmp 0x5240e0
xor ebp, ebp
test ebp, ebp
je 0x5240ec
mov esi, dword [ebp + 4]
mov ebp, dword [ebp + 8]
jmp 0x5240f0
xor esi, esi
xor ebp, ebp
lea edi, [0x5ed860]
cmp esi, edi
jne 0x524102
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
jmp 0x524106
xor ebp, ebp
xor esi, esi
mov edx, ebp
jmp 0x524034
mov eax, dword [esp + 0x80]
inc eax
mov ecx, dword [esp + 0xc4]
lea esi, [ecx + 7]
mov edx, dword [esp + 0x200]
mov ecx, dword [esp + 0x130]
mov edi, ebp
mov dword [esp + 0xac], ebx
mov ebx, dword [esp + 0x90]
mov ebp, eax
mov eax, dword [esp + 0x174]
cmp dword [edx + 0x24], ebp
jle 0x52425c
mov dword [esp + 0x80], ebp
mov dword [esp + 0xc4], esi
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x32], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
lea eax, [ecx - 0x20]
mov dword [esp + 0x120], eax
mov ecx, eax
mov edx, dword [esp + 0x124]
shl edx, cl
neg eax
mov ecx, eax
mov ebp, dword [esp + 0x124]
shr ebp, cl
cmp esi, 0x20
sbb esi, esi
and esi, ebx
mov ebx, dword [esp + 0xac]
or ebx, esi
cmp eax, 0x20
sbb eax, eax
and eax, ebp
mov ebp, dword [esp + 0x120]
cmp ebp, 0x20
sbb ebp, ebp
and ebp, edx
or ebp, eax
or ebp, edi
movzx edx, byte [esp + 0x32]
test dl, 0x80
jne 0x52410d
mov edx, dword [esp + 0x200]
mov eax, dword [edx + 0x1c]
mov ecx, ebx
mov ebx, dword [esp + 0x80]
lea eax, [ebx + eax + 1]
mov dword [edx + 0x1c], eax
mov eax, dword [edx + 0x24]
lea esi, [ebx + 1]
cmp eax, esi
jb 0x524265
mov dword [esp + 0x124], ecx
mov edi, dword [edx + 0x20]
mov ecx, dword [edx + 0x28]
sub eax, ebx
sub ecx, ebx
dec ecx
lea ebx, [eax - 1]
mov dword [edx + 0x24], ebx
mov dword [edx + 0x28], ecx
mov ebx, dword [0x7b12d0]
neg ecx
sar ecx, 0x1f
and ecx, esi
add ecx, edi
test ebx, ebx
je 0x524236
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x20]
mov dword [edi + 4], ebx
mov dword [edx + 0x20], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
mov esi, ebp
mov ebp, dword [esp + 0x124]
jmp 0x523cab
xor ebp, ebp
xor esi, esi
jmp 0x523cab
mov ecx, eax
mov eax, esi
call sym.runtime.panicSliceB
mov eax, dword [esp + 0x74]
inc eax
add esi, 7
mov edx, dword [esp + 0x200]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xb4], ebp
mov ebp, eax
mov eax, dword [esp + 0x174]
cmp dword [edx + 0x24], ebp
jle 0x5243bd
mov dword [esp + 0x74], ebp
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x2f], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
lea eax, [ecx - 0x20]
mov dword [esp + 0x120], eax
mov ecx, eax
mov ebp, dword [esp + 0x124]
shl ebp, cl
mov dword [esp + 0x11c], ebp
neg eax
mov ecx, eax
mov ebp, dword [esp + 0x124]
shr ebp, cl
cmp esi, 0x20
sbb edx, edx
and edx, ebx
or edi, edx
mov ebx, dword [esp + 0x120]
cmp ebx, 0x20
sbb ebx, ebx
mov edx, ebp
mov ebp, dword [esp + 0x11c]
and ebp, ebx
cmp eax, 0x20
sbb ebx, ebx
and ebx, edx
or ebp, ebx
mov ebx, dword [esp + 0xb4]
or ebp, ebx
movzx ebx, byte [esp + 0x2f]
test bl, 0x80
jne 0x52426e
mov ebx, dword [esp + 0x200]
mov eax, dword [ebx + 0x1c]
mov ecx, ebp
mov ebp, dword [esp + 0x74]
lea eax, [ebp + eax + 1]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebx + 0x24]
lea edx, [ebp + 1]
cmp eax, edx
jb 0x5245da
mov dword [esp + 0x124], ecx
mov esi, dword [ebx + 0x20]
mov ecx, dword [ebx + 0x28]
sub ecx, ebp
sub eax, ebp
lea ebp, [ecx - 1]
dec eax
mov dword [ebx + 0x24], eax
mov dword [ebx + 0x28], ebp
mov eax, dword [0x7b12d0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edx
add ebp, esi
test eax, eax
je 0x52439a
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ecx, dword [ebx + 0x20]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [ebx + 0x20], ebp
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x124]
jmp 0x5243c1
xor edi, edi
xor ebp, ebp
mov esi, ebp
mov ebp, dword [esp + 0x204]
test ebp, ebp
je 0x5243f4
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x1d0], edx
mov ebp, dword [ebp + 0x10]
mov dword [esp + 0xd4], eax
xor eax, eax
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0xd4]
jmp 0x524582
cmp dword [esp + 0x1b4], 0x11
jne 0x5244d8
mov ebp, dword [esp + 0x9c]
inc ebp
mov ebx, dword [esp + 0xa0]
cmp ebx, ebp
jae 0x52447d
mov dword [esp + 0xa4], edi
mov dword [esp + 0x124], esi
mov eax, dword [esp + 0x178]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x600260]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x130]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x178], esi
mov ebx, edx
mov edx, dword [esp + 0x200]
mov esi, dword [esp + 0x124]
lea edx, [ebp - 1]
shl edx, 4
mov ecx, dword [esp + 0x90]
mov eax, dword [esp + 0x178]
mov dword [eax + edx], ecx
mov dword [eax + edx + 4], edi
mov dword [eax + edx + 8], esi
mov dword [eax + edx + 0xc], 0x23
mov eax, dword [esp + 0x174]
mov edx, dword [esp + 0x200]
mov esi, ecx
xor edi, edi
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x130]
lea ebx, [0x77dc60]
mov dword [esp + 0x130], ebp
xor ebp, ebp
jmp 0x5231d0
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0x48], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x44]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call sym.runtime.convT64
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5ed8a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
mov edx, dword [esp + 0x128]
add edx, 0x10
inc ecx
mov dword [esp + 0x70], ecx
mov ecx, dword [esp + 0x130]
mov ecx, dword [esp + 0x70]
cmp ecx, ebp
jge 0x5245a4
mov dword [esp + 0x128], edx
cmp dword [edx], 0x74
jne 0x52456c
shl ecx, 4
mov ebp, dword [esp + 0x1d0]
add ecx, ebp
jmp 0x5245a6
xor ecx, ecx
test ecx, ecx
je 0x5245b2
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x5245b6
xor ebp, ebp
xor ecx, ecx
mov edx, ebx
lea ebx, [0x5ed860]
cmp ebp, ebx
jne 0x5245c9
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x5245cd
xor ecx, ecx
xor ebp, ebp
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], ebp
jmp 0x5244eb
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, dword [esp + 0x78]
lea ebp, [eax + 1]
add esi, 7
mov eax, dword [esp + 0x200]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edi, ebx
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
cmp dword [edx + 0x24], ebp
jle 0x524724
mov dword [esp + 0xa8], edi
mov dword [esp + 0x78], ebp
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x30], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
lea eax, [ecx - 0x20]
mov dword [esp + 0x120], eax
mov ecx, eax
mov edx, dword [esp + 0x124]
shl edx, cl
neg eax
mov ecx, eax
mov ebp, dword [esp + 0x124]
shr ebp, cl
mov edi, dword [esp + 0x120]
cmp edi, 0x20
sbb edi, edi
and edx, edi
cmp eax, 0x20
sbb edi, edi
and ebp, edi
or edx, ebp
mov ebp, dword [esp + 0xb8]
or edx, ebp
cmp esi, 0x20
sbb ebp, ebp
and ebp, ebx
mov ebx, dword [esp + 0xa8]
or ebx, ebp
movzx ebp, byte [esp + 0x30]
xchg ebp, eax
test al, 0x80
xchg ebp, eax
jne 0x5245ec
mov ebp, dword [esp + 0x200]
mov esi, dword [ebp + 0x1c]
mov edi, dword [esp + 0x78]
lea esi, [edi + esi + 1]
mov dword [ebp + 0x1c], esi
mov ecx, dword [ebp + 0x24]
lea eax, [edi + 1]
cmp ecx, eax
jb 0x52477a
mov dword [esp + 0x118], edx
mov esi, dword [ebp + 0x20]
mov edx, dword [ebp + 0x28]
sub edx, edi
sub ecx, edi
dec edx
dec ecx
mov dword [ebp + 0x24], ecx
mov dword [ebp + 0x28], edx
mov ecx, dword [0x7b12d0]
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [esi + edx]
test ecx, ecx
je 0x524716
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp + 0x20]
mov dword [edi + 4], ecx
mov dword [ebp + 0x20], eax
mov ebp, ebx
mov esi, dword [esp + 0x118]
jmp 0x524728
xor ebp, ebp
xor esi, esi
mov dword [esp], ebp
mov dword [esp + 4], esi
call sym.runtime.convT64
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5ed8a0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
call sym.runtime.panicSliceB
inc ebp
lea esi, [ecx + 7]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
cmp dword [edx + 0x24], ebp
jle 0x524843
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x31], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
cmp ecx, 0x20
sbb eax, eax
and ebx, eax
or edi, ebx
movzx ebx, byte [esp + 0x31]
test bl, 0x80
jne 0x52477f
mov ebx, dword [edx + 0x1c]
lea ebx, [ebp + ebx + 1]
mov dword [edx + 0x1c], ebx
mov ecx, dword [edx + 0x24]
lea eax, [ebp + 1]
cmp ecx, eax
jb 0x5249f3
mov ebx, dword [edx + 0x20]
mov esi, dword [edx + 0x28]
sub esi, ebp
sub ecx, ebp
lea ebp, [esi - 1]
dec ecx
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ebp
mov ecx, dword [0x7b12d0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
add ebx, ebp
test ecx, ecx
je 0x524829
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [edx + 0x20]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edx + 0x20], ebx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
jmp 0x524845
xor edi, edi
test edi, edi
jl 0x524854
mov ebp, dword [edx + 0x24]
cmp edi, ebp
jle 0x524946
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x52493e
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x524882
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x524924
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor edi, edi
xor ebp, ebp
xor esi, esi
jmp 0x52499d
mov esi, dword [edx + 0x20]
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x38], ecx
sub ecx, edi
mov dword [esp + 0x12c], ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
sub ebp, edi
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add ecx, esi
test ebp, ebp
je 0x524993
mov ebp, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x20]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x90]
mov edi, ebp
mov dword [edx + 0x20], ecx
add dword [edx + 0x1c], edi
mov ebp, dword [esp + 0x38]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call sym.runtime.convTslice
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5e6c00]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
call sym.runtime.panicSliceB
inc ebp
lea esi, [ecx + 7]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
cmp dword [edx + 0x24], ebp
jle 0x524aa9
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x33], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
cmp ecx, 0x20
sbb eax, eax
and eax, ebx
or edi, eax
movzx ebx, byte [esp + 0x33]
test bl, 0x80
jne 0x5249f8
mov ebx, dword [edx + 0x1c]
lea ebx, [ebp + ebx + 1]
mov dword [edx + 0x1c], ebx
mov ecx, dword [edx + 0x24]
lea eax, [ebp + 1]
cmp ecx, eax
jb 0x524b03
mov ebx, dword [edx + 0x20]
mov esi, dword [edx + 0x28]
sub ecx, ebp
sub esi, ebp
lea ebp, [esi - 1]
dec ecx
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ebp
mov ecx, dword [0x7b12d0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
lea eax, [ebp + ebx]
test ecx, ecx
je 0x524aa4
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0x20]
mov dword [edi + 4], ebx
mov edi, ecx
mov dword [edx + 0x20], eax
jmp 0x524aab
xor edi, edi
mov eax, dword [esp + 0x20c]
lea ecx, [edi + eax]
mov dword [esp], ecx
call sym.runtime.convT32
mov ebp, dword [esp + 4]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5ed2e0]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
call sym.runtime.panicSliceB
mov eax, dword [esp + 0x84]
lea ebp, [eax + 1]
mov eax, dword [esp + 0xc8]
lea esi, [eax + 7]
mov eax, dword [esp + 0x200]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x200]
cmp dword [edx + 0x24], ebp
jle 0x524c47
mov dword [esp + 0x84], ebp
mov dword [esp + 0xc8], esi
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x34], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
lea eax, [ecx - 0x20]
mov dword [esp + 0x120], eax
mov ecx, eax
mov edx, dword [esp + 0x124]
shl edx, cl
neg eax
mov ecx, eax
mov ebp, dword [esp + 0x124]
shr ebp, cl
cmp esi, 0x20
sbb esi, esi
and ebx, esi
or edi, ebx
mov ebx, dword [esp + 0x120]
cmp ebx, 0x20
sbb ebx, ebx
and edx, ebx
cmp eax, 0x20
sbb ebx, ebx
and ebx, ebp
or edx, ebx
mov ebx, dword [esp + 0xbc]
or edx, ebx
movzx ebx, byte [esp + 0x34]
test bl, 0x80
jne 0x524b08
mov ebx, dword [esp + 0x200]
mov ebp, dword [ebx + 0x1c]
mov esi, dword [esp + 0x84]
lea ebp, [esi + ebp + 1]
mov dword [ebx + 0x1c], ebp
mov ecx, dword [ebx + 0x24]
lea eax, [esi + 1]
cmp ecx, eax
jb 0x524c9d
mov dword [esp + 0x114], edx
mov ebp, dword [ebx + 0x20]
mov edx, dword [ebx + 0x28]
sub edx, esi
sub ecx, esi
dec edx
dec ecx
mov dword [ebx + 0x24], ecx
mov dword [ebx + 0x28], edx
mov ecx, dword [0x7b12d0]
neg edx
sar edx, 0x1f
and edx, eax
lea eax, [edx + ebp]
test ecx, ecx
je 0x524c3b
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov edx, dword [ebx + 0x20]
mov dword [edi + 4], edx
mov edi, ecx
mov dword [ebx + 0x20], eax
mov ebp, dword [esp + 0x114]
jmp 0x524c4b
xor edi, edi
xor ebp, ebp
mov dword [esp], edi
mov dword [esp + 4], ebp
call sym.runtime.convT64
mov ebp, dword [esp + 8]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5ed860]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
call sym.runtime.panicSliceB
inc ebp
lea esi, [ecx + 7]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
cmp dword [edx + 0x24], ebp
jle 0x524d66
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x35], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, esi
mov ebx, dword [esp + 0x124]
shl ebx, cl
cmp ecx, 0x20
sbb eax, eax
and eax, ebx
or edi, eax
movzx ebx, byte [esp + 0x35]
test bl, 0x80
jne 0x524ca2
mov ebx, dword [edx + 0x1c]
lea ebx, [ebp + ebx + 1]
mov dword [edx + 0x1c], ebx
mov ecx, dword [edx + 0x24]
lea eax, [ebp + 1]
cmp ecx, eax
jb 0x524f16
mov ebx, dword [edx + 0x20]
mov esi, dword [edx + 0x28]
sub esi, ebp
sub ecx, ebp
lea ebp, [esi - 1]
dec ecx
mov dword [edx + 0x24], ecx
mov dword [edx + 0x28], ebp
mov ecx, dword [0x7b12d0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
add ebx, ebp
test ecx, ecx
je 0x524d4c
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov ecx, dword [edx + 0x20]
mov dword [edi + 4], ecx
mov edi, eax
mov dword [edx + 0x20], ebx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov ebx, dword [esp + 0x90]
jmp 0x524d68
xor edi, edi
test edi, edi
jl 0x524d77
mov ebp, dword [edx + 0x24]
cmp edi, ebp
jle 0x524e69
mov ebp, dword [edx + 0x2c]
nop
test ebp, ebp
jne 0x524e61
mov dword [edx + 0x24], 0
mov dword [edx + 0x28], 0
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x524da5
mov ebp, dword [edx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov dword [edx + 0x20], 0
lea edi, [esp + 0x138]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [edx + 0x14]
mov ebx, dword [edx + 0x18]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], ebx
mov ecx, dword [edx + 0x1c]
mov dword [esp + 0x140], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], 9
lea edi, [esp + 0x1e8]
lea esi, [esp + 0x138]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ebx, [esp + 0x1e8]
mov dword [esp + 4], ebx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov ebx, dword [esp + 0x200]
mov dword [ebx + 0x2c], edx
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x524e47
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x30]
mov dword [edi + 4], eax
mov dword [ebx + 0x30], ecx
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, ebx
mov ebx, dword [esp + 0x90]
xor edi, edi
xor ebp, ebp
xor esi, esi
jmp 0x524ec0
mov esi, dword [edx + 0x20]
mov ecx, dword [edx + 0x28]
mov dword [esp + 0x3c], ecx
sub ecx, edi
mov dword [esp + 0x12c], ecx
neg ecx
sar ecx, 0x1f
and ecx, edi
sub ebp, edi
mov dword [edx + 0x24], ebp
mov ebp, dword [esp + 0x12c]
mov dword [edx + 0x28], ebp
mov ebp, dword [0x7b12d0]
add ecx, esi
test ebp, ebp
je 0x524eb6
mov ebp, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x20]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x90]
mov edi, ebp
mov dword [edx + 0x20], ecx
add dword [edx + 0x1c], edi
mov ebp, dword [esp + 0x3c]
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
call sym.runtime.convTslice
mov ebp, dword [esp + 0xc]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov edx, dword [esp + 0x200]
lea ebx, [0x77dc60]
mov esi, dword [esp + 0x90]
lea edi, [0x5e6c00]
mov eax, dword [esp + 0x9c]
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x174]
jmp 0x5231d0
call sym.runtime.panicSliceB
inc ebp
lea edi, [ecx + 7]
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov esi, dword [esp + 0x12c]
mov dword [esp + 0xb0], ebx
mov ebx, dword [esp + 0x90]
cmp dword [edx + 0x24], ebp
jle 0x524ffd
mov ecx, dword [edx + 0x20]
movzx ecx, byte [ebp + ecx]
mov byte [esp + 0x37], cl
and ecx, 0x7f
mov dword [esp + 0x124], ecx
mov ecx, edi
mov esi, dword [esp + 0x124]
shl esi, cl
cmp ecx, 0x20
sbb eax, eax
and esi, eax
mov ebx, dword [esp + 0xb0]
or ebx, esi
movzx esi, byte [esp + 0x37]
xchg esi, eax
test al, 0x80
xchg esi, eax
jne 0x524f1b
mov esi, dword [edx + 0x1c]
lea esi, [ebp + esi + 1]
mov dword [edx + 0x1c], esi
mov ecx, dword [edx + 0x24]
lea esi, [ebp + 1]
cmp ecx, esi
jb 0x525090
mov edi, dword [edx + 0x20]
mov eax, dword [edx + 0x28]
sub eax, ebp
sub ecx, ebp
lea ebp, [eax - 1]
lea eax, [ecx - 1]
mov dword [edx + 0x24], eax
mov dword [edx + 0x28], ebp
mov eax, dword [0x7b12d0]
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, esi
add ebp, edi
test eax, eax
je 0x524fda
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov esi, dword [edx + 0x20]
mov dword [edi + 4], esi
mov dword [edx + 0x20], ebp
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x130]
mov esi, dword [esp + 0x12c]
mov ebp, ebx
mov ebx, dword [esp + 0x90]
jmp 0x524fff
xor ebp, ebp
mov edi, dword [esp + 0x1c0]
cmp ebx, edi
jae 0x525087
mov dword [esp + 0xb0], ebp
mov eax, dword [esp + 0x1bc]
mov eax, dword [eax + esi*4]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov eax, dword [esp + 0x210]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call sym.debug_dwarf.formToClass
mov eax, dword [esp + 0x174]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x90]
cmp edx, ecx
jae 0x525080
mov ecx, dword [eax + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x130]
mov dword [ecx + ebp + 0xc], ebx
mov ecx, ebp
mov edx, dword [esp + 0x200]
mov ebx, dword [esp + 0x90]
mov esi, dword [esp + 0x12c]
mov ebp, dword [esp + 0xb0]
jmp 0x520d17
mov eax, edx
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, edi
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicSliceB
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ebx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, ebp
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.debug_dwarf._buf_.entry