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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x224]
cmp eax, dword [ecx + 8]
jbe 0x518dd4
sub esp, 0x2a4
mov eax, 0
mov dword [esp + 0x2a0], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 0
lea eax, [0x5c4380]
mov dword [esp], eax
mov ecx, dword [esp + 0x2c0]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x2bc]
mov dword [esp + 8], edx
call sym.runtime.mapaccess2_fast32
movzx eax, byte [esp + 0x10]
test al, al
jne 0x516bac
mov eax, dword [esp + 0x2b4]
mov ecx, dword [eax + 0x18]
mov edx, dword [esp + 0x2b8]
mov dword [esp], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0x2b4]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x2b8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 4]
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ecx
test eax, eax
jne 0x516b73
mov dword [esp + 0x16c], edx
mov eax, dword [esp + 0x2b4]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x2b8]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
test ecx, ecx
je 0x516ad5
mov edx, dword [esp + 0x2bc]
cmp dword [ecx], edx
jne 0x516adc
mov ebx, dword [esp + 0x2c4]
test ebx, ebx
jne 0x5161c9
lea edi, [esp + 0x144]
mov ebx, eax
mov eax, 0
call fcn.0046ac5a
mov dword [esp + 0x284], 0
mov dword [esp + 0x288], 0
lea ecx, [sym.debug_dwarf._Data_.readType.func1]
mov dword [esp + 0x284], ecx
lea ecx, [esp + 0x144]
mov dword [esp + 0x288], ecx
lea ecx, [esp + 0x284]
mov dword [esp + 0x2a0], ecx
mov byte [esp + 0x23], 1
mov eax, ebx
mov ecx, dword [esp + 0x16c]
lea ebx, [esp + 0x144]
mov dword [esp + 0x94], eax
mov dword [esp + 0x108], ebx
mov dword [esp + 0x38], 0
xchg ebp, ebx
setne bl
xchg ebp, ebx
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
lea edi, [esp + 0x264]
mov esi, eax
xor eax, eax
call fcn.0046ac58
lea ecx, [sym.debug_dwarf._Data_.readType.func2]
mov dword [esp + 0x264], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x268], ecx
mov edi, edx
mov edx, dword [esp + 0x2b4]
mov dword [esp + 0x26c], edx
mov ebp, dword [esp + 0x2b8]
mov dword [esp + 0x270], ebp
lea ecx, [esp + 0x164]
mov dword [esp + 0x274], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x27c], ecx
mov ebx, dword [esp + 0x2ac]
mov dword [esp + 0x278], ebx
lea ebp, [esp + 0x38]
mov dword [esp + 0x280], ebp
mov ebp, edi
lea edi, [esp + 0x240]
call fcn.0046ac57
lea ecx, [sym.debug_dwarf._Data_.readType.func3]
mov dword [esp + 0x240], ecx
lea ecx, [esp + 0x164]
mov dword [esp + 0x244], ecx
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0x248], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x250], ecx
mov dword [esp + 0x24c], ebx
mov dword [esp + 0x254], edx
mov edx, dword [esp + 0x2b8]
mov dword [esp + 0x258], edx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 0x25c], edx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x260], ecx
mov ebx, dword [esp + 0x16c]
mov edi, dword [ebx + 4]
movzx ecx, byte [esp + 0x22]
xor ecx, 1
mov byte [esp + 0x22], cl
cmp edi, 0x15
jbe 0x5165db
cmp edi, 0x24
ja 0x5163d0
cmp edi, 0x16
je 0x516347
cmp edi, 0x17
je 0x516778
cmp edi, 0x24
jne 0x51688c
mov edi, dword [ebx + 0xc]
mov dword [esp + 0x1b0], edi
mov dword [esp + 0xbc], edi
mov esi, dword [ebx + 0x10]
xor eax, eax
mov dword [esp + 0x6c], eax
xor eax, eax
jmp 0x5185ba
lea eax, [0x5cce60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635890]
mov dword [eax], ecx
mov edx, dword [0x776370]
test edx, edx
jne 0x5163a3
mov ebx, dword [esp + 0x114]
jmp 0x5163b7
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x114]
mov dword [edi], ebx
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x16c]
mov ebp, dword [eax + 0xc]
mov esi, ebp
mov edi, dword [eax + 0x10]
xor edx, edx
jmp 0x5184f7
cmp edi, 0x35
ja 0x5163e4
cmp edi, 0x26
je 0x5163ed
cmp edi, 0x35
je 0x5163ed
jmp 0x51688c
cmp edi, 0x37
jne 0x516549
lea eax, [0x5d2f80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635874]
mov dword [eax], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x516449
mov ecx, dword [esp + 0x124]
jmp 0x51645d
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x124]
mov dword [edi], ecx
mov ebx, dword [eax + 4]
mov dword [edi + 4], ebx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x240]
mov ebx, dword [esp + 0x16c]
mov dword [esp], ebx
lea edx, [esp + 0x240]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x124]
mov dword [ebx + 0x18], eax
mov eax, dword [0x776370]
test eax, eax
je 0x5164a3
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x1c]
mov dword [edi + 4], eax
mov dword [ebx + 0x1c], ecx
mov eax, dword [esp + 0x164]
test eax, eax
jne 0x516cd3
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 4]
cmp ecx, 0x26
jne 0x5164ea
mov dword [ebx + 0x14], 5
mov ecx, dword [0x776370]
test ecx, ecx
je 0x5164df
mov ecx, dword [ebx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x5ed32a]
mov dword [ebx + 0x10], ecx
jmp 0x51653e
cmp ecx, 0x35
jne 0x516515
mov dword [ebx + 0x14], 8
mov ecx, dword [0x776370]
test ecx, ecx
je 0x51650a
mov ecx, dword [ebx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x5edf4d]
mov dword [ebx + 0x10], ecx
jmp 0x51653e
cmp ecx, 0x37
jne 0x51653e
mov dword [ebx + 0x14], 8
mov ecx, dword [0x776370]
test ecx, ecx
je 0x516535
mov ecx, dword [ebx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x5edf45]
mov dword [ebx + 0x10], ecx
lea ecx, [0x635874]
jmp 0x516cbc
cmp edi, 0x3b
jne 0x51688c
lea eax, [0x5c87e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x636000]
mov dword [eax], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x5165ae
mov ecx, dword [esp + 0x110]
jmp 0x5165c2
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x110]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 0xc]
mov ebx, edx
mov ebp, dword [eax + 0x10]
xor esi, esi
jmp 0x518483
cmp edi, 4
ja 0x516766
cmp edi, 1
je 0x516688
cmp edi, 2
je 0x516778
cmp edi, 4
jne 0x51688c
lea eax, [0x5d3080]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x120], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635b68]
mov dword [eax], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x51665b
mov ecx, dword [esp + 0x120]
jmp 0x51666f
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x120]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 0xc]
mov ebx, edx
mov ebp, dword [eax + 0x10]
xor esi, esi
jmp 0x518195
lea eax, [0x5d7a00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x12c], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635a6c]
mov dword [eax], ecx
mov edx, dword [0x776370]
test edx, edx
jne 0x5166e4
mov ebx, dword [esp + 0x12c]
jmp 0x5166f8
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x12c]
mov dword [edi], ebx
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x240]
mov ecx, dword [esp + 0x16c]
mov dword [esp], ecx
lea edx, [esp + 0x240]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x12c]
mov dword [ebx + 0x10], eax
mov eax, dword [0x776370]
test eax, eax
je 0x51673e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x164]
test eax, eax
jne 0x516cd3
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0xc]
mov ebp, ecx
mov esi, dword [eax + 0x10]
xor edx, edx
jmp 0x517dcd
cmp edi, 0xf
je 0x516a4c
cmp edi, 0x13
jne 0x516883
lea eax, [0x5da760]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635aa4]
mov dword [eax], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x5167d4
mov ecx, dword [esp + 0x128]
jmp 0x5167e8
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x128]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 4]
cmp edx, 2
jne 0x516820
mov dword [ecx + 0x1c], 5
mov edx, dword [0x776370]
test edx, edx
je 0x516815
mov edx, dword [ecx + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ed3e3]
mov dword [ecx + 0x18], edx
jmp 0x516874
cmp edx, 0x13
jne 0x51684b
mov dword [ecx + 0x1c], 6
mov edx, dword [0x776370]
test edx, edx
je 0x516840
mov edx, dword [ecx + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ed698]
mov dword [ecx + 0x18], edx
jmp 0x516874
cmp edx, 0x17
jne 0x516874
mov dword [ecx + 0x1c], 5
mov edx, dword [0x776370]
test edx, edx
je 0x51686b
mov edx, dword [ecx + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x5ed3e8]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xc]
mov ebx, edx
mov ebp, dword [eax + 0x10]
xor esi, esi
jmp 0x5170d2
cmp edi, 0x15
je 0x51691b
lea eax, [0x5ccf80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x63601c]
mov dword [eax], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x5168e8
mov ecx, dword [esp + 0x10c]
jmp 0x5168fc
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x10c]
mov dword [edi], ecx
mov edx, dword [eax + 4]
mov dword [edi + 4], edx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x16c]
mov edx, dword [eax + 4]
mov dword [ecx + 0x10], edx
mov edx, dword [eax + 0xc]
mov ebx, edx
mov ebp, dword [eax + 0x10]
xor esi, esi
jmp 0x517065
lea eax, [0x5d3200]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635a88]
mov dword [eax], ecx
mov ecx, dword [0x776370]
test ecx, ecx
jne 0x516977
mov ecx, dword [esp + 0x118]
jmp 0x51698b
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x118]
mov dword [edi], ecx
mov ebx, dword [eax + 4]
mov dword [edi + 4], ebx
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x240]
mov ebx, dword [esp + 0x16c]
mov dword [esp], ebx
lea edx, [esp + 0x240]
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x118]
mov dword [ebx + 0x10], eax
mov eax, dword [0x776370]
test eax, eax
je 0x5169d1
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x164]
test eax, eax
jne 0x516cd3
lea eax, [0x5ccda0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x118]
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 8
mov edx, dword [0x776370]
test edx, edx
je 0x516a31
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x18]
mov dword [edi + 4], ebx
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
jmp 0x516f33
lea eax, [0x5ccf20]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
lea ecx, [0x5c4380]
mov dword [esp], ecx
mov edx, dword [esp + 0x2c0]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x2bc]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x635a50]
mov dword [eax], ecx
mov edx, dword [0x776370]
test edx, edx
jne 0x516aa8
mov ebx, dword [esp + 0x11c]
jmp 0x516abc
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x11c]
mov dword [edi], ebx
mov ebp, dword [eax + 4]
mov dword [edi + 4], ebp
mov dword [eax + 4], ebx
mov eax, dword [esp + 0x16c]
mov ebp, dword [eax + 0xc]
mov esi, ebp
mov edi, dword [eax + 0x10]
xor edx, edx
jmp 0x516beb
mov edx, dword [esp + 0x2bc]
lea edi, [esp + 0x28c]
xor eax, eax
call fcn.0046ac5b
mov ecx, dword [esp + 0x2ac]
mov dword [esp + 0x28c], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x290], ecx
mov dword [esp + 0x294], edx
lea ecx, [0x5f1405]
mov dword [esp + 0x298], ecx
mov dword [esp + 0x29c], 0x11
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x2d0], edx
mov dword [esp + 0x2d4], ecx
add esp, 0x2a4
ret
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2d4], ecx
add esp, 0x2a4
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x2c8], ecx
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 0
add esp, 0x2a4
ret
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc edx
cmp edx, edi
jge 0x516c04
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0x49
jne 0x516be0
shl edx, 4
lea ebp, [esi + edx]
jmp 0x516c06
xor ebp, ebp
test ebp, ebp
je 0x516c0f
mov ebp, dword [ebp + 4]
jmp 0x516c11
xor ebp, ebp
test ebp, ebp
je 0x516c63
mov ecx, dword [esp + 0x240]
mov dword [esp], eax
lea edx, [esp + 0x240]
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x11c]
mov dword [ebx + 0x10], eax
mov eax, dword [0x776370]
test eax, eax
je 0x516c51
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x16c]
lea ecx, [0x635a50]
jmp 0x516cbc
lea eax, [0x5c8420]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
lea ecx, [0x635af8]
mov edx, dword [esp + 0x11c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x776370]
test ecx, ecx
je 0x516caa
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [edx + 0x14]
mov dword [edi + 4], ecx
mov dword [edx + 0x14], eax
mov eax, dword [esp + 0x16c]
lea ecx, [0x635a50]
mov ebx, edx
mov edx, dword [esp + 0x164]
test edx, edx
jne 0x516cd3
mov edx, dword [eax + 0xc]
mov ebp, edx
mov eax, dword [eax + 0x10]
xor esi, esi
jmp 0x516d50
lea eax, [0x5c4380]
mov dword [esp], eax
mov eax, dword [esp + 0x2c0]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2bc]
mov dword [esp + 8], eax
call sym.runtime.mapdelete_fast32
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x2c8], 0
mov dword [esp + 0x2cc], 0
mov dword [esp + 0x2d0], eax
mov dword [esp + 0x2d4], ecx
movzx eax, byte [esp + 0x22]
test al, 1
je 0x516d45
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x2a0]
mov eax, dword [edx]
call eax
add esp, 0x2a4
ret
lea edx, [edi + 0x10]
inc esi
cmp esi, eax
jge 0x516d63
mov edi, edx
cmp dword [edx], 0xb
jne 0x516d4c
shl esi, 4
lea eax, [esi + ebp]
jmp 0x516d65
xor eax, eax
test eax, eax
je 0x516d71
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x516d75
xor edx, edx
xor eax, eax
lea ebp, [0x5c2d40]
cmp edx, ebp
jne 0x516d86
mov edx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x516d90
mov eax, 0
mov edx, 0
mov dword [esp + 0x100], ebx
mov dword [esp + 0x30], ecx
jne 0x516da8
mov ebp, edx
mov edx, eax
mov eax, ebp
jmp 0x516ea1
test ecx, ecx
je 0x516e97
mov eax, dword [ecx + 8]
cmp eax, 0x5d34b551
jne 0x516e6c
lea eax, [0x635890]
cmp ecx, eax
jne 0x516e8b
mov eax, dword [esp + 0x108]
mov edx, dword [eax + 8]
mov ebp, dword [eax + 4]
inc ebp
mov esi, dword [eax]
cmp edx, ebp
jae 0x516e41
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5d2d80]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x108]
mov dword [ebx + 8], eax
mov eax, dword [0x776370]
test eax, eax
je 0x516e2e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, dword [esp + 0x100]
mov ebp, edx
mov esi, ecx
mov ecx, dword [esp + 0x30]
mov dword [eax + 4], ebp
mov eax, dword [0x776370]
test eax, eax
je 0x516e5c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov eax, dword [esi + ebp*4 - 4]
mov dword [edi + 4], eax
mov dword [esi + ebp*4 - 4], ebx
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x516ea1
cmp eax, 0x79681ecd
jne 0x516e8b
lea eax, [0x635a50]
cmp ecx, eax
jne 0x516e8b
mov eax, dword [esp + 0x94]
mov edx, eax
sar edx, 0x1f
jmp 0x516ea1
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x516ea1
mov edx, 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], eax
mov ebp, dword [ecx + 0x10]
mov dword [esp], ebx
call ebp
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x8c]
mov dword [eax], ecx
mov ecx, dword [esp + 0x90]
mov dword [eax + 4], ecx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c8], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x2cc], eax
mov dword [esp + 0x2d0], 0
mov dword [esp + 0x2d4], 0
movzx eax, byte [esp + 0x22]
test al, 1
je 0x516f19
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x2a0]
mov eax, dword [edx]
call eax
add esp, 0x2a4
ret
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
test eax, eax
je 0x517048
mov ecx, dword [eax + 4]
cmp ecx, 5
je 0x516f70
cmp ecx, 0x18
jne 0x516f20
lea eax, [0x5c8780]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 0xc], 0
mov dword [eax + 8], 0
lea ecx, [0x635bf4]
jmp 0x516f9a
mov ecx, dword [esp + 0x240]
mov dword [esp], eax
lea edx, [esp + 0x240]
call ecx
mov eax, dword [esp + 0x164]
test eax, eax
jne 0x516cd3
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x118]
mov ebp, dword [ebx + 0x20]
mov esi, dword [ebx + 0x1c]
inc esi
mov edi, dword [ebx + 0x18]
cmp ebp, esi
jae 0x51701b
mov dword [esp + 0x34], ecx
mov dword [esp + 0x104], eax
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5ccda0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x118]
mov dword [ebx + 0x20], eax
mov eax, dword [0x776370]
test eax, eax
je 0x517009
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x18]
mov dword [edi + 4], eax
mov dword [ebx + 0x18], ecx
mov eax, dword [esp + 0x104]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x34]
mov dword [ebx + 0x1c], esi
lea ebp, [edi + esi*8 - 8]
mov dword [ebp], ecx
mov ecx, dword [0x776370]
lea ebp, [edi + esi*8 - 4]
test ecx, ecx
je 0x517040
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp]
mov dword [edi + 4], ecx
mov dword [ebp], eax
jmp 0x516f20
mov eax, dword [esp + 0x16c]
lea ecx, [0x635a88]
mov ebx, dword [esp + 0x118]
jmp 0x516cbc
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x517078
mov edi, edx
cmp dword [edx], 3
jne 0x517061
shl esi, 4
lea edx, [esi + ebx]
jmp 0x51707a
xor edx, edx
test edx, edx
je 0x517086
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x51708a
xor ebx, ebx
xor edx, edx
lea ebp, [0x5c2b80]
cmp ebx, ebp
jne 0x51709b
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x51709f
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0xc], edx
mov edx, dword [0x776370]
test edx, edx
je 0x5170b9
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 8]
mov dword [edi + 4], edx
mov dword [ecx + 8], ebx
lea ecx, [0x63601c]
mov ebx, dword [esp + 0x10c]
jmp 0x516cbc
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x5170e5
mov edi, edx
cmp dword [edx], 3
jne 0x5170ce
shl esi, 4
lea edx, [esi + ebx]
jmp 0x5170e7
xor edx, edx
test edx, edx
je 0x5170f3
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x5170f7
xor ebx, ebx
xor edx, edx
lea ebp, [0x5c2b80]
cmp ebx, ebp
jne 0x517108
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x51710c
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0x14], edx
mov edx, dword [0x776370]
test edx, edx
je 0x517126
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 0x10]
mov dword [edi + 4], edx
mov dword [ecx + 0x10], ebx
mov edx, dword [eax + 0xc]
mov ebx, edx
mov esi, dword [eax + 0x10]
xor edi, edi
jmp 0x517140
mov edx, dword [esp + 0xbc]
add edx, 0x10
inc edi
cmp edi, esi
jge 0x517158
mov dword [esp + 0xbc], edx
cmp dword [edx], 0x3c
jne 0x517135
shl edi, 4
lea edx, [edi + ebx]
jmp 0x51715a
xor edx, edx
test edx, edx
je 0x517163
mov edx, dword [edx + 4]
jmp 0x517165
xor edx, edx
test edx, edx
setne al
mov byte [ecx + 0x2c], al
lea eax, [0x5c5a40]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x128]
mov dword [ecx + 0x24], 0
mov dword [ecx + 0x28], 8
mov edx, dword [0x776370]
test edx, edx
je 0x5171bb
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x20]
mov dword [edi + 4], ebx
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x517236
mov dword [esp + 0xb8], edi
mov dword [esp + 0xb4], esi
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xac], edx
mov dword [esp + 0x134], ecx
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xb8]
mov esi, dword [esp + 0xb4]
mov dword [esp + 0x134], ecx
test eax, eax
je 0x5178ca
cmp dword [eax + 4], 0xd
je 0x517255
mov edi, ebp
mov eax, ebx
mov ebx, edx
mov edx, eax
jmp 0x5171dd
mov dword [esp + 0x44], edx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x13c], eax
lea eax, [0x5de120]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
lea edx, [esp + 0x240]
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x160]
mov dword [edx + 8], eax
mov eax, dword [0x776370]
test eax, eax
je 0x5172c8
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], ecx
mov ecx, dword [esp + 0x164]
test ecx, ecx
jne 0x516cd3
mov ecx, dword [esp + 0x13c]
mov ebx, dword [ecx + 0xc]
mov ebp, ebx
mov eax, dword [ecx + 0x10]
xor esi, esi
jmp 0x517a6e
shl esi, 4
lea ebx, [ebp + esi]
jmp 0x5172fb
xor ebx, ebx
test ebx, ebx
je 0x517307
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x51730b
xor ebp, ebp
xor ebx, ebx
test ebp, ebp
je 0x517550
mov eax, dword [ebp + 8]
cmp eax, 0x81044065
jne 0x517526
mov eax, ecx
lea ecx, [0x5bd6c0]
cmp ebp, ecx
jne 0x51751e
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.0046ac53
mov ecx, dword [esp + 0x2a8]
mov dword [esp + 0xcc], ecx
mov edi, dword [ecx + 0x98]
mov ecx, dword [ecx + 0x9c]
mov dword [esp + 0xd0], edi
mov dword [esp + 0xd4], ecx
lea ecx, [0x635fe4]
mov dword [esp + 0xd8], ecx
lea ecx, [0x776180]
mov dword [esp + 0xdc], ecx
lea ecx, [0x5edf3d]
mov dword [esp + 0xe0], ecx
mov dword [esp + 0xe4], 8
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], ebp
mov dword [esp + 0xf0], esi
mov dword [esp + 0xf4], ebx
mov dword [esp + 0xf8], 0
mov dword [esp + 0xfc], 0
lea edi, [esp + 0x174]
lea esi, [esp + 0xcc]
call fcn.0046b0ee
mov ecx, dword [esp + 0x198]
test ecx, ecx
jne 0x5174c9
mov ebx, dword [esp + 0x1a0]
nop
test ebx, ebx
jne 0x5174c5
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x194], 0
lea edi, [esp + 0x1dc]
call fcn.0046ac5b
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
mov dword [esp + 0x1dc], ecx
mov dword [esp + 0x1e0], edx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x1e4], ecx
lea ecx, [0x5ee4e8]
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1ec], 9
lea edi, [esp + 0x28c]
lea esi, [esp + 0x1dc]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea edx, [esp + 0x28c]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], ecx
xor eax, eax
mov edx, dword [esp + 0x160]
xor ebx, ebx
jmp 0x517508
mov ebx, dword [esp + 0x194]
mov ebp, dword [esp + 0x19c]
dec ebp
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, 1
add ebp, ebx
dec ecx
movzx ebx, byte [ebx]
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], esi
mov dword [esp + 0x194], ebp
inc dword [esp + 0x190]
cmp bl, 0x23
jne 0x517a82
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x517c86
lea ecx, [0x5c2d40]
jmp 0x517558
cmp eax, 0x99d6dd43
jne 0x517546
mov eax, ecx
lea ecx, [0x5c2d40]
cmp ebp, ecx
jne 0x517558
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [edx + 0x10], ebp
mov dword [edx + 0x14], ebx
jmp 0x517558
mov eax, ecx
lea ecx, [0x5c2d40]
jmp 0x517558
mov eax, ecx
lea ecx, [0x5c2d40]
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov esi, dword [eax + 0x10]
xor edi, edi
jmp 0x517b26
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x517571
xor ebx, ebx
test ebx, ebx
je 0x51757d
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x517581
xor ebp, ebp
xor ebx, ebx
lea ecx, [0x5c2b80]
cmp ebp, ecx
jne 0x517592
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x517596
xor ebx, ebx
xor ebp, ebp
mov dword [edx + 4], ebx
mov ebx, dword [0x776370]
test ebx, ebx
je 0x5175af
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [edx]
mov dword [edi + 4], ebx
mov dword [edx], ebp
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov esi, dword [eax + 0x10]
xor edi, edi
jmp 0x517b4a
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x5175ca
xor ebx, ebx
test ebx, ebx
je 0x5175d6
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x5175da
xor ebp, ebp
xor ebx, ebx
lea ecx, [0x5c2d40]
cmp ebp, ecx
jne 0x5175eb
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x5175ef
xor ebx, ebx
xor ebp, ebp
mov dword [edx + 0x18], ebp
mov dword [edx + 0x1c], ebx
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov esi, dword [eax + 0x10]
xor edi, edi
jmp 0x517b6e
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x51760e
xor ebx, ebx
test ebx, ebx
je 0x51761a
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x51761e
xor ebp, ebp
xor ebx, ebx
cmp ebp, ecx
jne 0x517629
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x51762d
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x24], ebp
mov dword [edx + 0x20], esi
mov dword [edx + 0x24], ebx
mov ebx, dword [eax + 0xc]
mov esi, ebx
mov edi, dword [eax + 0x10]
xor ecx, ecx
mov dword [esp + 0x54], ecx
lea ecx, [0x5c2d40]
jmp 0x517b9a
shl ebp, 4
lea ebx, [ebp + esi]
jmp 0x51765b
xor ebx, ebx
test ebx, ebx
je 0x517667
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x51766b
xor ebp, ebp
xor ebx, ebx
cmp ebp, ecx
jne 0x51767e
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edi, ebp
mov ebp, dword [esp + 0x24]
cmp ebp, ecx
jmp 0x517692
mov ebx, ebp
mov ebp, dword [esp + 0x24]
cmp ebp, ecx
mov edi, ebx
mov ebx, 0
mov esi, 0
mov dword [edx + 0x28], esi
mov dword [edx + 0x2c], ebx
jne 0x5176a2
cmp edi, ecx
je 0x517bb7
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov eax, dword [eax + 0x10]
xor esi, esi
jmp 0x517c56
shl esi, 4
lea eax, [esi + ebp]
jmp 0x5176bb
xor eax, eax
test eax, eax
je 0x5176c7
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x5176cb
xor ebx, ebx
xor eax, eax
cmp ebx, ecx
jne 0x5176d6
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x5176da
xor eax, eax
xor ebx, ebx
mov dword [edx + 0x30], ebx
mov dword [edx + 0x34], eax
mov eax, dword [esp + 0x128]
mov ebx, dword [eax + 0x28]
mov ebp, dword [eax + 0x24]
inc ebp
mov esi, dword [eax + 0x20]
cmp ebx, ebp
jae 0x51775a
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5c5a40]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x128]
mov dword [ebx + 0x28], eax
mov eax, dword [0x776370]
test eax, eax
je 0x517744
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x20]
mov dword [edi + 4], eax
mov dword [ebx + 0x20], ecx
mov eax, ebx
mov ebp, edx
mov esi, ecx
lea ecx, [0x5c2d40]
mov edx, dword [esp + 0x160]
mov dword [eax + 0x24], ebp
mov ebx, dword [0x776370]
mov edi, dword [esp + 0x48]
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
mov ecx, dword [esp + 0x4c]
test ecx, ecx
sete cl
and ecx, edi
test ebx, ebx
je 0x51778d
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov ebx, dword [esi + ebp*4 - 4]
mov dword [edi + 4], ebx
mov dword [esi + ebp*4 - 4], edx
test cl, cl
je 0x5178af
mov ecx, dword [esp + 0x40]
cmp dword [edx + 0x10], ecx
sete cl
mov ebx, dword [esp + 0x44]
cmp dword [edx + 0x14], ebx
sete bl
and ebx, ecx
test bl, bl
je 0x5178af
cmp dword [eax + 0x1c], 5
jne 0x5177d2
mov ecx, dword [eax + 0x18]
cmp dword [ecx], 0x6f696e75
jne 0x5177d2
cmp byte [ecx + 4], 0x6e
je 0x5178af
mov ecx, dword [esp + 0x134]
test ecx, ecx
je 0x5178a6
lea ebx, [0x635a6c]
cmp dword [ecx], ebx
jne 0x51789d
mov ebp, dword [esp + 0x108]
mov esi, dword [ebp + 0x14]
mov edi, dword [ebp + 0x10]
inc edi
mov ebx, dword [ebp + 0xc]
cmp esi, edi
jae 0x517871
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5b8340]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x108]
mov dword [ebx + 0x14], eax
mov eax, dword [0x776370]
test eax, eax
je 0x517853
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov dword [ebx + 0xc], ecx
mov eax, dword [esp + 0x128]
mov ebp, ebx
mov edi, edx
mov ebx, ecx
mov ecx, dword [esp + 0x134]
mov edx, dword [esp + 0x160]
mov dword [ebp + 0x10], edi
mov esi, dword [0x776370]
test esi, esi
je 0x517897
mov esi, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebp, dword [ebx + esi*4 - 4]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0x108]
mov edi, esi
mov dword [ebx + edi*4 - 4], ecx
jmp 0x5178b6
mov ebp, dword [esp + 0x108]
jmp 0x5178b6
mov ebp, dword [esp + 0x108]
jmp 0x5178b6
mov ebp, dword [esp + 0x108]
lea ecx, [edx + 8]
mov edi, dword [edx + 0x10]
mov ebx, dword [edx + 0x14]
mov esi, dword [edx + 0x30]
mov edx, dword [edx + 0x34]
jmp 0x5171dd
mov eax, dword [esp + 0x128]
cmp dword [eax + 0x1c], 5
jne 0x5178e8
mov ebx, dword [eax + 0x18]
cmp dword [ebx], 0x6f696e75
jne 0x5178e8
cmp byte [ebx + 4], 0x6e
je 0x517906
mov ebx, dword [esp + 0x16c]
mov esi, dword [ebx + 0xc]
mov edi, esi
mov ebx, dword [ebx + 0x10]
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0x50], eax
jmp 0x517932
mov eax, dword [esp + 0x16c]
lea ecx, [0x635aa4]
mov ebx, dword [esp + 0x128]
jmp 0x516cbc
mov esi, eax
mov eax, dword [esp + 0xbc]
add eax, 0x10
inc esi
mov dword [esp + 0x50], esi
mov esi, eax
mov eax, dword [esp + 0x50]
cmp eax, ebx
jge 0x51794d
mov dword [esp + 0xbc], esi
cmp dword [esi], 0xb
jne 0x51791f
shl eax, 4
add eax, edi
jmp 0x51794f
xor eax, eax
test eax, eax
je 0x51795b
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x51795f
xor ebx, ebx
xor eax, eax
lea esi, [0x5c2d40]
cmp ebx, esi
jne 0x517970
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x51797a
mov eax, 0
mov ebx, 0
jne 0x517a57
cmp ebx, ebp
sete bl
cmp eax, edx
sete al
and eax, ebx
test al, al
je 0x517a57
test ecx, ecx
je 0x517a4e
lea eax, [0x635a6c]
cmp dword [ecx], eax
jne 0x517a45
mov eax, dword [esp + 0x108]
mov edx, dword [eax + 0x14]
mov ebx, dword [eax + 0x10]
inc ebx
mov ebp, dword [eax + 0xc]
cmp edx, ebx
jae 0x517a24
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5b8340]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x108]
mov dword [ebx + 0x14], eax
mov eax, dword [0x776370]
test eax, eax
je 0x517a0e
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0xc]
mov dword [edi + 4], eax
mov dword [ebx + 0xc], ecx
mov eax, ebx
lea esi, [0x5c2d40]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x134]
mov dword [eax + 0x10], ebx
mov edx, dword [0x776370]
test edx, edx
je 0x517a3f
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], edx
mov dword [ebp + ebx*4 - 4], ecx
jmp 0x517a5e
mov eax, dword [esp + 0x108]
jmp 0x517a5e
mov eax, dword [esp + 0x108]
jmp 0x517a5e
mov eax, dword [esp + 0x108]
mov eax, dword [esp + 0x128]
jmp 0x517906
lea ebx, [edi + 0x10]
inc esi
cmp esi, eax
jge 0x5172f9
mov edi, ebx
cmp dword [ebx], 0x38
jne 0x517a6a
jmp 0x5172f0
lea edi, [esp + 0x1c8]
call fcn.0046ac5b
mov ecx, dword [esp + 0x2ac]
mov dword [esp + 0x1c8], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x1cc], ecx
mov ecx, dword [esp + 0x13c]
mov ecx, dword [ecx]
mov dword [esp + 0x1d0], ecx
lea ecx, [0x5f1416]
mov dword [esp + 0x1d4], ecx
mov dword [esp + 0x1d8], 0x11
lea edi, [esp + 0x28c]
lea esi, [esp + 0x1c8]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x516cd3
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x51756f
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 3
jne 0x517b1b
jmp 0x517567
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x5175c8
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0xb
jne 0x517b3f
jmp 0x5175c0
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x51760c
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0xc
jne 0x517b63
jmp 0x517604
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc ebp
mov dword [esp + 0x54], ebp
mov ebp, dword [esp + 0x24]
mov ebp, dword [esp + 0x54]
cmp ebp, edi
jge 0x517659
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0x6b
jne 0x517b87
jmp 0x517650
lea edi, [esp + 0x1b4]
xor eax, eax
call fcn.0046ac5b
mov ecx, dword [esp + 0x2ac]
mov dword [esp + 0x1b4], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0x1bc], ecx
lea ecx, [0x5f72aa]
mov dword [esp + 0x1c0], ecx
mov dword [esp + 0x1c4], 0x1f
lea edi, [esp + 0x28c]
lea esi, [esp + 0x1b4]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x516cd3
lea ebx, [edi + 0x10]
inc esi
cmp esi, eax
jge 0x5176b9
mov edi, ebx
cmp dword [ebx], 0xd
jne 0x517c52
jmp 0x5176b1
mov ecx, dword [esp + 0x58]
inc ecx
mov edx, dword [esp + 0x88]
lea ebx, [edx + 7]
mov edx, dword [esp + 0x160]
mov ebp, edi
mov esi, eax
xor eax, eax
mov edi, ebp
lea ebp, [esp + 0x174]
cmp dword [ebp + 0x24], ecx
jle 0x517d81
mov dword [esp + 0x58], ecx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x194]
movzx eax, byte [eax + ecx]
mov byte [esp + 0x21], al
and eax, 0x7f
mov dword [esp + 0xb8], eax
mov ecx, ebx
shl eax, cl
lea edx, [ecx - 0x20]
mov ecx, edx
mov ebp, dword [esp + 0xb8]
shl ebp, cl
mov dword [esp + 0xb4], ebp
neg ecx
mov ebp, dword [esp + 0xb8]
shr ebp, cl
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
or edi, eax
cmp ecx, 0x20
sbb ebx, ebx
and ebp, ebx
cmp edx, 0x20
sbb ebx, ebx
mov eax, ebp
mov ebp, dword [esp + 0xb4]
and ebx, ebp
or eax, ebx
or eax, esi
movzx ebx, byte [esp + 0x21]
test bl, 0x80
jne 0x517c6a
mov ebx, dword [esp + 0x190]
mov ebp, dword [esp + 0x58]
lea ebx, [ebp + ebx + 1]
mov dword [esp + 0x190], ebx
mov ecx, dword [esp + 0x198]
lea ebx, [ebp + 1]
cmp ecx, ebx
jb 0x517dc2
mov edx, dword [esp + 0x194]
mov esi, dword [esp + 0x19c]
sub ecx, ebp
sub esi, ebp
lea ebp, [esi - 1]
dec ecx
mov dword [esp + 0x198], ecx
mov dword [esp + 0x19c], ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, ebx
lea ecx, [ebp + edx]
mov dword [esp + 0x194], ecx
mov edx, dword [esp + 0x160]
mov ecx, eax
xor eax, eax
jmp 0x517d85
xor edi, edi
xor ecx, ecx
mov dword [edx + 0x10], edi
mov dword [edx + 0x14], ecx
mov ecx, dword [esp + 0x1a0]
test ecx, ecx
jne 0x517da8
mov eax, dword [esp + 0x13c]
lea ecx, [0x5c2d40]
jmp 0x517558
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
jmp 0x516cd3
mov eax, ebx
call sym.runtime.panicSliceB
lea ecx, [edi + 0x10]
inc edx
cmp edx, esi
jge 0x517de1
mov edi, ecx
cmp dword [ecx], 0x2e
jne 0x517dc9
shl edx, 4
lea ecx, [ebp + edx]
jmp 0x517de3
xor ecx, ecx
test ecx, ecx
je 0x517def
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x517df3
xor ebp, ebp
xor ecx, ecx
lea esi, [0x5c2d40]
cmp ebp, esi
jne 0x517e04
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x517e08
xor ecx, ecx
xor ebp, ebp
mov dword [ebx + 0x18], ebp
mov dword [ebx + 0x1c], ecx
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x517e65
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
mov ecx, dword [esp + 0x1ac]
mov ebx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
mov ecx, ebp
mov edx, ebx
mov ebx, dword [esp + 0x1ac]
test eax, eax
je 0x517f3a
mov ebp, dword [eax + 4]
cmp ebp, 4
je 0x517e98
cmp ebp, 0x21
jne 0x517e29
mov dword [esp + 0x170], ebx
mov ebp, dword [eax + 0xc]
mov esi, ebp
mov eax, dword [eax + 0x10]
mov edi, ebp
xor ebp, ebp
mov dword [esp + 0x70], ebp
mov ebp, edi
jmp 0x518061
mov dword [esp + 0x140], eax
lea edi, [esp + 0x22c]
xor eax, eax
call fcn.0046ac5b
mov ecx, dword [esp + 0x2ac]
mov dword [esp + 0x22c], ecx
mov ecx, dword [esp + 0x2b0]
mov dword [esp + 0x230], ecx
mov ecx, dword [esp + 0x140]
mov ecx, dword [ecx]
mov dword [esp + 0x234], ecx
lea ecx, [0x5fb9a3]
mov dword [esp + 0x238], ecx
mov dword [esp + 0x23c], 0x2d
lea edi, [esp + 0x28c]
lea esi, [esp + 0x22c]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x516cd3
test ecx, ecx
jne 0x517f76
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0xc4], 0xffffffff
mov ecx, 1
lea ebx, [esp + 0xc0]
test ecx, ecx
jbe 0x518042
mov dword [esp + 0x170], ebx
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
mov ebp, dword [esp + 0x12c]
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
lea eax, [ecx - 1]
jmp 0x517fab
mov dword [ecx + 0x14], eax
lea eax, [ebp - 1]
mov ebx, dword [esp + 0x170]
mov ebp, ecx
test eax, eax
jle 0x51802e
mov dword [esp + 0x74], eax
lea eax, [0x5d7a00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x12c]
mov edx, dword [ecx + 0x10]
mov ebx, dword [ecx + 0x14]
mov dword [eax + 0x10], edx
mov edx, dword [0x776370]
mov ebp, dword [esp + 0x74]
mov esi, dword [esp + 0x170]
lea edi, [esi + ebp*8]
lea esi, [esi + ebp*8 + 4]
test edx, edx
je 0x517ffc
mov edx, edi
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
mov edi, edx
mov dword [eax + 0x14], ebx
mov edx, dword [esi]
mov ebx, dword [edi]
mov dword [eax + 0x20], ebx
mov dword [eax + 0x24], edx
lea edx, [0x635a6c]
mov dword [ecx + 0x10], edx
mov ebx, dword [0x776370]
test ebx, ebx
je 0x517f9c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x14]
mov dword [edi + 4], ebx
jmp 0x517f9c
mov eax, dword [esp + 0x16c]
lea ecx, [0x635a6c]
mov ebx, ebp
jmp 0x516cbc
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc ebx
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x170]
mov ebx, dword [esp + 0x70]
cmp ebx, eax
jge 0x51807d
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0x37
jne 0x51804b
shl ebx, 4
add ebx, esi
jmp 0x51807f
xor ebx, ebx
test ebx, ebx
je 0x51808b
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x51808f
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1b0], esi
lea esi, [0x5c2d40]
cmp ebp, esi
jne 0x5180a7
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x5180b1
mov ebx, 0
mov ebp, 0
je 0x5180b7
xor ebx, ebx
jmp 0x518130
lea eax, [ecx + 1]
cmp edx, eax
jb 0x5180c7
mov ecx, dword [esp + 0x170]
jmp 0x51811a
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], ebp
mov ecx, dword [esp + 0x170]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], esi
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x80]
lea esi, [0x5c2d40]
mov ecx, ebx
mov ebx, dword [esp + 0x84]
lea edi, [ecx + eax*8 - 8]
mov dword [edi], ebp
mov dword [edi + 4], ebx
mov ebx, ecx
mov ecx, eax
jmp 0x517e29
lea edi, [ebp + 0x10]
inc ebx
cmp ebx, eax
jge 0x518149
mov ebp, edi
cmp dword [edi], 0x2f
jne 0x51812c
shl ebx, 4
mov eax, dword [esp + 0x1b0]
add eax, ebx
jmp 0x51814b
xor eax, eax
test eax, eax
je 0x518157
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x51815b
xor ebx, ebx
xor eax, eax
cmp ebx, esi
jne 0x518166
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x518170
mov eax, 0
mov ebx, 0
jne 0x51817a
add ebx, 1
adc eax, 0
jmp 0x518188
test ecx, ecx
jne 0x518188
mov eax, 0xffffffff
mov ebx, 0xffffffff
mov ebp, ebx
mov ebx, eax
jmp 0x5180b7
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x5181a8
mov edi, edx
cmp dword [edx], 3
jne 0x518191
shl esi, 4
lea edx, [esi + ebx]
jmp 0x5181aa
xor edx, edx
test edx, edx
je 0x5181b6
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x5181ba
xor ebx, ebx
xor edx, edx
lea ebp, [0x5c2b80]
cmp ebx, ebp
jne 0x5181cb
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x5181cf
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0x14], edx
mov edx, dword [0x776370]
test edx, edx
je 0x5181e9
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 0x10]
mov dword [edi + 4], edx
mov dword [ecx + 0x10], ebx
lea eax, [0x5b83c0]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 8
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x120]
mov dword [ecx + 0x1c], 0
mov dword [ecx + 0x20], 8
mov edx, dword [0x776370]
test edx, edx
je 0x51823a
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x18]
mov dword [edi + 4], ebx
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
jmp 0x518265
mov eax, dword [esp + 0x264]
lea edx, [esp + 0x264]
call eax
mov eax, dword [esp]
test eax, eax
je 0x51842c
cmp dword [eax + 4], 0x28
jne 0x518252
mov dword [esp + 0x138], eax
lea eax, [0x5ccec0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x138]
mov ecx, dword [eax + 0xc]
mov edx, ecx
mov ebx, dword [eax + 0x10]
xor ebp, ebp
jmp 0x518449
shl ebp, 4
lea ebx, [ebp + edx]
jmp 0x5182a9
xor ebx, ebx
test ebx, ebx
je 0x5182b5
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x5182b9
xor ebp, ebp
xor ebx, ebx
lea esi, [0x5c2b80]
cmp ebp, esi
jne 0x5182ca
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x5182ce
xor ebx, ebx
xor ebp, ebp
mov edi, dword [esp + 4]
mov dword [edi + 4], ebx
mov ebx, dword [0x776370]
test ebx, ebx
je 0x5182ea
mov ecx, edi
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
mov edi, ecx
mov dword [edi], ebp
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov eax, dword [eax + 0x10]
xor ecx, ecx
jmp 0x518461
shl ecx, 4
lea ebx, [ebp + ecx]
jmp 0x518306
xor ebx, ebx
test ebx, ebx
je 0x518312
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x518316
xor ebp, ebp
xor ebx, ebx
lea esi, [0x5c2d40]
cmp ebp, esi
jne 0x518327
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x51832b
xor ebx, ebx
xor ebp, ebp
mov dword [edi + 8], ebp
mov dword [edi + 0xc], ebx
mov ebx, dword [esp + 0x120]
mov eax, dword [ebx + 0x1c]
cmp dword [ebx + 0x20], eax
jg 0x5183f3
mov dword [esp + 0x28], eax
mov dword [esp + 0x15c], edi
lea ecx, [0x5b83c0]
mov dword [esp], ecx
mov dword [esp + 4], eax
shl eax, 1
mov dword [esp + 0x2c], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x1a8], eax
mov ecx, dword [esp + 0x120]
mov edx, dword [ecx + 0x18]
mov ebx, dword [ecx + 0x1c]
lea ebp, [0x5b83c0]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov esi, dword [esp + 0x28]
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call sym.runtime.typedslicecopy
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x120]
mov dword [ecx + 0x1c], eax
mov edx, dword [esp + 0x2c]
mov dword [ecx + 0x20], edx
mov edx, dword [0x776370]
test edx, edx
jne 0x5183cd
mov ebx, dword [esp + 0x1a8]
jmp 0x5183e1
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x1a8]
mov dword [edi], ebx
mov ebp, dword [ecx + 0x18]
mov dword [edi + 4], ebp
mov dword [ecx + 0x18], ebx
mov ebx, ecx
lea esi, [0x5c2d40]
mov edi, dword [esp + 0x15c]
mov edx, dword [ebx + 0x20]
lea ecx, [eax + 1]
cmp edx, ecx
jb 0x51847a
mov dword [ebx + 0x1c], ecx
cmp eax, ecx
jae 0x518475
mov ecx, dword [0x776370]
mov ebp, dword [ebx + 0x18]
test ecx, ecx
je 0x518423
mov ecx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov edx, dword [ebp + eax*4]
mov dword [edi + 4], edx
mov edi, ecx
mov dword [ebp + eax*4], edi
jmp 0x518252
mov eax, dword [esp + 0x16c]
lea ecx, [0x635b68]
mov ebx, dword [esp + 0x120]
jmp 0x516cbc
lea ecx, [esi + 0x10]
inc ebp
cmp ebp, ebx
jge 0x5182a7
mov esi, ecx
cmp dword [ecx], 3
jne 0x518445
jmp 0x51829e
lea ebx, [edx + 0x10]
inc ecx
cmp ecx, eax
jge 0x518304
mov edx, ebx
cmp dword [ebx], 0x1c
jne 0x51845d
jmp 0x5182fb
call sym.runtime.panicIndex
call sym.runtime.panicSliceAcap
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x518496
mov edi, edx
cmp dword [edx], 3
jne 0x51847f
shl esi, 4
lea edx, [esi + ebx]
jmp 0x518498
xor edx, edx
test edx, edx
je 0x5184a4
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x5184a8
xor ebx, ebx
xor edx, edx
lea ebp, [0x5c2b80]
cmp ebx, ebp
jne 0x5184b9
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x5184bd
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0xc], edx
mov edx, dword [0x776370]
test edx, edx
je 0x5184d7
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebx
mov edx, dword [ecx + 8]
mov dword [edi + 4], edx
mov dword [ecx + 8], ebx
lea ecx, [0x636000]
mov ebx, dword [esp + 0x110]
jmp 0x516cbc
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc edx
cmp edx, edi
jge 0x518510
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 3
jne 0x5184ec
shl edx, 4
lea ebp, [edx + esi]
jmp 0x518512
xor ebp, ebp
test ebp, ebp
je 0x51851e
mov esi, dword [ebp + 4]
mov ebp, dword [ebp + 8]
jmp 0x518522
xor esi, esi
xor ebp, ebp
lea edi, [0x5c2b80]
cmp esi, edi
jne 0x518534
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
jmp 0x518538
xor ebp, ebp
xor esi, esi
mov dword [ebx + 0xc], ebp
mov ebp, dword [0x776370]
test ebp, ebp
je 0x518552
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [ebx + 8]
mov dword [edi + 4], ebp
mov dword [ebx + 8], esi
mov ecx, dword [esp + 0x240]
mov dword [esp], eax
lea edx, [esp + 0x240]
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov ebx, dword [esp + 0x114]
mov dword [ebx + 0x10], eax
mov eax, dword [0x776370]
test eax, eax
je 0x518591
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx + 0x14]
mov dword [edi + 4], eax
mov dword [ebx + 0x14], ecx
mov eax, dword [esp + 0x16c]
lea ecx, [0x635890]
jmp 0x516cbc
mov edi, dword [esp + 0xa8]
add edi, 0x10
inc ecx
mov dword [esp + 0x6c], ecx
movzx ecx, byte [esp + 0x22]
mov ecx, dword [esp + 0x6c]
cmp ecx, esi
jge 0x5185de
mov dword [esp + 0xa8], edi
cmp dword [edi], 3
jne 0x5185a6
shl ecx, 4
mov edi, ebp
mov ebp, dword [esp + 0x1b0]
add ecx, ebp
jmp 0x5185ee
mov ebp, dword [esp + 0x1b0]
mov edi, dword [esp + 0x2bc]
xor ecx, ecx
test ecx, ecx
je 0x51860a
mov edi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0xc8], ecx
mov ecx, edi
mov edi, dword [esp + 0x2bc]
jmp 0x518617
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc8], eax
xor eax, eax
lea edx, [0x5c2b80]
cmp ecx, edx
jne 0x51862f
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x518633
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor eax, eax
mov dword [esp + 0x68], eax
xor eax, eax
jmp 0x518662
mov ecx, dword [esp + 0xbc]
add ecx, 0x10
inc ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x68]
cmp ebx, esi
jge 0x518684
mov ecx, dword [esp + 0xbc]
cmp dword [ecx], 0x3e
jne 0x518641
shl ebx, 4
lea ecx, [ebx + ebp]
mov ebx, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x518686
xor ebx, ebx
test ebx, ebx
je 0x518692
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x518696
xor ebp, ebp
xor ebx, ebx
mov esi, ecx
lea ecx, [0x5c2d40]
cmp ebp, ecx
jne 0x5186a9
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x5186b3
mov ebp, 0
mov ebx, 0
jne 0x51895d
mov dword [esp + 0x130], edx
test ebx, ebx
sete bl
setl cl
cmp ebp, 4
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x5187f6
cmp ebp, 2
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x518760
cmp ebp, 1
sete cl
and ecx, ebx
test cl, cl
jne 0x518738
cmp ebp, 2
sete cl
and ecx, ebx
test cl, cl
je 0x5188aa
lea eax, [0x5c84e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635b30]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
lea eax, [0x5c8480]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635b14]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
cmp ebp, 3
sete cl
and ecx, ebx
test cl, cl
je 0x5187ce
lea eax, [0x5c8540]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x3c]
cmp eax, 7
jne 0x5187c2
mov ecx, dword [esp + 0x130]
cmp dword [ecx], 0x706d6f63
jne 0x518d1c
cmp word [ecx + 4], 0x656c
jne 0x518d1c
cmp byte [ecx + 6], 0x78
jne 0x518d1c
mov edx, dword [esp + 0x16c]
mov ebx, dword [edx + 0xc]
mov ebp, ebx
mov esi, dword [edx + 0x10]
xor edi, edi
jmp 0x518d3c
mov ecx, dword [esp + 0x130]
jmp 0x518d1c
lea eax, [0x5c85a0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635b84]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
cmp ebp, 6
xchg edi, ebx
setbe bl
xchg edi, ebx
and edi, ebx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
je 0x518866
cmp ebp, 5
sete cl
and ecx, ebx
test cl, cl
je 0x51883e
lea eax, [0x5c8600]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635adc]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
lea eax, [0x5c86c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635b4c]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
cmp ebp, 7
sete cl
and ecx, ebx
test cl, cl
jne 0x518935
cmp ebp, 8
sete cl
and ecx, ebx
test cl, cl
je 0x5188aa
lea eax, [0x5c8720]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635bbc]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
lea edi, [esp + 0x204]
call fcn.0046ac5b
mov dword [esp + 0x204], edx
mov dword [esp + 0x208], esi
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0x20c], ecx
lea ecx, [0x5f95b9]
mov dword [esp + 0x210], ecx
mov dword [esp + 0x214], 0x25
lea edi, [esp + 0x28c]
lea esi, [esp + 0x204]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x516cd3
lea eax, [0x5c8660]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x635ac0]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x518a0c
lea edi, [esp + 0x218]
call fcn.0046ac5b
mov dword [esp + 0x218], edx
mov dword [esp + 0x21c], esi
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0x220], ecx
mov dword [esp], 0
lea ecx, [0x5f728b]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x1f
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], esi
call sym.runtime.concatstring2
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x224], ecx
mov dword [esp + 0x228], edx
lea edi, [esp + 0x28c]
lea esi, [esp + 0x218]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x516cd3
mov dword [esp + 0x130], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x100], eax
lea ebp, [0x5c4380]
mov dword [esp], ebp
mov esi, dword [esp + 0x2c0]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x2bc]
mov dword [esp + 8], edi
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov dword [eax], ecx
mov edx, dword [0x776370]
test edx, edx
jne 0x518a63
mov edx, dword [esp + 0x100]
jmp 0x518a77
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x100]
mov dword [edi], edx
mov ebx, dword [eax + 4]
mov dword [edi + 4], ebx
mov dword [eax + 4], edx
test ecx, ecx
je 0x518d0e
mov eax, dword [ecx + 4]
lea edx, [0x730428]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov edx, dword [0x776370]
test edx, edx
jne 0x518ac8
mov edx, dword [esp + 0x130]
jmp 0x518adc
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x130]
mov dword [edi], edx
mov ebx, dword [eax + 8]
mov dword [edi + 4], ebx
mov dword [eax + 8], edx
mov ebx, dword [esp + 0x16c]
mov ebp, dword [ebx + 0xc]
mov esi, ebp
mov edi, dword [ebx + 0x10]
mov dword [esp + 0x98], eax
xor eax, eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x98]
jmp 0x518b17
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc ecx
mov dword [esp + 0x64], ecx
mov ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x64]
cmp ecx, edi
jge 0x518b33
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0xd
jne 0x518b04
shl ecx, 4
add ecx, esi
jmp 0x518b35
xor ecx, ecx
test ecx, ecx
je 0x518b41
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x518b45
xor ebp, ebp
xor ecx, ecx
mov esi, edx
lea edx, [0x5c2d40]
cmp ebp, edx
jne 0x518b58
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x518b5c
xor ecx, ecx
xor ebp, ebp
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ecx
mov ecx, dword [ebx + 0xc]
mov ebp, ecx
mov edi, dword [ebx + 0x10]
xor edx, edx
mov dword [esp + 0x60], edx
lea edx, [0x5c2d40]
jmp 0x518b8e
mov ecx, dword [esp + 0xbc]
add ecx, 0x10
inc ebx
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x16c]
mov ebx, dword [esp + 0x60]
cmp ebx, edi
jge 0x518baa
mov dword [esp + 0xbc], ecx
cmp dword [ecx], 0xc
jne 0x518b78
shl ebx, 4
lea ecx, [ebx + ebp]
jmp 0x518bac
xor ecx, ecx
test ecx, ecx
je 0x518bb8
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x518bbc
xor ebx, ebx
xor ecx, ecx
cmp ebx, edx
jne 0x518bc7
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x518bcb
xor ecx, ecx
xor ebp, ebp
mov dword [eax + 0x18], ebp
mov dword [eax + 0x1c], ecx
mov ecx, dword [esp + 0x16c]
mov ebp, dword [ecx + 0xc]
mov edi, ebp
mov esi, dword [ecx + 0x10]
xor edx, edx
mov dword [esp + 0x5c], edx
lea edx, [0x5c2d40]
jmp 0x518c04
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc ecx
mov dword [esp + 0x5c], ecx
mov ecx, dword [esp + 0x16c]
mov ecx, dword [esp + 0x5c]
cmp ecx, esi
jge 0x518c20
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0x6b
jne 0x518bee
shl ecx, 4
add ecx, edi
jmp 0x518c22
xor ecx, ecx
test ecx, ecx
je 0x518c2e
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x518c32
xor ebp, ebp
xor ecx, ecx
cmp ebp, edx
jne 0x518c3f
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ebx, edx
jmp 0x518c4b
cmp ebx, edx
mov ecx, 0
mov esi, 0
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ecx
jne 0x518cf7
cmp ebp, edx
jne 0x518cf7
lea edi, [esp + 0x1f0]
xor eax, eax
call fcn.0046ac5b
mov ecx, dword [esp + 0x130]
mov dword [esp + 0x1f0], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0x1f4], ecx
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0x1f8], ecx
lea ecx, [0x5f72aa]
mov dword [esp + 0x1fc], ecx
mov dword [esp + 0x200], 0x1f
lea edi, [esp + 0x28c]
lea esi, [esp + 0x1f0]
call fcn.0046b13e
lea ecx, [0x5d8c60]
mov dword [esp], ecx
lea ecx, [esp + 0x28c]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x634d34]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x516cd3
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x100]
jmp 0x516cbc
lea eax, [0x5c4400]
mov dword [esp], eax
call sym.runtime.panicnildottype
mov ebp, dword [esp + 4]
mov edx, ecx
mov ebx, eax
mov eax, ebp
lea ecx, [0x635ba0]
jmp 0x518a0c
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x518d54
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0xb
jne 0x518d31
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x518d56
xor ebx, ebx
test ebx, ebx
je 0x518d62
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x518d66
xor ebp, ebp
xor ebx, ebx
lea esi, [0x5c2d40]
cmp ebp, esi
jne 0x518d77
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x518d7b
xor ebx, ebx
xor ebp, ebp
test ebx, ebx
sete bl
cmp ebp, 8
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, ebx
xchg edi, eax
test al, al
xchg edi, eax
je 0x518da2
mov eax, 0xd
lea ecx, [0x5efd7f]
jmp 0x518d1c
cmp ebp, 0x10
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x518d1c
mov eax, 0xe
lea ecx, [0x5f0349]
jmp 0x518d1c
call sym.runtime.morestack_noctxt
jmp sym.debug_dwarf._Data_.readType