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

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x198]
cmp eax, dword [ecx + 8]
jbe 0x52a94a
sub esp, 0x218
mov eax, 0
mov dword [esp + 0x214], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x23c], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], 0
mov dword [esp + 0x248], 0
lea eax, [0x5ef580]
mov dword [esp], eax
mov ecx, dword [esp + 0x234]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x230]
mov dword [esp + 8], edx
call sym.runtime.mapaccess2_fast32
movzx eax, byte [esp + 0x10]
test al, al
jne 0x528738
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x22c]
mov dword [esp], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 4], ebx
call ecx
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x22c]
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 0x5286ff
mov dword [esp + 0x16c], edx
mov eax, dword [esp + 0x228]
mov ecx, dword [eax + 0xc]
mov edx, dword [esp + 0x22c]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x16c]
test ecx, ecx
je 0x52866f
mov edx, dword [esp + 0x230]
cmp dword [ecx], edx
jne 0x528676
mov ebx, dword [esp + 0x238]
test ebx, ebx
jne 0x527d63
lea edi, [esp + 0x144]
mov ebx, eax
mov eax, 0
call fcn.0046ffca
lea ecx, [sym.debug_dwarf._Data_.readType.func1]
mov dword [esp + 0x1f8], ecx
lea ecx, [esp + 0x144]
mov dword [esp + 0x1fc], ecx
lea ecx, [esp + 0x1f8]
mov dword [esp + 0x214], 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 + 0x1d8]
mov esi, eax
xor eax, eax
call fcn.0046ffc8
lea ecx, [sym.debug_dwarf._Data_.readType.func2]
mov dword [esp + 0x1d8], ecx
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x1dc], ecx
mov edi, edx
mov edx, dword [esp + 0x228]
mov dword [esp + 0x1e0], edx
mov ebp, dword [esp + 0x22c]
mov dword [esp + 0x1e4], ebp
lea ecx, [esp + 0x164]
mov dword [esp + 0x1e8], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x1f0], ecx
mov ebx, dword [esp + 0x220]
mov dword [esp + 0x1ec], ebx
lea ebp, [esp + 0x38]
mov dword [esp + 0x1f4], ebp
mov ebp, edi
lea edi, [esp + 0x1b4]
call fcn.0046ffc7
lea ecx, [sym.debug_dwarf._Data_.readType.func3]
mov dword [esp + 0x1b4], ecx
lea ecx, [esp + 0x164]
mov dword [esp + 0x1b8], ecx
mov ecx, dword [esp + 0x21c]
mov dword [esp + 0x1bc], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0x1c4], ecx
mov dword [esp + 0x1c0], ebx
mov dword [esp + 0x1c8], edx
mov edx, dword [esp + 0x22c]
mov dword [esp + 0x1cc], edx
mov edx, dword [esp + 0x234]
mov dword [esp + 0x1d0], edx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x1d4], 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 0x528175
cmp edi, 0x24
ja 0x527f6a
cmp edi, 0x16
je 0x527ee1
cmp edi, 0x17
je 0x528312
cmp edi, 0x24
jne 0x528426
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 0x52a130
lea eax, [0x5f92c0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x114], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66ee04]
mov dword [eax], ecx
mov edx, dword [0x7b12d0]
test edx, edx
jne 0x527f3d
mov ebx, dword [esp + 0x114]
jmp 0x527f51
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 0x52a06d
cmp edi, 0x35
ja 0x527f7e
cmp edi, 0x26
je 0x527f87
cmp edi, 0x35
je 0x527f87
jmp 0x528426
cmp edi, 0x37
jne 0x5280e3
lea eax, [0x5ffde0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x124], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66edec]
mov dword [eax], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x527fe3
mov ecx, dword [esp + 0x124]
jmp 0x527ff7
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 + 0x1b4]
mov ebx, dword [esp + 0x16c]
mov dword [esp], ebx
lea edx, [esp + 0x1b4]
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 [0x7b12d0]
test eax, eax
je 0x52803d
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 0x52885f
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 4]
cmp ecx, 0x26
jne 0x528084
mov dword [ebx + 0x14], 5
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x528079
mov ecx, dword [ebx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x61dc45]
mov dword [ebx + 0x10], ecx
jmp 0x5280d8
cmp ecx, 0x35
jne 0x5280af
mov dword [ebx + 0x14], 8
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5280a4
mov ecx, dword [ebx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x61e91b]
mov dword [ebx + 0x10], ecx
jmp 0x5280d8
cmp ecx, 0x37
jne 0x5280d8
mov dword [ebx + 0x14], 8
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5280cf
mov ecx, dword [ebx + 0x10]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x61e913]
mov dword [ebx + 0x10], ecx
lea ecx, [0x66edec]
jmp 0x528848
cmp edi, 0x3b
jne 0x528426
lea eax, [0x5f4140]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66f464]
mov dword [eax], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x528148
mov ecx, dword [esp + 0x110]
jmp 0x52815c
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 0x529ff9
cmp edi, 4
ja 0x528300
cmp edi, 1
je 0x528222
cmp edi, 2
je 0x528312
cmp edi, 4
jne 0x528426
lea eax, [0x5ffee0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x120], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66f074]
mov dword [eax], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x5281f5
mov ecx, dword [esp + 0x120]
jmp 0x528209
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 0x529d0b
lea eax, [0x605120]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x12c], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66ef9c]
mov dword [eax], ecx
mov edx, dword [0x7b12d0]
test edx, edx
jne 0x52827e
mov ebx, dword [esp + 0x12c]
jmp 0x528292
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 + 0x1b4]
mov ecx, dword [esp + 0x16c]
mov dword [esp], ecx
lea edx, [esp + 0x1b4]
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 [0x7b12d0]
test eax, eax
je 0x5282d8
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 0x52885f
mov eax, dword [esp + 0x16c]
mov ecx, dword [eax + 0xc]
mov ebp, ecx
mov esi, dword [eax + 0x10]
xor edx, edx
jmp 0x529959
cmp edi, 0xf
je 0x5285e6
cmp edi, 0x13
jne 0x52841d
lea eax, [0x608b80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x128], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66efcc]
mov dword [eax], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x52836e
mov ecx, dword [esp + 0x128]
jmp 0x528382
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 0x5283ba
mov dword [ecx + 0x1c], 5
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5283af
mov edx, dword [ecx + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x61dcfe]
mov dword [ecx + 0x18], edx
jmp 0x52840e
cmp edx, 0x13
jne 0x5283e5
mov dword [ecx + 0x1c], 6
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5283da
mov edx, dword [ecx + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x61dfd1]
mov dword [ecx + 0x18], edx
jmp 0x52840e
cmp edx, 0x17
jne 0x52840e
mov dword [ecx + 0x1c], 5
mov edx, dword [0x7b12d0]
test edx, edx
je 0x528405
mov edx, dword [ecx + 0x18]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
lea edx, [0x61dd03]
mov dword [ecx + 0x18], edx
mov edx, dword [eax + 0xc]
mov ebx, edx
mov ebp, dword [eax + 0x10]
xor esi, esi
jmp 0x528c5e
cmp edi, 0x15
je 0x5284b5
lea eax, [0x5f93e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x10c], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66f47c]
mov dword [eax], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x528482
mov ecx, dword [esp + 0x10c]
jmp 0x528496
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 0x528bf1
lea eax, [0x600060]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x118], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66efb4]
mov dword [eax], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
jne 0x528511
mov ecx, dword [esp + 0x118]
jmp 0x528525
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 + 0x1b4]
mov ebx, dword [esp + 0x16c]
mov dword [esp], ebx
lea edx, [esp + 0x1b4]
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 [0x7b12d0]
test eax, eax
je 0x52856b
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 0x52885f
lea eax, [0x5f9200]
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 [0x7b12d0]
test edx, edx
je 0x5285cb
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 + 0x1d8]
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp]
jmp 0x528abf
lea eax, [0x5f9380]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
lea ecx, [0x5ef580]
mov dword [esp], ecx
mov edx, dword [esp + 0x234]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x230]
mov dword [esp + 8], ebx
call sym.runtime.mapassign_fast32
mov eax, dword [esp + 0xc]
lea ecx, [0x66ef84]
mov dword [eax], ecx
mov edx, dword [0x7b12d0]
test edx, edx
jne 0x528642
mov ebx, dword [esp + 0x11c]
jmp 0x528656
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 0x528777
mov edx, dword [esp + 0x230]
mov eax, dword [esp + 0x220]
mov dword [esp + 0x200], eax
mov eax, dword [esp + 0x224]
mov dword [esp + 0x204], eax
mov dword [esp + 0x208], edx
lea eax, [0x622683]
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], 0x11
mov dword [esp + 0x23c], 0
mov dword [esp + 0x240], 0
lea eax, [0x606980]
mov dword [esp], eax
lea eax, [esp + 0x200]
mov dword [esp + 4], eax
call sym.runtime.convT
mov eax, dword [esp + 8]
lea ecx, [0x66e2a0]
mov dword [esp + 0x244], ecx
mov dword [esp + 0x248], eax
add esp, 0x218
ret
mov dword [esp + 0x23c], 0
mov dword [esp + 0x240], 0
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], ecx
add esp, 0x218
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0x23c], ecx
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], 0
mov dword [esp + 0x248], 0
add esp, 0x218
ret
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc edx
cmp edx, edi
jge 0x528790
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0x49
jne 0x52876c
shl edx, 4
lea ebp, [esi + edx]
jmp 0x528792
xor ebp, ebp
test ebp, ebp
je 0x52879b
mov ebp, dword [ebp + 4]
jmp 0x52879d
xor ebp, ebp
test ebp, ebp
je 0x5287ef
mov ecx, dword [esp + 0x1b4]
mov dword [esp], eax
lea edx, [esp + 0x1b4]
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 [0x7b12d0]
test eax, eax
je 0x5287dd
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, [0x66ef84]
jmp 0x528848
lea eax, [0x5f3d80]
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, [0x66f014]
mov edx, dword [esp + 0x11c]
mov dword [edx + 0x10], ecx
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x528836
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, [0x66ef84]
mov ebx, edx
mov edx, dword [esp + 0x164]
test edx, edx
jne 0x52885f
mov edx, dword [eax + 0xc]
mov ebp, edx
mov eax, dword [eax + 0x10]
xor esi, esi
jmp 0x5288dc
lea eax, [0x5ef580]
mov dword [esp], eax
mov eax, dword [esp + 0x234]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x230]
mov dword [esp + 8], eax
call sym.runtime.mapdelete_fast32
mov eax, dword [esp + 0x164]
mov ecx, dword [esp + 0x168]
mov dword [esp + 0x23c], 0
mov dword [esp + 0x240], 0
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], ecx
movzx eax, byte [esp + 0x22]
test al, 1
je 0x5288d1
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x214]
mov eax, dword [edx]
call eax
add esp, 0x218
ret
lea edx, [edi + 0x10]
inc esi
cmp esi, eax
jge 0x5288ef
mov edi, edx
cmp dword [edx], 0xb
jne 0x5288d8
shl esi, 4
lea eax, [esi + ebp]
jmp 0x5288f1
xor eax, eax
test eax, eax
je 0x5288fd
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x528901
xor edx, edx
xor eax, eax
lea ebp, [0x5ed860]
cmp edx, ebp
jne 0x528912
mov edx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x52891c
mov eax, 0
mov edx, 0
mov dword [esp + 0x100], ebx
mov dword [esp + 0x30], ecx
jne 0x528934
mov ebp, edx
mov edx, eax
mov eax, ebp
jmp 0x528a2d
test ecx, ecx
je 0x528a23
mov eax, dword [ecx + 8]
cmp eax, 0x5d34b551
jne 0x5289f8
lea eax, [0x66ee04]
cmp ecx, eax
jne 0x528a17
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 0x5289cd
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5ffbe0]
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 [0x7b12d0]
test eax, eax
je 0x5289ba
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 [0x7b12d0]
test eax, eax
je 0x5289e8
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 0x528a2d
cmp eax, 0x79681ecd
jne 0x528a17
lea eax, [0x66ef84]
cmp ecx, eax
jne 0x528a17
mov eax, dword [esp + 0x94]
mov edx, eax
sar edx, 0x1f
jmp 0x528a2d
mov edx, 0xffffffff
mov eax, 0xffffffff
jmp 0x528a2d
mov edx, 0xffffffff
mov eax, 0xffffffff
mov dword [esp + 0x90], edx
mov dword [esp + 0x8c], eax
mov ebp, dword [ecx + 0xc]
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 + 0x23c], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x240], eax
mov dword [esp + 0x244], 0
mov dword [esp + 0x248], 0
movzx eax, byte [esp + 0x22]
test al, 1
je 0x528aa5
and eax, 0xfffffffe
mov byte [esp + 0x23], al
mov edx, dword [esp + 0x214]
mov eax, dword [edx]
call eax
add esp, 0x218
ret
mov eax, dword [esp + 0x1d8]
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp]
test eax, eax
je 0x528bd4
mov ecx, dword [eax + 4]
cmp ecx, 5
je 0x528afc
cmp ecx, 0x18
jne 0x528aac
lea eax, [0x5f40e0]
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, [0x66f0ec]
jmp 0x528b26
mov ecx, dword [esp + 0x1b4]
mov dword [esp], eax
lea edx, [esp + 0x1b4]
call ecx
mov eax, dword [esp + 0x164]
test eax, eax
jne 0x52885f
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 0x528ba7
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, [0x5f9200]
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 [0x7b12d0]
test eax, eax
je 0x528b95
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 [0x7b12d0]
lea ebp, [edi + esi*8 - 4]
test ecx, ecx
je 0x528bcc
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ecx, dword [ebp]
mov dword [edi + 4], ecx
mov dword [ebp], eax
jmp 0x528aac
mov eax, dword [esp + 0x16c]
lea ecx, [0x66efb4]
mov ebx, dword [esp + 0x118]
jmp 0x528848
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x528c04
mov edi, edx
cmp dword [edx], 3
jne 0x528bed
shl esi, 4
lea edx, [esi + ebx]
jmp 0x528c06
xor edx, edx
test edx, edx
je 0x528c12
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x528c16
xor ebx, ebx
xor edx, edx
lea ebp, [0x5ed6a0]
cmp ebx, ebp
jne 0x528c27
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x528c2b
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0xc], edx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x528c45
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, [0x66f47c]
mov ebx, dword [esp + 0x10c]
jmp 0x528848
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x528c71
mov edi, edx
cmp dword [edx], 3
jne 0x528c5a
shl esi, 4
lea edx, [esi + ebx]
jmp 0x528c73
xor edx, edx
test edx, edx
je 0x528c7f
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x528c83
xor ebx, ebx
xor edx, edx
lea ebp, [0x5ed6a0]
cmp ebx, ebp
jne 0x528c94
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x528c98
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0x14], edx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x528cb2
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 0x528ccc
mov edx, dword [esp + 0xbc]
add edx, 0x10
inc edi
cmp edi, esi
jge 0x528ce4
mov dword [esp + 0xbc], edx
cmp dword [edx], 0x3c
jne 0x528cc1
shl edi, 4
lea edx, [edi + ebx]
jmp 0x528ce6
xor edx, edx
test edx, edx
je 0x528cef
mov edx, dword [edx + 4]
jmp 0x528cf1
xor edx, edx
test edx, edx
setne al
mov byte [ecx + 0x2c], al
lea eax, [0x5f1140]
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 [0x7b12d0]
test edx, edx
je 0x528d47
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 + 0x1d8]
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x528dc2
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 + 0x1d8]
lea edx, [esp + 0x1d8]
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 0x529456
cmp dword [eax + 4], 0xd
je 0x528de1
mov edi, ebp
mov eax, ebx
mov ebx, edx
mov edx, eax
jmp 0x528d69
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, [0x60cf00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x1b4]
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
lea edx, [esp + 0x1b4]
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 [0x7b12d0]
test eax, eax
je 0x528e54
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 0x52885f
mov ecx, dword [esp + 0x13c]
mov ebx, dword [ecx + 0xc]
mov ebp, ebx
mov eax, dword [ecx + 0x10]
xor esi, esi
jmp 0x5295fa
shl esi, 4
lea ebx, [ebp + esi]
jmp 0x528e87
xor ebx, ebx
test ebx, ebx
je 0x528e93
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x528e97
xor ebp, ebp
xor ebx, ebx
test ebp, ebp
je 0x5290dc
mov eax, dword [ebp + 8]
cmp eax, 0x81044065
jne 0x5290b2
mov eax, ecx
lea ecx, [0x5e6c00]
cmp ebp, ecx
jne 0x5290aa
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
mov ebx, dword [ebx + 8]
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.0046ffc3
mov ecx, dword [esp + 0x21c]
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, [0x66f44c]
mov dword [esp + 0xd8], ecx
lea ecx, [0x7b1020]
mov dword [esp + 0xdc], ecx
lea ecx, [0x61e90b]
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.0047045e
mov ecx, dword [esp + 0x198]
test ecx, ecx
jne 0x529055
mov ebx, dword [esp + 0x1a0]
nop
test ebx, ebx
jne 0x529051
mov dword [esp + 0x198], 0
mov dword [esp + 0x19c], 0
mov dword [esp + 0x194], 0
lea edi, [esp + 0xcc]
call fcn.0046ffcb
mov ecx, dword [esp + 0x188]
mov edx, dword [esp + 0x18c]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], edx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0xd4], ecx
lea ecx, [0x61ef37]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 9
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea edx, [esp + 0x200]
mov dword [esp + 4], edx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], ecx
xor eax, eax
mov edx, dword [esp + 0x160]
xor ebx, ebx
jmp 0x529094
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 0x52960e
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x529812
lea ecx, [0x5ed860]
jmp 0x5290e4
cmp eax, 0x99d6dd43
jne 0x5290d2
mov eax, ecx
lea ecx, [0x5ed860]
cmp ebp, ecx
jne 0x5290e4
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [edx + 0x10], ebp
mov dword [edx + 0x14], ebx
jmp 0x5290e4
mov eax, ecx
lea ecx, [0x5ed860]
jmp 0x5290e4
mov eax, ecx
lea ecx, [0x5ed860]
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov esi, dword [eax + 0x10]
xor edi, edi
jmp 0x5296b2
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x5290fd
xor ebx, ebx
test ebx, ebx
je 0x529109
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x52910d
xor ebp, ebp
xor ebx, ebx
lea ecx, [0x5ed6a0]
cmp ebp, ecx
jne 0x52911e
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x529122
xor ebx, ebx
xor ebp, ebp
mov dword [edx + 4], ebx
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x52913b
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 0x5296d6
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x529156
xor ebx, ebx
test ebx, ebx
je 0x529162
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x529166
xor ebp, ebp
xor ebx, ebx
lea ecx, [0x5ed860]
cmp ebp, ecx
jne 0x529177
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x52917b
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 0x5296fa
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x52919a
xor ebx, ebx
test ebx, ebx
je 0x5291a6
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x5291aa
xor ebp, ebp
xor ebx, ebx
cmp ebp, ecx
jne 0x5291b5
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x5291b9
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, [0x5ed860]
jmp 0x529726
shl ebp, 4
lea ebx, [ebp + esi]
jmp 0x5291e7
xor ebx, ebx
test ebx, ebx
je 0x5291f3
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x5291f7
xor ebp, ebp
xor ebx, ebx
cmp ebp, ecx
jne 0x52920a
mov esi, dword [ebx]
mov ebx, dword [ebx + 4]
mov edi, ebp
mov ebp, dword [esp + 0x24]
cmp ebp, ecx
jmp 0x52921e
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 0x52922e
cmp edi, ecx
je 0x529743
mov ebx, dword [eax + 0xc]
mov ebp, ebx
mov eax, dword [eax + 0x10]
xor esi, esi
jmp 0x5297e2
shl esi, 4
lea eax, [esi + ebp]
jmp 0x529247
xor eax, eax
test eax, eax
je 0x529253
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x529257
xor ebx, ebx
xor eax, eax
cmp ebx, ecx
jne 0x529262
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x529266
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 0x5292e6
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f1140]
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 [0x7b12d0]
test eax, eax
je 0x5292d0
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, [0x5ed860]
mov edx, dword [esp + 0x160]
mov dword [eax + 0x24], ebp
mov ebx, dword [0x7b12d0]
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 0x529319
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 0x52943b
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 0x52943b
cmp dword [eax + 0x1c], 5
jne 0x52935e
mov ecx, dword [eax + 0x18]
cmp dword [ecx], 0x6f696e75
jne 0x52935e
cmp byte [ecx + 4], 0x6e
je 0x52943b
mov ecx, dword [esp + 0x134]
test ecx, ecx
je 0x529432
lea ebx, [0x66ef9c]
cmp dword [ecx], ebx
jne 0x529429
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 0x5293fd
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5e1340]
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 [0x7b12d0]
test eax, eax
je 0x5293df
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 [0x7b12d0]
test esi, esi
je 0x529423
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 0x529442
mov ebp, dword [esp + 0x108]
jmp 0x529442
mov ebp, dword [esp + 0x108]
jmp 0x529442
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 0x528d69
mov eax, dword [esp + 0x128]
cmp dword [eax + 0x1c], 5
jne 0x529474
mov ebx, dword [eax + 0x18]
cmp dword [ebx], 0x6f696e75
jne 0x529474
cmp byte [ebx + 4], 0x6e
je 0x529492
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 0x5294be
mov eax, dword [esp + 0x16c]
lea ecx, [0x66efcc]
mov ebx, dword [esp + 0x128]
jmp 0x528848
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 0x5294d9
mov dword [esp + 0xbc], esi
cmp dword [esi], 0xb
jne 0x5294ab
shl eax, 4
add eax, edi
jmp 0x5294db
xor eax, eax
test eax, eax
je 0x5294e7
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x5294eb
xor ebx, ebx
xor eax, eax
lea esi, [0x5ed860]
cmp ebx, esi
jne 0x5294fc
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x529506
mov eax, 0
mov ebx, 0
jne 0x5295e3
cmp ebx, ebp
sete bl
cmp eax, edx
sete al
and eax, ebx
test al, al
je 0x5295e3
test ecx, ecx
je 0x5295da
lea eax, [0x66ef9c]
cmp dword [ecx], eax
jne 0x5295d1
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 0x5295b0
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5e1340]
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 [0x7b12d0]
test eax, eax
je 0x52959a
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, [0x5ed860]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0x134]
mov dword [eax + 0x10], ebx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5295cb
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 0x5295ea
mov eax, dword [esp + 0x108]
jmp 0x5295ea
mov eax, dword [esp + 0x108]
jmp 0x5295ea
mov eax, dword [esp + 0x108]
mov eax, dword [esp + 0x128]
jmp 0x529492
lea ebx, [edi + 0x10]
inc esi
cmp esi, eax
jge 0x528e85
mov edi, ebx
cmp dword [ebx], 0x38
jne 0x5295f6
jmp 0x528e7c
lea edi, [esp + 0xcc]
call fcn.0046ffcb
mov ecx, dword [esp + 0x220]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x13c]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
lea ecx, [0x622694]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0x11
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x52885f
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x5290fb
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 3
jne 0x5296a7
jmp 0x5290f3
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x529154
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0xb
jne 0x5296cb
jmp 0x52914c
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x529198
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0xc
jne 0x5296ef
jmp 0x529190
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 0x5291e5
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0x6b
jne 0x529713
jmp 0x5291dc
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x220]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
lea ecx, [0x629921]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0x1f
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x52885f
lea ebx, [edi + 0x10]
inc esi
cmp esi, eax
jge 0x529245
mov edi, ebx
cmp dword [ebx], 0xd
jne 0x5297de
jmp 0x52923d
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 0x52990d
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 ebx, eax
or edi, ebx
cmp edx, 0x20
sbb ebx, ebx
mov eax, ebp
mov ebp, dword [esp + 0xb4]
and ebp, ebx
cmp ecx, 0x20
sbb ebx, ebx
and eax, ebx
or eax, ebp
or eax, esi
movzx ebx, byte [esp + 0x21]
test bl, 0x80
jne 0x5297f6
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 0x52994e
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 0x529911
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 0x529934
mov eax, dword [esp + 0x13c]
lea ecx, [0x5ed860]
jmp 0x5290e4
mov eax, dword [esp + 0x1a4]
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], eax
jmp 0x52885f
mov eax, ebx
call sym.runtime.panicSliceB
lea ecx, [edi + 0x10]
inc edx
cmp edx, esi
jge 0x52996d
mov edi, ecx
cmp dword [ecx], 0x2e
jne 0x529955
shl edx, 4
lea ecx, [ebp + edx]
jmp 0x52996f
xor ecx, ecx
test ecx, ecx
je 0x52997b
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x52997f
xor ebp, ebp
xor ecx, ecx
lea esi, [0x5ed860]
cmp ebp, esi
jne 0x529990
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x529994
xor ecx, ecx
xor ebp, ebp
mov dword [ebx + 0x18], ebp
mov dword [ebx + 0x1c], ecx
mov eax, dword [esp + 0x1d8]
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp]
xor ecx, ecx
xor edx, edx
xor ebx, ebx
jmp 0x5299f1
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x1ac], ebx
mov eax, dword [esp + 0x1d8]
lea edx, [esp + 0x1d8]
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 0x529ac6
mov ebp, dword [eax + 4]
cmp ebp, 4
je 0x529a24
cmp ebp, 0x21
jne 0x5299b5
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 0x529bd7
mov dword [esp + 0x140], eax
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x220]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x224]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x140]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
lea ecx, [0x62e6bd]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0x2d
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x52885f
test ecx, ecx
jne 0x529aec
mov dword [esp + 0xc0], 0xffffffff
mov dword [esp + 0xc4], 0xffffffff
mov ecx, 1
lea ebx, [esp + 0xc0]
test ecx, ecx
jbe 0x529bb8
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 0x529b21
mov dword [ecx + 0x14], eax
lea eax, [ebp - 1]
mov ebx, dword [esp + 0x170]
mov ebp, ecx
test eax, eax
jle 0x529ba4
mov dword [esp + 0x74], eax
lea eax, [0x605120]
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 [0x7b12d0]
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 0x529b72
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, [0x66ef9c]
mov dword [ecx + 0x10], edx
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x529b12
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ecx + 0x14]
mov dword [edi + 4], ebx
jmp 0x529b12
mov eax, dword [esp + 0x16c]
lea ecx, [0x66ef9c]
mov ebx, ebp
jmp 0x528848
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 0x529bf3
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0x37
jne 0x529bc1
shl ebx, 4
add ebx, esi
jmp 0x529bf5
xor ebx, ebx
test ebx, ebx
je 0x529c01
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x529c05
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1b0], esi
lea esi, [0x5ed860]
cmp ebp, esi
jne 0x529c1d
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x529c27
mov ebx, 0
mov ebp, 0
je 0x529c2d
xor ebx, ebx
jmp 0x529ca6
lea eax, [ecx + 1]
cmp edx, eax
jb 0x529c3d
mov ecx, dword [esp + 0x170]
jmp 0x529c90
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, [0x5ed860]
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 0x5299b5
lea edi, [ebp + 0x10]
inc ebx
cmp ebx, eax
jge 0x529cbf
mov ebp, edi
cmp dword [edi], 0x2f
jne 0x529ca2
shl ebx, 4
mov eax, dword [esp + 0x1b0]
add eax, ebx
jmp 0x529cc1
xor eax, eax
test eax, eax
je 0x529ccd
mov ebx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x529cd1
xor ebx, ebx
xor eax, eax
cmp ebx, esi
jne 0x529cdc
mov ebx, dword [eax]
mov eax, dword [eax + 4]
jmp 0x529ce6
mov eax, 0
mov ebx, 0
jne 0x529cf0
add ebx, 1
adc eax, 0
jmp 0x529cfe
test ecx, ecx
jne 0x529cfe
mov eax, 0xffffffff
mov ebx, 0xffffffff
mov ebp, ebx
mov ebx, eax
jmp 0x529c2d
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x529d1e
mov edi, edx
cmp dword [edx], 3
jne 0x529d07
shl esi, 4
lea edx, [esi + ebx]
jmp 0x529d20
xor edx, edx
test edx, edx
je 0x529d2c
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x529d30
xor ebx, ebx
xor edx, edx
lea ebp, [0x5ed6a0]
cmp ebx, ebp
jne 0x529d41
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x529d45
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0x14], edx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x529d5f
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, [0x5e13c0]
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 [0x7b12d0]
test edx, edx
je 0x529db0
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 + 0x1d8]
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp]
jmp 0x529ddb
mov eax, dword [esp + 0x1d8]
lea edx, [esp + 0x1d8]
call eax
mov eax, dword [esp]
test eax, eax
je 0x529fa2
cmp dword [eax + 4], 0x28
jne 0x529dc8
mov dword [esp + 0x138], eax
lea eax, [0x5f9320]
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 0x529fbf
shl ebp, 4
lea ebx, [ebp + edx]
jmp 0x529e1f
xor ebx, ebx
test ebx, ebx
je 0x529e2b
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x529e2f
xor ebp, ebp
xor ebx, ebx
lea esi, [0x5ed6a0]
cmp ebp, esi
jne 0x529e40
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x529e44
xor ebx, ebx
xor ebp, ebp
mov edi, dword [esp + 4]
mov dword [edi + 4], ebx
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x529e60
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 0x529fd7
shl ecx, 4
lea ebx, [ebp + ecx]
jmp 0x529e7c
xor ebx, ebx
test ebx, ebx
je 0x529e88
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x529e8c
xor ebp, ebp
xor ebx, ebx
lea esi, [0x5ed860]
cmp ebp, esi
jne 0x529e9d
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x529ea1
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 0x529f69
mov dword [esp + 0x28], eax
mov dword [esp + 0x15c], edi
lea ecx, [0x5e13c0]
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, [0x5e13c0]
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 [0x7b12d0]
test edx, edx
jne 0x529f43
mov ebx, dword [esp + 0x1a8]
jmp 0x529f57
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, [0x5ed860]
mov edi, dword [esp + 0x15c]
mov edx, dword [ebx + 0x20]
lea ecx, [eax + 1]
cmp edx, ecx
jb 0x529ff0
mov dword [ebx + 0x1c], ecx
cmp eax, ecx
jae 0x529feb
mov ecx, dword [0x7b12d0]
mov ebp, dword [ebx + 0x18]
test ecx, ecx
je 0x529f99
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 0x529dc8
mov eax, dword [esp + 0x16c]
lea ecx, [0x66f074]
mov ebx, dword [esp + 0x120]
jmp 0x528848
lea ecx, [esi + 0x10]
inc ebp
cmp ebp, ebx
jge 0x529e1d
mov esi, ecx
cmp dword [ecx], 3
jne 0x529fbb
jmp 0x529e14
lea ebx, [edx + 0x10]
inc ecx
cmp ecx, eax
jge 0x529e7a
mov edx, ebx
cmp dword [ebx], 0x1c
jne 0x529fd3
jmp 0x529e71
call sym.runtime.panicIndex
call sym.runtime.panicSliceAcap
lea edx, [edi + 0x10]
inc esi
cmp esi, ebp
jge 0x52a00c
mov edi, edx
cmp dword [edx], 3
jne 0x529ff5
shl esi, 4
lea edx, [esi + ebx]
jmp 0x52a00e
xor edx, edx
test edx, edx
je 0x52a01a
mov ebx, dword [edx + 4]
mov edx, dword [edx + 8]
jmp 0x52a01e
xor ebx, ebx
xor edx, edx
lea ebp, [0x5ed6a0]
cmp ebx, ebp
jne 0x52a02f
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jmp 0x52a033
xor edx, edx
xor ebx, ebx
mov dword [ecx + 0xc], edx
mov edx, dword [0x7b12d0]
test edx, edx
je 0x52a04d
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, [0x66f464]
mov ebx, dword [esp + 0x110]
jmp 0x528848
mov ebp, dword [esp + 0xbc]
add ebp, 0x10
inc edx
cmp edx, edi
jge 0x52a086
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 3
jne 0x52a062
shl edx, 4
lea ebp, [edx + esi]
jmp 0x52a088
xor ebp, ebp
test ebp, ebp
je 0x52a094
mov esi, dword [ebp + 4]
mov ebp, dword [ebp + 8]
jmp 0x52a098
xor esi, esi
xor ebp, ebp
lea edi, [0x5ed6a0]
cmp esi, edi
jne 0x52a0aa
mov esi, dword [ebp]
mov ebp, dword [ebp + 4]
jmp 0x52a0ae
xor ebp, ebp
xor esi, esi
mov dword [ebx + 0xc], ebp
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x52a0c8
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 + 0x1b4]
mov dword [esp], eax
lea edx, [esp + 0x1b4]
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 [0x7b12d0]
test eax, eax
je 0x52a107
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, [0x66ee04]
jmp 0x528848
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 0x52a154
mov dword [esp + 0xa8], edi
cmp dword [edi], 3
jne 0x52a11c
shl ecx, 4
mov edi, ebp
mov ebp, dword [esp + 0x1b0]
add ecx, ebp
jmp 0x52a164
mov ebp, dword [esp + 0x1b0]
mov edi, dword [esp + 0x230]
xor ecx, ecx
test ecx, ecx
je 0x52a180
mov edi, dword [ecx + 4]
mov ecx, dword [ecx + 8]
mov dword [esp + 0xc8], ecx
mov ecx, edi
mov edi, dword [esp + 0x230]
jmp 0x52a18d
xor ecx, ecx
xor eax, eax
mov dword [esp + 0xc8], eax
xor eax, eax
lea edx, [0x5ed6a0]
cmp ecx, edx
jne 0x52a1a5
mov ecx, dword [esp + 0xc8]
mov edx, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x52a1a9
xor edx, edx
xor ecx, ecx
mov dword [esp + 0x3c], ecx
xor eax, eax
mov dword [esp + 0x68], eax
xor eax, eax
jmp 0x52a1d8
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 0x52a1fa
mov ecx, dword [esp + 0xbc]
cmp dword [ecx], 0x3e
jne 0x52a1b7
shl ebx, 4
lea ecx, [ebx + ebp]
mov ebx, ecx
mov ecx, dword [esp + 0x3c]
jmp 0x52a1fc
xor ebx, ebx
test ebx, ebx
je 0x52a208
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x52a20c
xor ebp, ebp
xor ebx, ebx
mov esi, ecx
lea ecx, [0x5ed860]
cmp ebp, ecx
jne 0x52a21f
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x52a229
mov ebp, 0
mov ebx, 0
jne 0x52a4d3
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 0x52a36c
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 0x52a2d6
cmp ebp, 1
sete cl
and ecx, ebx
test cl, cl
jne 0x52a2ae
cmp ebp, 2
sete cl
and ecx, ebx
test cl, cl
je 0x52a420
lea eax, [0x5f3e40]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66f044]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
lea eax, [0x5f3de0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66f02c]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
cmp ebp, 3
sete cl
and ecx, ebx
test cl, cl
je 0x52a344
lea eax, [0x5f3ea0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x3c]
cmp eax, 7
jne 0x52a338
mov ecx, dword [esp + 0x130]
cmp dword [ecx], 0x706d6f63
jne 0x52a892
cmp word [ecx + 4], 0x656c
jne 0x52a892
cmp byte [ecx + 6], 0x78
jne 0x52a892
mov edx, dword [esp + 0x16c]
mov ebx, dword [edx + 0xc]
mov ebp, ebx
mov esi, dword [edx + 0x10]
xor edi, edi
jmp 0x52a8b2
mov ecx, dword [esp + 0x130]
jmp 0x52a892
lea eax, [0x5f3f00]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66f08c]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
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 0x52a3dc
cmp ebp, 5
sete cl
and ecx, ebx
test cl, cl
je 0x52a3b4
lea eax, [0x5f3f60]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66effc]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
lea eax, [0x5f4020]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66f05c]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
cmp ebp, 7
sete cl
and ecx, ebx
test cl, cl
jne 0x52a4ab
cmp ebp, 8
sete cl
and ecx, ebx
test cl, cl
je 0x52a420
lea eax, [0x5f4080]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66f0bc]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
lea edi, [esp + 0xcc]
call fcn.0046ffcb
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], esi
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
lea ecx, [0x62bf1f]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0x25
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x52885f
lea eax, [0x5f3fc0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
lea ecx, [0x66efe4]
mov edx, dword [esp + 0x130]
mov ebx, dword [esp + 0x3c]
jmp 0x52a582
lea edi, [esp + 0xcc]
call fcn.0046ffcb
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], esi
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
mov dword [esp], 0
lea ecx, [0x629902]
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 + 0xd8], ecx
mov dword [esp + 0xdc], edx
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x52885f
mov dword [esp + 0x130], edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x100], eax
lea ebp, [0x5ef580]
mov dword [esp], ebp
mov esi, dword [esp + 0x234]
mov dword [esp + 4], esi
mov edi, dword [esp + 0x230]
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 [0x7b12d0]
test edx, edx
jne 0x52a5d9
mov edx, dword [esp + 0x100]
jmp 0x52a5ed
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 0x52a884
mov eax, dword [ecx + 4]
lea edx, [0x786b00]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.runtime.typeAssert
mov eax, dword [esp + 8]
mov eax, dword [eax + 0xc]
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 [0x7b12d0]
test edx, edx
jne 0x52a63e
mov edx, dword [esp + 0x130]
jmp 0x52a652
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 0x52a68d
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 0x52a6a9
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0xd
jne 0x52a67a
shl ecx, 4
add ecx, esi
jmp 0x52a6ab
xor ecx, ecx
test ecx, ecx
je 0x52a6b7
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x52a6bb
xor ebp, ebp
xor ecx, ecx
mov esi, edx
lea edx, [0x5ed860]
cmp ebp, edx
jne 0x52a6ce
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x52a6d2
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, [0x5ed860]
jmp 0x52a704
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 0x52a720
mov dword [esp + 0xbc], ecx
cmp dword [ecx], 0xc
jne 0x52a6ee
shl ebx, 4
lea ecx, [ebx + ebp]
jmp 0x52a722
xor ecx, ecx
test ecx, ecx
je 0x52a72e
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x52a732
xor ebx, ebx
xor ecx, ecx
cmp ebx, edx
jne 0x52a73d
mov ebp, dword [ecx]
mov ecx, dword [ecx + 4]
jmp 0x52a741
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, [0x5ed860]
jmp 0x52a77a
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 0x52a796
mov dword [esp + 0xbc], ebp
cmp dword [ebp], 0x6b
jne 0x52a764
shl ecx, 4
add ecx, edi
jmp 0x52a798
xor ecx, ecx
test ecx, ecx
je 0x52a7a4
mov ebp, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x52a7a8
xor ebp, ebp
xor ecx, ecx
cmp ebp, edx
jne 0x52a7b5
mov esi, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ebx, edx
jmp 0x52a7c1
cmp ebx, edx
mov ecx, 0
mov esi, 0
mov dword [eax + 0x20], esi
mov dword [eax + 0x24], ecx
jne 0x52a86d
cmp ebp, edx
jne 0x52a86d
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.0046ffcb
mov ecx, dword [esp + 0x130]
mov dword [esp + 0xcc], ecx
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x16c]
mov ecx, dword [ecx]
mov dword [esp + 0xd4], ecx
lea ecx, [0x629921]
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], 0x1f
lea edi, [esp + 0x200]
lea esi, [esp + 0xcc]
call fcn.004704ae
lea ecx, [0x606980]
mov dword [esp], ecx
lea ecx, [esp + 0x200]
mov dword [esp + 4], ecx
call sym.runtime.convT
mov ecx, dword [esp + 8]
lea edx, [0x66e2a0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
jmp 0x52885f
mov eax, dword [esp + 0x16c]
mov ecx, dword [esp + 0x30]
mov ebx, dword [esp + 0x100]
jmp 0x528848
lea eax, [0x5ef600]
mov dword [esp], eax
call sym.runtime.panicnildottype
mov ebp, dword [esp + 4]
mov edx, ecx
mov ebx, eax
mov eax, ebp
lea ecx, [0x66f0a4]
jmp 0x52a582
mov ebx, dword [esp + 0xbc]
add ebx, 0x10
inc edi
cmp edi, esi
jge 0x52a8ca
mov dword [esp + 0xbc], ebx
cmp dword [ebx], 0xb
jne 0x52a8a7
shl edi, 4
lea ebx, [edi + ebp]
jmp 0x52a8cc
xor ebx, ebx
test ebx, ebx
je 0x52a8d8
mov ebp, dword [ebx + 4]
mov ebx, dword [ebx + 8]
jmp 0x52a8dc
xor ebp, ebp
xor ebx, ebx
lea esi, [0x5ed860]
cmp ebp, esi
jne 0x52a8ed
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
jmp 0x52a8f1
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 0x52a918
mov eax, 0xd
lea ecx, [0x620aa1]
jmp 0x52a892
cmp ebp, 0x10
xchg ebp, ebx
sete bl
xchg ebp, ebx
and ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x52a892
mov eax, 0xe
lea ecx, [0x621155]
jmp 0x52a892
call sym.runtime.morestack_noctxt
jmp sym.debug_dwarf._Data_.readType