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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 4]
cmp eax, dword [ecx + 8]
jbe 0x539e6e
sub esp, 0x84
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
jne 0x539697
nop
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x1c]
xor ebx, ebx
jmp 0x5396a7
mov byte [esp + 0x98], 1
add esp, 0x84
ret
inc ebx
cmp ebx, ecx
jge 0x5396b9
mov ebp, dword [edx + ebx*4]
cmp dword [ebp + 8], 0x6ffffffe
jne 0x5396a6
jmp 0x5396bb
xor ebp, ebp
test ebp, ebp
je 0x5396ee
mov dword [esp], ebp
call sym.debug_elf._Section_.Data
mov eax, dword [esp + 4]
mov dword [esp + 0x7c], eax
mov edx, dword [esp + 0xc]
mov dword [esp + 0x40], edx
mov ecx, dword [esp + 8]
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x88]
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x53971b
mov byte [esp + 0x98], 0
add esp, 0x84
ret
lea ebp, [ebx + eax]
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0x40]
mov esi, ecx
mov edi, edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], esi
lea esi, [ebp + 0x10]
cmp ecx, esi
jl 0x539a0f
lea ecx, [ebp + 2]
cmp edx, ecx
jb 0x539e68
cmp ebp, ecx
ja 0x539e61
mov dword [esp + 0x6c], esi
mov dword [esp + 0x68], ecx
mov dword [esp + 0x74], edi
mov dword [esp + 0x34], ebp
mov ecx, dword [ebx + 8]
mov esi, dword [ebx + 0xc]
mov ecx, dword [ecx + 0x20]
mov dword [esp], esi
sub edx, ebp
mov dword [esp + 0x64], edx
mov edi, edx
neg edx
sar edx, 0x1f
and edx, ebp
add edx, eax
mov dword [esp + 4], edx
mov dword [esp + 8], 2
mov dword [esp + 0xc], edi
call ecx
cmp word [esp + 0x10], 1
jne 0x5399fe
mov ebx, dword [esp + 0x34]
lea ecx, [ebx + 4]
mov edx, dword [esp + 0x40]
cmp edx, ecx
jb 0x539e5c
mov eax, dword [esp + 0x68]
cmp ecx, eax
jb 0x539e57
mov dword [esp + 0x68], ecx
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov edx, dword [edx + 0x20]
mov dword [esp], ebx
mov ebx, dword [esp + 0x64]
lea ebp, [ebx - 2]
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov ebp, dword [esp + 0x7c]
add eax, ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp + 0xc], esi
call edx
mov eax, dword [esp + 0x34]
lea ecx, [eax + 8]
movzx edx, word [esp + 0x10]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x539e50
mov ebp, dword [esp + 0x68]
cmp ecx, ebp
jb 0x539e49
mov dword [esp + 0x68], ecx
mov dword [esp + 0x60], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x24]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
lea ebx, [edx - 4]
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0x7c]
add ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x34]
lea ecx, [eax + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x539e42
mov ebp, dword [esp + 0x68]
cmp ecx, ebp
jb 0x539e3b
mov dword [esp + 0x38], edx
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x24]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
lea ebx, [edx - 8]
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0x7c]
add ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call ecx
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
cmp edx, ecx
jb 0x539e36
mov ebx, dword [esp + 0x68]
cmp ebx, ecx
ja 0x539e2f
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x24]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
add edx, 0xfffffff4
mov ebp, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x7c]
add ebx, edx
mov dword [esp + 4], ebx
mov dword [esp + 8], 4
mov dword [esp + 0xc], ebp
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x38]
test ecx, ecx
jge 0x53992f
mov ebx, dword [esp + 0x90]
jmp 0x53993a
mov ebx, dword [esp + 0x90]
cmp ebx, ecx
jg 0x539947
mov ebp, dword [esp + 0x8c]
xor ecx, ecx
xor edx, edx
jmp 0x5399a1
mov ebp, dword [esp + 0x8c]
mov edx, ecx
jmp 0x539ab9
mov dword [esp], 0
mov eax, dword [esp + 0x94]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
add eax, ebp
mov dword [esp + 4], eax
sub ecx, edx
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x20]
jmp 0x5399a1
xor ecx, ecx
xor edx, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x70], ecx
mov esi, ebp
mov ebp, dword [esp + 0x48]
mov edi, ebx
mov ebx, dword [esp + 0x34]
add ebp, ebx
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x4c]
jmp 0x539b06
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x80]
jmp 0x5399f1
mov esi, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x80]
test eax, eax
jne 0x5396fd
jmp 0x539dbc
mov ebx, dword [esp + 0x88]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x74]
jmp 0x539a13
mov eax, dword [esp + 0x28]
nop
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 0x20]
xor ebp, ebp
jmp 0x539a1f
inc ebp
cmp ebp, edx
jge 0x539a31
mov esi, dword [ecx + ebp*4]
cmp dword [esi + 8], 0x6fffffff
jne 0x539a1e
jmp 0x539a33
xor esi, esi
test esi, esi
je 0x539aa9
mov dword [esp + 0x28], eax
mov dword [esp + 0x74], edi
mov dword [esp], esi
call sym.debug_elf._Section_.Data
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x88]
mov dword [ebp + 0x40], ebx
mov dword [ebp + 0x44], ebx
mov ebx, dword [0x776350]
test ebx, ebx
jne 0x539a74
mov ebx, dword [esp + 0x74]
jmp 0x539a8e
call sym.runtime.gcWriteBarrier4
mov ebx, dword [esp + 0x74]
mov dword [edi], ebx
mov esi, dword [ebp + 0x3c]
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov esi, dword [ebp + 0x48]
mov dword [edi + 0xc], esi
mov dword [ebp + 0x3c], ebx
mov dword [ebp + 0x4c], ecx
mov dword [ebp + 0x50], edx
mov dword [ebp + 0x48], eax
mov byte [esp + 0x98], 1
add esp, 0x84
ret
mov byte [esp + 0x98], 0
add esp, 0x84
ret
inc ecx
cmp ebx, ecx
jle 0x53999d
movzx esi, byte [ecx + ebp]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x539ab8
jmp 0x539955
mov ecx, dword [esp + 0x44]
inc ecx
mov edi, dword [esp + 0x30]
add eax, edi
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x34]
mov edi, dword [esp + 0x90]
mov dword [esp + 0x44], ecx
mov ebp, eax
mov dword [esp + 0x28], esi
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x70]
mov esi, dword [esp + 0x8c]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0x60]
cmp esi, edi
jge 0x5399e2
lea edi, [ebp + 0x10]
mov esi, dword [esp + 0x3c]
cmp esi, edi
jl 0x5399d5
lea ebx, [ebp + 8]
mov esi, dword [esp + 0x40]
cmp esi, ebx
jb 0x539e26
lea eax, [ebp + 6]
cmp ebx, eax
jb 0x539e1f
mov dword [esp + 0x6c], edi
mov dword [esp + 0x68], ebx
mov dword [esp + 0x30], ebp
mov ecx, dword [esp + 0x88]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 0xc]
mov edx, dword [edx + 0x20]
mov dword [esp], ebx
sub esi, ebp
mov dword [esp + 0x64], esi
lea edi, [esi - 6]
mov dword [esp + 0x5c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and eax, edi
mov edi, dword [esp + 0x7c]
add eax, edi
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xc], eax
call edx
mov eax, dword [esp + 0x30]
lea ecx, [eax + 0xc]
movzx edx, word [esp + 0x10]
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x539e18
mov ebp, dword [esp + 0x68]
cmp ecx, ebp
jb 0x539e11
mov dword [esp + 0x68], ecx
mov dword [esp + 0x5c], edx
mov eax, dword [esp + 0x88]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x24]
mov dword [esp], edx
mov edx, dword [esp + 0x64]
lea ebx, [edx - 8]
mov esi, ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov ebx, dword [esp + 0x7c]
add ebp, ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call ecx
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x6c]
cmp edx, ecx
jb 0x539e0c
mov eax, dword [esp + 0x68]
cmp eax, ecx
ja 0x539e07
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
mov edx, dword [esp + 0x88]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 0xc]
mov ebx, dword [ebx + 0x24]
mov dword [esp], ebp
mov ebp, dword [esp + 0x64]
add ebp, 0xfffffff4
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
mov ebp, dword [esp + 0x7c]
add eax, ebp
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], esi
call ebx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x58]
test ecx, ecx
jge 0x539c75
mov ebx, dword [esp + 0x90]
jmp 0x539c80
mov ebx, dword [esp + 0x90]
cmp ebx, ecx
jg 0x539c8d
mov ebp, dword [esp + 0x8c]
xor ecx, ecx
xor edx, edx
jmp 0x539ce7
mov ebp, dword [esp + 0x8c]
mov edx, ecx
jmp 0x539dcd
mov dword [esp], 0
mov eax, dword [esp + 0x94]
sub eax, edx
neg eax
sar eax, 0x1f
and eax, edx
add eax, ebp
mov dword [esp + 4], eax
sub ecx, edx
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x1c]
jmp 0x539ce7
xor ecx, ecx
xor edx, edx
mov esi, dword [esp + 0x28]
mov edi, dword [esp + 0x5c]
cmp esi, edi
jg 0x539d52
mov dword [esp + 0x2c], edx
mov dword [esp + 0x78], ecx
lea eax, [0x5ccf40]
mov dword [esp], eax
lea ecx, [edi + 1]
shl ecx, 1
mov dword [esp + 0x24], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov edx, dword [esp + 0x80]
mov dword [esp + 0xc], edx
call sym.runtime.makeslicecopy
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x5c]
mov esi, dword [esp + 0x24]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1c]
cmp esi, edi
jbe 0x539dfe
shl edi, 4
mov ebp, dword [esp + 0x18]
mov ebx, dword [esp + 0x80]
mov dword [ebx + edi + 4], ebp
mov dword [ebx + edi + 0xc], edx
mov edx, dword [0x776350]
test edx, edx
je 0x539da5
mov dword [esp + 0x54], esi
mov edx, edi
call sym.runtime.gcWriteBarrier4
mov ebp, dword [esp + 0x70]
mov dword [edi], ebp
mov esi, dword [ebx + edx]
mov dword [edi + 4], esi
mov dword [edi + 8], ecx
mov esi, dword [ebx + edx + 8]
mov dword [edi + 0xc], esi
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x54]
mov edi, edx
mov edx, ebp
mov ebp, dword [esp + 0x70]
mov dword [ebx + edi], ebp
mov dword [ebx + edi + 8], ecx
test eax, eax
jne 0x539ad0
jmp 0x539de4
mov ebx, dword [esp + 0x88]
mov eax, ecx
mov edi, edx
jmp 0x539a13
inc ecx
cmp ebx, ecx
jle 0x539ce3
movzx esi, byte [ecx + ebp]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x539dcc
jmp 0x539c9b
mov eax, dword [esp + 0x20]
mov ebx, dword [esp + 0x34]
mov ecx, esi
mov edx, dword [esp + 0x80]
mov esi, dword [esp + 0x3c]
jmp 0x5399f1
mov eax, edi
mov ecx, esi
call sym.runtime.panicIndex
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
mov edx, ebx
call sym.runtime.panicSliceAcap
mov ecx, ebx
call sym.runtime.panicSliceB
mov ecx, ebx
mov edx, esi
call sym.runtime.panicSliceAcap
mov eax, ebx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
mov edx, ebx
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
mov edx, ebx
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
nop
call sym.runtime.morestack_noctxt
jmp sym.debug_elf._File_.gnuVersionInit