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

Disassembly:
mov ecx, dword [0x673268]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xbc]
cmp eax, dword [ecx + 8]
jbe 0x500650
sub esp, 0x13c
lea edi, [esp + 0x100]
xor eax, eax
call fcn.00469529
lea edi, [esp + 0x94]
call fcn.00469515
lea ecx, [esp + 0x94]
mov dword [esp + 0x10c], ecx
call sym.runtime.rand32
mov ecx, dword [esp]
mov dword [esp + 0x108], ecx
xor eax, eax
jmp 0x4fff53
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x144]
cmp ecx, eax
jle 0x4fffec
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x140]
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov dword [esp + 0x80], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x40], edx
lea ebp, [0x528080]
mov dword [esp], ebp
lea esi, [esp + 0x100]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, 0xfffffffe
jle 0x4fff4c
mov dword [esp + 0x64], eax
lea eax, [0x528080]
mov dword [esp], eax
lea ecx, [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x80]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
dec ecx
mov dword [eax], ecx
jmp 0x4fff4c
xor eax, eax
jmp 0x4ffffe
mov edx, dword [esp + 0x6c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x150]
cmp edx, eax
jle 0x500093
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x14c]
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov dword [esp + 0x7c], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x3c], edx
lea ebp, [0x528080]
mov dword [esp], ebp
lea esi, [esp + 0x100]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
cmp eax, 0xfffffff8
jle 0x4ffff0
mov dword [esp + 0x60], eax
lea eax, [0x528080]
mov dword [esp], eax
lea ecx, [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0xc], edx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x60]
add ecx, 0xfffffffc
mov dword [eax], ecx
jmp 0x4ffff0
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x5000b2
lea edi, [ecx + 1]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x150]
mov ebx, eax
mov eax, edi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x70], esi
cmp edx, eax
jle 0x5001a2
mov dword [esp + 0x5c], eax
mov dword [esp + 0x28], ebp
mov ecx, dword [esp + 0x14c]
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov dword [esp + 0x78], ebx
mov edx, dword [edx + 4]
mov dword [esp + 0x38], edx
lea ebp, [0x528080]
mov dword [esp], ebp
lea esi, [esp + 0x100]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
cmp dword [eax], 0xfffffffb
je 0x50011d
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x70]
jmp 0x50009d
lea eax, [0x528080]
mov dword [esp], eax
lea ecx, [esp + 0x100]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], edx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov dword [eax], ecx
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x28]
cmp ecx, eax
jb 0x500163
mov esi, dword [esp + 0x70]
mov ebp, ecx
jmp 0x500195
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x527100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x5c]
mov dword [esi + eax*4 - 4], ecx
jmp 0x50009d
xor eax, eax
xor ebp, ebp
xor edi, edi
xor eax, eax
mov dword [esp + 0x74], eax
xor eax, eax
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x84], eax
xor eax, eax
mov dword [esp + 0x50], eax
xor eax, eax
jmp 0x500200
inc ebp
mov dword [esp + 0x74], ebx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x84], ecx
mov dword [esp + 0x50], edi
mov ecx, dword [esp + 0x144]
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x70]
mov edi, edx
mov edx, dword [esp + 0x150]
mov edx, eax
mov eax, ebp
mov ebp, edx
mov edx, dword [esp + 0x150]
mov dword [esp + 0x2c], ebp
cmp ecx, eax
jle 0x500385
mov dword [esp + 0x58], eax
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0x140]
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
lea ebp, [0x528080]
mov dword [esp], ebp
lea esi, [esp + 0x100]
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call sym.runtime.mapaccess2_faststr
movzx eax, byte [esp + 0x14]
test al, al
je 0x500361
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jl 0x50033d
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x2c]
inc ecx
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x500276
mov ebx, dword [esp + 0x74]
jmp 0x5002b0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x527100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ebx, eax
mov edx, edi
mov eax, dword [esp + 0x48]
mov dword [esp + 0x2c], ecx
mov ebp, dword [esp + 0x58]
mov dword [ebx + ecx*4 - 4], ebp
mov esi, dword [esp + 0x4c]
inc esi
mov edi, dword [esp + 0x50]
cmp edi, esi
jae 0x500329
mov dword [esp + 0x90], ebx
mov dword [esp + 0x68], edx
mov eax, dword [esp + 0x84]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x527100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x90]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x84], eax
mov edi, ecx
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x84]
mov dword [ecx + esi*4 - 4], eax
mov eax, dword [esp + 0x2c]
jmp 0x5001c7
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x84]
jmp 0x5001c7
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x4c]
mov ecx, dword [esp + 0x84]
jmp 0x5001c7
lea eax, [0x527100]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebp
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x8c], eax
lea ecx, [0x527100]
mov dword [esp], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x2c]
xor ebx, ebx
jmp 0x5003da
lea ebp, [edx + 1]
mov dword [ecx + ebx*4], ebp
inc ebx
cmp ebx, edx
jl 0x5003d3
mov dword [esp + 0x88], eax
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
mov edi, 1
xor edi, edi
mov dword [esp + 0x54], edi
mov edi, 1
jmp 0x500433
mov edi, dword [esp + 0x8c]
mov dword [edi + edx*4], ebp
inc edx
mov ebp, dword [esp + 0x88]
mov dword [ebp + eax*4], edx
mov edx, dword [esp + 0x50]
mov eax, ebp
mov ecx, edi
mov edx, esi
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x50]
movzx edi, byte [esp + 0x23]
xchg edi, eax
test al, al
xchg edi, eax
je 0x50044b
mov edi, dword [esp + 0x54]
xor edi, edi
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov edi, dword [esp + 0x54]
jmp 0x50045f
mov ebx, dword [esp + 0x54]
inc ebx
xchg edi, eax
mov byte [esp + 0x23], al
xchg edi, eax
mov edi, ebx
mov ebx, dword [esp + 0x84]
cmp edi, edx
jge 0x500504
mov dword [esp + 0x54], edi
xor eax, eax
lea edi, [esp + 0x11c]
call fcn.00469528
lea ecx, [sym.internal_diff.tgs.func1]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], edx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x120], ecx
mov dword [esp + 0x130], ebp
mov dword [esp + 0x134], esi
mov dword [esp + 0x12c], ebx
mov esi, dword [esp + 0x54]
mov dword [esp + 0x138], esi
mov dword [esp], edx
lea ecx, [esp + 0x11c]
mov dword [esp + 4], ecx
call sym.sort.Search
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jae 0x50064a
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + eax*4]
mov esi, dword [esp + 0x2c]
cmp esi, edx
ja 0x500406
jmp 0x500641
xor ecx, ecx
xor esi, esi
jmp 0x50050d
inc ecx
mov esi, edi
cmp ecx, edx
jge 0x50051c
mov edi, dword [eax + ecx*4]
cmp esi, edi
jl 0x50050a
mov edi, esi
jmp 0x50050a
mov dword [esp + 0x44], esi
lea eax, [0x52dbe0]
mov dword [esp], eax
lea eax, [esi + 2]
mov dword [esp + 0x34], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0x44]
lea ecx, [eax + 1]
mov edx, dword [esp + 0x34]
cmp ecx, edx
jae 0x500638
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x8c], ebx
lea ebp, [ebx + eax*8 + 8]
mov edi, dword [esp + 0x144]
mov dword [ebp], edi
mov edi, dword [esp + 0x150]
mov dword [ebp + 4], edi
mov ecx, dword [esp + 0x2c]
lea ebp, [ecx - 1]
mov edi, dword [esp + 0x88]
mov esi, dword [esp + 0x24]
jmp 0x50058f
dec ebp
mov edi, dword [esp + 0x88]
test ebp, ebp
jl 0x5005ef
cmp ebp, ecx
jae 0x500631
lea edi, [edi + ebp*4]
cmp dword [edi], eax
jne 0x500587
mov edi, dword [esp + 0x4c]
cmp ebp, edi
jae 0x500628
mov edi, dword [esp + 0x84]
mov edi, dword [edi + ebp*4]
cmp ecx, edi
jle 0x500587
mov ebx, dword [esp + 0x74]
mov ebx, dword [ebx + ebp*4]
cmp esi, edi
jbe 0x50061f
mov esi, dword [esp + 0x70]
mov edi, dword [esi + edi*4]
cmp eax, edx
jae 0x500618
mov edx, dword [esp + 0x8c]
lea edx, [edx + eax*8]
mov dword [edx], ebx
mov dword [edx + 4], edi
dec eax
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x24]
jmp 0x500587
mov dword [ebx], 0
mov dword [ebx + 4], 0
mov dword [esp + 0x158], ebx
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], edx
add esp, 0x13c
ret
mov ecx, edx
call sym.runtime.panicIndex
mov eax, edi
mov ecx, esi
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, edi
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, edx
call sym.runtime.panicIndex
mov eax, edx
mov ecx, esi
call sym.runtime.panicIndex
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.internal_diff.tgs