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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x220]
cmp eax, dword [ecx + 8]
jbe 0x595a4c
sub esp, 0x2a0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
nop
nop
lea eax, [esp + 0x100]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x108]
lea ecx, [eax + 8]
mov edx, dword [esp + 0x10c]
mov ebx, dword [esp + 0x104]
cmp edx, ecx
jae 0x594545
mov dword [esp + 0xc4], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 8
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc4]
mov dword [ebx + eax], 0x75727473
mov dword [ebx + eax + 4], 0x7b207463
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
mov dword [esp + 0x104], ebx
mov eax, dword [esp + 0x2a8]
mov ecx, dword [eax + 0x24]
lea edx, [0x5ca240]
mov dword [esp], edx
mov dword [esp + 4], 0
shl ecx, 1
inc ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0x2a8]
mov ecx, dword [eax + 0x24]
shl ecx, 1
inc ecx
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x134], edx
lea ebx, [0x5c2d00]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x130], eax
lea edi, [esp + 0x234]
xor eax, eax
call fcn.0046ab99
lea edi, [esp + 0x1a8]
call fcn.0046ab7d
lea ecx, [esp + 0x1a8]
mov dword [esp + 0x240], ecx
call sym.runtime.rand32
mov eax, dword [esp]
mov dword [esp + 0x23c], eax
lea edi, [esp + 0x18c]
xor eax, eax
call fcn.0046ab99
lea edi, [esp + 0x138]
call fcn.0046ab8b
lea ecx, [esp + 0x138]
mov dword [esp + 0x198], ecx
call sym.runtime.rand32
mov eax, dword [esp]
mov dword [esp + 0x194], eax
mov eax, dword [esp + 0x2a8]
mov ecx, dword [eax + 0x20]
mov dword [esp + 0x12c], ecx
mov edx, dword [eax + 0x24]
mov dword [esp + 0xc4], edx
xor ebx, ebx
jmp 0x5946b7
mov dword [eax], ecx
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [0x5c3e40]
mov dword [esp], edx
lea ebx, [esp + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov eax, dword [esp + 0xc0]
lea ebx, [eax + 1]
mov eax, dword [esp + 0x2a8]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0xc4]
cmp ebx, edx
jge 0x594740
mov dword [esp + 0xc0], ebx
mov eax, dword [ecx + ebx*4]
mov dword [esp + 0xf8], eax
mov edx, dword [eax]
mov dword [esp + 0x128], edx
mov ebp, dword [eax + 4]
mov dword [esp + 0xbc], ebp
lea esi, [0x5c41c0]
mov dword [esp], esi
lea edi, [esp + 0x234]
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x594728
mov ecx, dword [esp + 0x128]
jmp 0x594662
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x128]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x594662
mov ebx, dword [0x736de0]
movzx ebx, byte [ebx]
test bl, bl
jne 0x594924
lea edi, [esp + 0x270]
xor eax, eax
call fcn.0046ab94
lea ecx, [0x5c41c0]
mov dword [esp], ecx
lea edx, [esp + 0x234]
mov dword [esp + 4], edx
lea ebx, [esp + 0x270]
mov dword [esp + 8], ebx
call sym.runtime.mapiterinit
jmp 0x594794
lea eax, [esp + 0x270]
mov dword [esp], eax
call sym.runtime.mapiternext
mov ebx, dword [esp + 0x270]
test ebx, ebx
je 0x59491d
mov eax, dword [esp + 0x274]
mov ecx, dword [eax]
mov dword [esp + 0xe8], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0x6c], eax
mov edx, dword [0x736e30]
mov ebp, dword [ebx]
mov dword [esp + 0xfc], ebp
mov ebx, dword [ebx + 4]
mov dword [esp + 0x7c], ebx
lea esi, [0x5c4180]
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
test al, al
je 0x5947fb
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
jmp 0x594800
mov eax, 4
add eax, 0xffffffc3
cmp eax, 0x19
jae 0x594785
mov dword [esp], 0
lea eax, [0x5ecc79]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0x10], ecx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
lea edx, [0x5c3e40]
mov dword [esp], edx
lea ebx, [esp + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x6c]
jmp 0x595a43
mov dword [esp + 0x6c], edx
mov dword [esp + 0xe8], ecx
lea eax, [0x5c3e40]
mov dword [esp], eax
lea ebx, [esp + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov byte [eax], 1
lea eax, [0x5c41c0]
mov dword [esp], eax
lea ecx, [esp + 0x234]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 0xc], edx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x6c]
mov dword [eax + 4], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x594903
mov ecx, dword [esp + 0xe8]
jmp 0x594916
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0xe8]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
mov dword [eax], ecx
jmp 0x594785
mov eax, dword [esp + 0x2a8]
mov ebx, dword [eax + 0x20]
mov dword [esp + 0x124], ebx
mov ebp, dword [eax + 0x24]
mov dword [esp + 0xc4], ebp
mov esi, dword [esp + 0x2a4]
mov edi, dword [esp + 0x2ac]
mov edx, dword [esp + 0x134]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0xc0], eax
xor eax, eax
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x60], eax
xor eax, eax
mov dword [esp + 0x80], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xd8], eax
mov dword [esp + 0x84], ecx
xor ecx, ecx
mov dword [esp + 0x74], ecx
xor ecx, ecx
mov dword [esp + 0xb8], ecx
mov ecx, 1
mov dword [esp + 0xb4], ecx
mov eax, dword [esp + 0x8c]
mov ecx, dword [esp + 0x84]
jmp 0x594a10
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xc0]
inc eax
mov dword [esp + 0xc0], eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], ecx
mov dword [esp + 0x48], ebp
mov dword [esp + 0xd8], ebx
mov dword [esp + 0x4c], esi
mov ecx, dword [esp + 0x78]
mov eax, dword [esp + 0x2a8]
mov ebx, dword [esp + 0x124]
mov ebp, dword [esp + 0xc4]
mov esi, dword [esp + 0x2a4]
mov edi, dword [esp + 0x2ac]
mov edi, dword [esp + 0xc0]
cmp edi, ebp
jge 0x595531
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xf0], edx
mov eax, dword [ebx + edi*4]
mov dword [esp + 0xf4], eax
mov ebx, dword [0x736de0]
movzx ebx, byte [ebx]
mov ebp, dword [eax + 4]
mov edi, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
test bl, bl
je 0x594bee
mov dword [esp + 0xec], edx
lea ebx, [0x635954]
cmp ecx, ebx
je 0x594a69
mov edx, 0
mov dword [esp + 0xd4], edx
jne 0x594b24
test ebp, ebp
jne 0x594b20
cmp dword [edx + 0x1c], 5
jne 0x594b1c
mov ebx, dword [edx + 0x18]
cmp dword [ebx], 0x6f696e75
jne 0x594b18
cmp byte [ebx + 4], 0x6e
jne 0x594b14
mov ebx, dword [edx + 0x24]
test ebx, ebx
jne 0x594aa8
xor ebx, ebx
jmp 0x594b26
mov dword [esp + 0x70], ecx
mov dword [esp + 0x68], ebp
mov dword [esp + 0xe4], edi
mov eax, dword [edx + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea ebx, [0x5c3e40]
mov dword [esp], ebx
lea ebp, [esp + 0x18c]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
xor eax, 1
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0xd4]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x2a4]
mov edi, dword [esp + 0xe4]
mov ebx, eax
mov eax, dword [esp + 0xf4]
jmp 0x594b26
xor ebx, ebx
jmp 0x594b26
xor ebx, ebx
jmp 0x594b26
xor ebx, ebx
jmp 0x594b26
xor ebx, ebx
jmp 0x594b26
xor ebx, ebx
test bl, bl
je 0x594be7
mov ebx, dword [edx + 0x24]
test ebx, ebx
jbe 0x5959d0
mov eax, dword [edx + 0x20]
mov eax, dword [eax]
mov ecx, dword [eax]
mov dword [esp + 0x128], ecx
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], eax
lea ebx, [0x5c41c0]
mov dword [esp], ebx
lea ebp, [esp + 0x234]
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
mov edx, dword [0x776350]
test edx, edx
jne 0x594b93
mov edx, dword [esp + 0x128]
jmp 0x594ba6
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x128]
mov dword [edi], edx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], edx
mov ebx, dword [esp + 0xd4]
mov ebp, dword [ebx + 0x24]
test ebp, ebp
jbe 0x5959c7
mov eax, dword [ebx + 0x20]
mov eax, dword [eax]
mov ebx, dword [eax + 8]
mov eax, dword [eax + 0xc]
mov esi, dword [esp + 0x2a4]
mov ecx, ebx
mov edx, eax
mov ebp, dword [esp + 0xbc]
mov edi, dword [esp + 0x128]
mov eax, dword [esp + 0xf4]
jmp 0x594bee
mov edx, dword [esp + 0xec]
mov dword [esp + 0xbc], ebp
mov dword [esp + 0x128], edi
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x2ac]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call sym.main._typeConv_.loadType
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov ebx, dword [esp + 0x18]
mov ebp, dword [ebx + 0x18]
mov esi, dword [ebx + 0x14]
mov edi, dword [ebx + 4]
mov dword [esp + 0x54], edi
mov edi, dword [ebx]
mov dword [esp + 0x50], edi
test edx, edx
sete dl
xchg edi, ebx
setg bl
xchg edi, ebx
test ecx, ecx
seta cl
and ecx, edx
or edi, ecx
xchg edi, eax
test al, al
xchg edi, eax
jne 0x594c85
mov edi, dword [eax + 0x30]
mov ecx, dword [eax + 0x34]
test ecx, ecx
sete cl
setg dl
test edi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, ecx
or edx, edi
test dl, dl
je 0x594cba
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xf0]
jmp 0x5949bc
mov dword [esp + 0xcc], ebx
mov dword [esp + 0xd0], ebp
mov dword [esp + 0x3c], esi
mov edi, dword [ebx + 8]
mov dword [esp + 0x40], edi
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x44], ecx
test ecx, ecx
setg dl
sete bl
test edi, edi
xchg ebp, ebx
seta bl
xchg ebp, ebx
and ebx, ebp
or ebx, edx
test bl, bl
jne 0x594cf7
xor edx, edx
jmp 0x594d3a
mov edx, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ecx
call sym.runtime.int64mod
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
test eax, eax
setne al
test ecx, ecx
setne cl
or ecx, eax
mov eax, dword [esp + 0xf4]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x40]
mov edx, ecx
mov ecx, dword [esp + 0x44]
test dl, dl
je 0x594d73
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xb0]
mov dword [esp + 0x78], edx
mov edx, dword [esp + 0xf0]
jmp 0x5949bc
mov ebx, dword [eax + 0x10]
mov dword [esp + 0xac], ebx
mov ebp, dword [eax + 0x14]
mov dword [esp + 0xa8], ebp
mov esi, dword [esp + 0x60]
add esi, edi
mov ebx, dword [esp + 0x64]
adc ebx, ecx
add esi, 0xffffffff
adc ebx, 0xffffffff
xor ebp, ebp
sub ebp, edi
mov edi, 0
sbb edi, ecx
and edi, ebx
and esi, ebp
mov ebx, dword [esp + 0xa8]
cmp ebx, edi
xchg ebp, ebx
setg bl
xchg ebp, ebx
sete cl
mov ebx, dword [esp + 0xac]
cmp ebx, esi
seta dl
and edx, ecx
or edx, ebp
test dl, dl
jne 0x594df0
mov eax, esi
mov esi, dword [esp + 0x4c]
mov ebp, dword [esp + 0x48]
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0xb0]
mov edx, dword [esp + 0xf0]
jmp 0x594e77
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf0]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x74]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0xd8]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
sub ebx, esi
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xa8]
sbb ecx, edi
mov dword [esp + 0x20], ecx
call sym.main._typeConv_.pad
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0xf4]
mov eax, dword [edi + 0x10]
mov edi, dword [edi + 0x14]
mov dword [esp + 0x60], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x74], ecx
mov ebx, dword [esp + 0xf4]
mov ecx, dword [ebx + 0x14]
cmp dword [ebx + 0x10], eax
setb bl
cmp edi, ecx
sete cl
setg al
and ecx, ebx
or eax, ecx
test al, al
je 0x594eba
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0xd8]
jmp 0x5949bc
mov eax, dword [esp + 0x74]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x78]
cmp ebx, ecx
jb 0x5959c0
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x120], edx
mov dword [esp + 0xa0], edi
mov dword [esp + 0x9c], esi
mov ebp, dword [esp + 0xbc]
test ebp, ebp
jne 0x594fe4
mov dword [esp + 0x268], 0
mov dword [esp + 0x26c], 0
mov eax, dword [esp + 0x80]
mov dword [esp], eax
call sym.runtime.convT32
mov eax, dword [esp + 4]
lea ecx, [0x5c2d80]
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], eax
lea eax, [0x5ed592]
mov dword [esp], eax
mov dword [esp + 4], 6
lea edx, [esp + 0x268]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Sprintf
mov eax, dword [esp + 0x14]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xbc], ecx
lea edx, [0x5c41c0]
mov dword [esp], edx
lea ebx, [esp + 0x234]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xbc]
mov dword [eax + 4], ecx
mov edx, dword [0x776350]
test edx, edx
jne 0x594fbe
mov edx, dword [esp + 0x128]
jmp 0x594fd1
call sym.runtime.gcWriteBarrier2
mov edx, dword [esp + 0x128]
mov dword [edi], edx
mov ebx, dword [eax]
mov dword [edi + 4], ebx
mov dword [eax], edx
mov eax, dword [esp + 0x80]
inc eax
mov ebp, ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0xbc], ebp
lea eax, [0x5c41c0]
mov dword [esp], eax
lea ecx, [esp + 0x234]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x128]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov eax, dword [eax]
mov dword [esp + 0xe0], eax
nop
lea edx, [0x5d05e0]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x5c]
mov dword [eax + 8], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x595054
mov ecx, dword [esp + 0xe0]
jmp 0x595062
call sym.runtime.gcWriteBarrier1
mov ecx, dword [esp + 0xe0]
mov dword [edi], ecx
mov dword [esp + 0xc8], eax
mov dword [eax + 4], ecx
mov dword [eax + 0xc], 0
lea ecx, [0x5da1c0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
lea ecx, [0x5bffe0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [0x776350]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5950bf
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0xd0]
jmp 0x5950ed
call sym.runtime.gcWriteBarrier5
mov ebx, dword [esp + 0xc8]
mov dword [edi], ebx
mov dword [edi + 4], ecx
mov ebp, dword [esp + 0x11c]
mov esi, dword [ebp + 4]
mov dword [edi + 8], esi
mov esi, dword [esp + 0xd0]
mov dword [edi + 0xc], esi
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x10], eax
mov dword [ecx], ebx
mov dword [ebp + 8], 1
mov dword [ebp + 0xc], 1
mov dword [ebp + 4], ecx
mov ebx, dword [esp + 0x3c]
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], esi
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0xa4]
cmp eax, ecx
jae 0x5959bb
mov ebx, dword [0x776350]
test ebx, ebx
jne 0x595130
mov ebx, dword [esp + 0x120]
jmp 0x595144
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [esp + 0x120]
mov esi, dword [ebx + eax*4]
mov dword [edi + 4], esi
mov dword [ebx + eax*4], ebp
mov edx, dword [esp + 0x9c]
cmp edx, ecx
jb 0x5959b6
mov ecx, dword [esp + 0xd8]
lea eax, [ecx + eax*8]
mov edx, dword [esp + 0x50]
mov dword [eax], edx
mov ebx, dword [esp + 0x54]
mov dword [eax + 4], ebx
mov eax, dword [esp + 0xcc]
mov eax, dword [eax + 0x10]
mov dword [esp], eax
call sym.main._TypeRepr_.String
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
nop
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x50]
add ebx, ebp
mov ebp, dword [esp + 0xa0]
mov esi, dword [esp + 0x54]
adc ebp, esi
test eax, eax
je 0x5951ba
lea esi, [esp + 0x100]
cmp eax, esi
je 0x5951c8
jmp 0x59599e
lea eax, [esp + 0x100]
mov dword [esp + 0x100], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0x60], ebx
mov eax, dword [esp + 0x10c]
mov esi, dword [esp + 0x108]
lea edi, [edx + esi]
mov ebx, dword [esp + 0x104]
cmp eax, edi
jae 0x59523a
mov dword [esp + 0x58], edx
mov dword [esp + 0xdc], ecx
mov dword [esp + 0x98], esi
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xdc]
mov edx, dword [esp + 0x58]
mov esi, dword [esp + 0x98]
mov dword [esp + 0x98], edi
mov dword [esp + 0x118], ebx
mov dword [esp + 0x94], eax
lea ebp, [ebx + esi]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x98]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x118]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x100]
nop
nop
test eax, eax
je 0x5952a9
lea ecx, [esp + 0x100]
cmp eax, ecx
je 0x5952b7
jmp 0x595986
lea eax, [esp + 0x100]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
lea edx, [ecx + 1]
mov ebx, dword [esp + 0x104]
cmp eax, edx
jae 0x59530f
mov dword [esp + 0x98], ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x98]
mov byte [ebx + ecx], 0x20
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x104], ebx
mov eax, dword [esp + 0x100]
nop
nop
test eax, eax
je 0x595345
lea ecx, [esp + 0x100]
cmp eax, ecx
je 0x595353
jmp 0x59596e
lea eax, [esp + 0x100]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0xbc]
lea ebx, [ecx + edx]
mov ebp, dword [esp + 0x104]
cmp eax, ebx
jae 0x5953b5
mov dword [esp + 0x98], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0xbc]
mov dword [esp + 0xbc], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x114], ebp
add ecx, ebp
mov dword [esp], ecx
mov ecx, dword [esp + 0x128]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x98]
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x10c], eax
mov eax, dword [esp + 0x114]
mov dword [esp + 0x104], eax
mov eax, dword [esp + 0x100]
nop
nop
test eax, eax
je 0x59542a
lea ebx, [esp + 0x100]
cmp eax, ebx
je 0x595438
jmp 0x595956
lea ebx, [esp + 0x100]
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0x10c]
mov ebp, dword [esp + 0x108]
lea esi, [ebp + 2]
mov edi, dword [esp + 0x104]
cmp ebx, esi
jae 0x595490
mov dword [esp + 0xbc], ebp
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ebp, dword [esp + 0xbc]
mov word [edi + ebp], 0x203b
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x104], edi
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0x44]
cmp ebx, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
xchg edi, ebx
setl bl
xchg edi, ebx
mov eax, ebx
mov ebx, dword [esp + 0xb4]
mov ecx, ebp
mov ebp, dword [esp + 0x40]
cmp ebx, ebp
setb dl
and esi, edx
or edi, esi
xchg edi, eax
test al, al
xchg edi, eax
jne 0x5954e8
mov ecx, eax
mov ebp, ebx
mov edi, dword [esp + 0x64]
mov eax, dword [esp + 0x60]
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0xd8]
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x74], edx
mov edx, dword [esp + 0x120]
mov dword [esp + 0xb8], ecx
mov dword [esp + 0xb4], ebp
mov ecx, dword [esp + 0x80]
mov ebp, dword [esp + 0xa4]
jmp 0x5949bc
mov ebx, dword [eax]
mov dword [esp + 0xac], ebx
mov ebp, dword [eax + 4]
mov dword [esp + 0xa8], ebp
mov edi, dword [esp + 0x64]
cmp edi, ebp
sete al
xchg ebp, ebx
setl bl
xchg ebp, ebx
mov esi, dword [esp + 0x60]
cmp esi, ebx
setb bl
and eax, ebx
or ebp, eax
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x595580
mov esi, edi
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x48]
mov eax, dword [esp + 0xd8]
mov ebx, ecx
mov ecx, dword [esp + 0x74]
jmp 0x5955f4
mov eax, dword [esp + 0x2a4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov eax, dword [esp + 0x74]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xac]
sub eax, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0xa8]
sbb eax, edi
mov dword [esp + 0x20], eax
call sym.main._typeConv_.pad
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x34]
mov esi, dword [esp + 0x2a8]
mov edi, dword [esi]
mov esi, dword [esi + 4]
mov dword [esp + 0x60], edi
mov dword [esp + 0xf0], edx
jmp 0x59560e
mov edi, dword [esp + 0x60]
mov edx, dword [esp + 0xf0]
mov ebp, ecx
mov dword [esp + 0x74], ecx
test esi, esi
setg cl
sete dl
test edi, edi
xchg edi, ebx
seta bl
xchg edi, ebx
and edi, edx
or ecx, edi
test cl, cl
je 0x595663
lea ecx, [ebp - 1]
cmp ebp, ecx
jbe 0x59594d
lea ebp, [eax + ebp*8 - 8]
mov edi, dword [ebp]
mov ebp, dword [ebp + 4]
test ebp, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
test edi, edi
xchg edi, ebx
sete bl
xchg edi, ebx
and ebp, edi
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x595663
cmp ebx, ecx
jae 0x595601
jmp 0x595946
mov dword [esp + 0x78], ebx
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x2a8]
cmp dword [ecx], eax
setne dl
cmp dword [ecx + 4], esi
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, edx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x59577b
mov dword [esp + 0x64], esi
mov eax, dword [esp + 0x2ac]
mov dword [esp], eax
call sym.main.lineno
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0xc4], ecx
lea edi, [esp + 0x250]
mov edx, eax
xor eax, eax
call fcn.0046ab9a
mov dword [esp], edx
mov eax, dword [esp + 0xc4]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c2b40]
mov dword [esp + 0x250], ecx
mov dword [esp + 0x254], eax
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c2d00]
mov dword [esp + 0x258], ecx
mov dword [esp + 0x25c], eax
mov eax, dword [esp + 0x2a8]
mov edx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c2d00]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
lea eax, [0x5fcbc6]
mov dword [esp], eax
mov dword [esp + 4], 0x34
lea eax, [esp + 0x250]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call sym.main.fatalf
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x100]
nop
nop
test eax, eax
je 0x595798
lea ecx, [esp + 0x100]
cmp eax, ecx
je 0x5957a6
jmp 0x59592e
lea eax, [esp + 0x100]
mov dword [esp + 0x100], eax
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
lea edx, [ecx + 1]
mov ebp, dword [esp + 0x104]
cmp eax, edx
jae 0x595802
mov dword [esp + 0xc4], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc4]
mov ebx, dword [esp + 0x78]
mov byte [ebp + ecx], 0x7d
mov dword [esp + 0x108], edx
mov dword [esp + 0x10c], eax
mov dword [esp + 0x104], ebp
mov eax, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
nop
cmp edx, ebp
ja 0x595920
mov dword [esp + 0xc4], edx
mov dword [esp + 0x118], eax
mov ecx, dword [0x736de0]
movzx ecx, byte [ecx]
test cl, cl
je 0x595863
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0x74]
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.main.godefsFields
lea eax, [0x5d13e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x5d0760]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x776350]
test ecx, ecx
jne 0x5958b6
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x110]
jmp 0x5958d4
call sym.runtime.gcWriteBarrier3
mov ecx, dword [esp + 0xf0]
mov dword [edi], ecx
mov dword [edi + 4], eax
mov edx, dword [esp + 0x110]
mov ebx, dword [edx + 4]
mov dword [edi + 8], ebx
mov dword [eax + 4], ecx
mov dword [edx + 4], eax
mov dword [esp + 0x2b0], edx
mov eax, dword [esp + 0x118]
mov dword [esp + 0x2b4], eax
mov eax, dword [esp + 0xc4]
mov dword [esp + 0x2b8], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x2bc], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x2c0], eax
add esp, 0x2a0
ret
test eax, eax
je 0x595929
call sym.runtime.panicunsafestringlen
call sym.runtime.panicunsafestringnilptr
lea eax, [0x5c2b40]
mov dword [esp], eax
lea eax, [0x6341d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov edx, ebx
call sym.runtime.panicSliceAcap
mov eax, ecx
mov ecx, ebp
call sym.runtime.panicIndex
lea eax, [0x5c2b40]
mov dword [esp], eax
lea eax, [0x6341d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c2b40]
mov dword [esp], eax
lea eax, [0x6341d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c2b40]
mov dword [esp], eax
lea eax, [0x6341d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c2b40]
mov dword [esp], eax
lea eax, [0x6341d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
call sym.runtime.panicSliceAcap
call sym.runtime.panicIndex
mov edx, ebx
call sym.runtime.panicSliceAcap
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov dword [esp], 0
lea eax, [0x5ecc79]
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x6c], ecx
lea edx, [0x5c3e40]
mov dword [esp], edx
lea ebx, [esp + 0x18c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
mov ecx, dword [esp + 0xe8]
mov edx, dword [esp + 0x6c]
test al, al
jne 0x5959d9
jmp 0x594886
call sym.runtime.morestack_noctxt
jmp sym.main._typeConv_.Struct