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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x220]
cmp eax, dword [ecx + 8]
jbe 0x595ecc
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 0x5949c5
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, [0x5c2c00]
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, [0x5ca2e0]
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, [0x5c2d40]
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.0046ac59
lea edi, [esp + 0x1a8]
call fcn.0046ac3d
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.0046ac59
lea edi, [esp + 0x138]
call fcn.0046ac4b
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 0x594b37
mov dword [eax], ecx
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
lea edx, [0x5c3e80]
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 0x594bc0
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, [0x5c4200]
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 [0x776370]
test ecx, ecx
jne 0x594ba8
mov ecx, dword [esp + 0x128]
jmp 0x594ae2
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0x128]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x594ae2
mov ebx, dword [0x736e00]
movzx ebx, byte [ebx]
test bl, bl
jne 0x594da4
lea edi, [esp + 0x270]
xor eax, eax
call fcn.0046ac54
lea ecx, [0x5c4200]
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 0x594c14
lea eax, [esp + 0x270]
mov dword [esp], eax
call sym.runtime.mapiternext
mov ebx, dword [esp + 0x270]
test ebx, ebx
je 0x594d9d
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 [0x736e50]
mov ebp, dword [ebx]
mov dword [esp + 0xfc], ebp
mov ebx, dword [ebx + 4]
mov dword [esp + 0x7c], ebx
lea esi, [0x5c41c0]
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 0x594c7b
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
jmp 0x594c80
mov eax, 4
add eax, 0xffffffc3
cmp eax, 0x19
jae 0x594c05
mov dword [esp], 0
lea eax, [0x5ecd19]
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, [0x5c3e80]
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 0x595ec3
mov dword [esp + 0x6c], edx
mov dword [esp + 0xe8], ecx
lea eax, [0x5c3e80]
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, [0x5c4200]
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 [0x776370]
test ecx, ecx
jne 0x594d83
mov ecx, dword [esp + 0xe8]
jmp 0x594d96
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 0x594c05
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 0x594e90
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 0x5959b1
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xf0], edx
mov eax, dword [ebx + edi*4]
mov dword [esp + 0xf4], eax
mov ebx, dword [0x736e00]
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 0x59506e
mov dword [esp + 0xec], edx
lea ebx, [0x635aa4]
cmp ecx, ebx
je 0x594ee9
mov edx, 0
mov dword [esp + 0xd4], edx
jne 0x594fa4
test ebp, ebp
jne 0x594fa0
cmp dword [edx + 0x1c], 5
jne 0x594f9c
mov ebx, dword [edx + 0x18]
cmp dword [ebx], 0x6f696e75
jne 0x594f98
cmp byte [ebx + 4], 0x6e
jne 0x594f94
mov ebx, dword [edx + 0x24]
test ebx, ebx
jne 0x594f28
xor ebx, ebx
jmp 0x594fa6
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, [0x5c3e80]
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 0x594fa6
xor ebx, ebx
jmp 0x594fa6
xor ebx, ebx
jmp 0x594fa6
xor ebx, ebx
jmp 0x594fa6
xor ebx, ebx
jmp 0x594fa6
xor ebx, ebx
test bl, bl
je 0x595067
mov ebx, dword [edx + 0x24]
test ebx, ebx
jbe 0x595e50
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, [0x5c4200]
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 [0x776370]
test edx, edx
jne 0x595013
mov edx, dword [esp + 0x128]
jmp 0x595026
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 0x595e47
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 0x59506e
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 0x595105
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 0x59513a
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 0x594e3c
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 0x595177
xor edx, edx
jmp 0x5951ba
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 0x5951f3
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 0x594e3c
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 0x595270
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 0x5952f7
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 0x59533a
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0xd8]
jmp 0x594e3c
mov eax, dword [esp + 0x74]
lea ecx, [eax + 1]
mov ebx, dword [esp + 0x78]
cmp ebx, ecx
jb 0x595e40
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 0x595464
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, [0x5c2dc0]
mov dword [esp + 0x268], ecx
mov dword [esp + 0x26c], eax
lea eax, [0x5ed632]
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, [0x5c4200]
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 [0x776370]
test edx, edx
jne 0x59543e
mov edx, dword [esp + 0x128]
jmp 0x595451
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, [0x5c4200]
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, [0x5d0680]
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 [0x776370]
test ecx, ecx
jne 0x5954d4
mov ecx, dword [esp + 0xe0]
jmp 0x5954e2
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, [0x5da260]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x11c], eax
lea ecx, [0x5c0020]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [0x776370]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x59553f
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0x11c]
mov esi, dword [esp + 0xd0]
jmp 0x59556d
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 0x595e3b
mov ebx, dword [0x776370]
test ebx, ebx
jne 0x5955b0
mov ebx, dword [esp + 0x120]
jmp 0x5955c4
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 0x595e36
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 0x59563a
lea esi, [esp + 0x100]
cmp eax, esi
je 0x595648
jmp 0x595e1e
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 0x5956ba
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, [0x5c2c00]
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 0x595729
lea ecx, [esp + 0x100]
cmp eax, ecx
je 0x595737
jmp 0x595e06
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 0x59578f
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, [0x5c2c00]
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 0x5957c5
lea ecx, [esp + 0x100]
cmp eax, ecx
je 0x5957d3
jmp 0x595dee
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 0x595835
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, [0x5c2c00]
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 0x5958aa
lea ebx, [esp + 0x100]
cmp eax, ebx
je 0x5958b8
jmp 0x595dd6
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 0x595910
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, [0x5c2c00]
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 0x595968
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 0x594e3c
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 0x595a00
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 0x595a74
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 0x595a8e
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 0x595ae3
lea ecx, [ebp - 1]
cmp ebp, ecx
jbe 0x595dcd
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 0x595ae3
cmp ebx, ecx
jae 0x595a81
jmp 0x595dc6
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 0x595bfb
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.0046ac5a
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, [0x5c2b80]
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, [0x5c2d40]
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, [0x5c2d40]
mov dword [esp + 0x260], ecx
mov dword [esp + 0x264], eax
lea eax, [0x5fcc87]
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 0x595c18
lea ecx, [esp + 0x100]
cmp eax, ecx
je 0x595c26
jmp 0x595dae
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 0x595c82
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, [0x5c2c00]
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 0x595da0
mov dword [esp + 0xc4], edx
mov dword [esp + 0x118], eax
mov ecx, dword [0x736e00]
movzx ecx, byte [ecx]
test cl, cl
je 0x595ce3
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, [0x5d1480]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x110], eax
lea ecx, [0x5d0800]
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 [0x776370]
test ecx, ecx
jne 0x595d36
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0x110]
jmp 0x595d54
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 0x595da9
call sym.runtime.panicunsafestringlen
call sym.runtime.panicunsafestringnilptr
lea eax, [0x5c2b80]
mov dword [esp], eax
lea eax, [0x634328]
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, [0x5c2b80]
mov dword [esp], eax
lea eax, [0x634328]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c2b80]
mov dword [esp], eax
lea eax, [0x634328]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c2b80]
mov dword [esp], eax
lea eax, [0x634328]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5c2b80]
mov dword [esp], eax
lea eax, [0x634328]
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, [0x5ecd19]
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, [0x5c3e80]
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 0x595e59
jmp 0x594d06
call sym.runtime.morestack_noctxt
jmp sym.main._typeConv_.Struct