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

Disassembly:
mov ecx, dword [0x647d6c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xbc]
cmp eax, dword [ecx + 8]
jbe 0x4f849e
sub esp, 0x13c
lea edi, [esp + 0x94]
xor eax, eax
call fcn.00465a49
lea edi, [esp + 0xd0]
call fcn.00465a35
lea ecx, [esp + 0xd0]
mov dword [esp + 0xa0], ecx
call sym.runtime.fastrand
mov ecx, dword [esp]
mov dword [esp + 0x9c], ecx
xor eax, eax
jmp 0x4f7dc3
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x144]
cmp ecx, eax
jle 0x4f7e5c
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 + 0x3c], edx
lea ebp, [0x51f900]
mov dword [esp], ebp
lea esi, [esp + 0x94]
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 0x4f7dbc
mov dword [esp + 0x64], eax
lea eax, [0x51f900]
mov dword [esp], eax
lea ecx, [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x80]
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 + 0x64]
dec ecx
mov dword [eax], ecx
jmp 0x4f7dbc
xor eax, eax
jmp 0x4f7e6e
mov edx, dword [esp + 0x6c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x150]
cmp edx, eax
jle 0x4f7f03
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 + 0x38], edx
lea ebp, [0x51f900]
mov dword [esp], ebp
lea esi, [esp + 0x94]
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 0x4f7e60
mov dword [esp + 0x60], eax
lea eax, [0x51f900]
mov dword [esp], eax
lea ecx, [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
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 + 0x60]
add ecx, 0xfffffffc
mov dword [eax], ecx
jmp 0x4f7e60
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x4f7f22
lea edi, [ecx + 1]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x150]
mov ebx, eax
mov eax, edi
mov dword [esp + 0x70], esi
mov dword [esp + 0x20], ebx
cmp edx, eax
jle 0x4f8012
mov dword [esp + 0x5c], eax
mov dword [esp + 0x24], 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 + 0x34], edx
lea ebp, [0x51f900]
mov dword [esp], ebp
lea esi, [esp + 0x94]
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 0x4f7f8d
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
mov esi, dword [esp + 0x70]
jmp 0x4f7f0d
lea eax, [0x51f900]
mov dword [esp], eax
lea ecx, [esp + 0x94]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0xc], edx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x20]
mov dword [eax], ecx
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x24]
cmp ecx, eax
jb 0x4f7fd3
mov esi, dword [esp + 0x70]
mov ebp, ecx
jmp 0x4f8005
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, [0x51e8c0]
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 0x4f7f0d
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 0x4f8070
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 + 0x20]
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 + 0x40], ebp
cmp ecx, eax
jle 0x4f81f5
mov dword [esp + 0x58], eax
mov dword [esp + 0x2c], edi
mov ecx, dword [esp + 0x140]
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
lea ebp, [0x51f900]
mov dword [esp], ebp
lea esi, [esp + 0x94]
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 0x4f81d1
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jl 0x4f81ad
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x40]
inc ecx
mov edx, dword [esp + 0x2c]
cmp edx, ecx
jb 0x4f80e6
mov ebx, dword [esp + 0x74]
jmp 0x4f8120
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, [0x51e8c0]
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 + 0x28], 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 0x4f8199
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, [0x51e8c0]
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 + 0x28]
mov ecx, dword [esp + 0x84]
mov dword [ecx + esi*4 - 4], eax
mov eax, dword [esp + 0x28]
jmp 0x4f8037
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x84]
jmp 0x4f8037
mov ebp, dword [esp + 0x58]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov ecx, dword [esp + 0x84]
jmp 0x4f8037
lea eax, [0x51e8c0]
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, [0x51e8c0]
mov dword [esp], ecx
mov ecx, dword [esp + 0x40]
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 + 0x40]
xor ebx, ebx
jmp 0x4f824a
lea ebp, [edx + 1]
mov dword [ecx + ebx*4], ebp
inc ebx
cmp ebx, edx
jl 0x4f8243
mov dword [esp + 0x88], eax
mov dword [esp + 0x54], 0
jmp 0x4f8276
inc edx
mov edi, ebx
mov ebx, dword [esp + 0x88]
mov dword [ebx + ebp*4], edx
inc dword [esp + 0x54]
mov eax, ebx
mov ecx, edi
mov edx, esi
cmp dword [esp + 0x54], edx
jge 0x4f833e
lea edi, [esp + 0xb0]
xor eax, eax
call fcn.00465a48
lea ecx, [sym.internal_diff.tgs.func1]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], edx
mov ebx, dword [esp + 0x8c]
mov dword [esp + 0xb4], ebx
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0xc4], ebp
mov esi, dword [esp + 0x50]
mov dword [esp + 0xc8], esi
mov esi, dword [esp + 0x84]
mov dword [esp + 0xc0], esi
lea ecx, [esp + 0x54]
mov dword [esp + 0xcc], ecx
mov dword [esp], edx
lea ecx, [esp + 0xb0]
mov dword [esp + 4], ecx
call sym.sort.Search
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x4c]
cmp ecx, eax
jbe 0x4f8498
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + eax*4]
mov esi, dword [esp + 0x40]
cmp esi, edx
jbe 0x4f848f
mov ebx, dword [esp + 0x8c]
mov dword [ebx + edx*4], ebp
mov ebp, dword [esp + 0x54]
cmp esi, ebp
ja 0x4f825f
jmp 0x4f8486
xor ecx, ecx
xor ebx, ebx
jmp 0x4f8347
inc ecx
mov ebx, ebp
cmp ecx, edx
jge 0x4f8356
mov ebp, dword [eax + ecx*4]
cmp ebx, ebp
jl 0x4f8344
mov ebp, ebx
jmp 0x4f8344
mov dword [esp + 0x44], ebx
lea eax, [0x525320]
mov dword [esp], eax
lea eax, [ebx + 2]
mov dword [esp + 0x30], 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 + 0x30]
cmp ecx, edx
jae 0x4f847d
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x8c], ebp
lea esi, [ebp + eax*8 + 8]
mov edi, dword [esp + 0x144]
mov dword [esi], edi
lea esi, [ebp + eax*8 + 0xc]
mov edi, dword [esp + 0x150]
mov dword [esi], edi
mov ecx, dword [esp + 0x40]
lea esi, [ecx - 1]
mov edi, dword [esp + 0x88]
mov ebx, dword [esp + 0x20]
jmp 0x4f83cb
dec esi
mov edi, dword [esp + 0x88]
test esi, esi
jl 0x4f8433
cmp esi, ecx
jae 0x4f8476
lea edi, [edi + esi*4]
cmp dword [edi], eax
jne 0x4f83c3
mov edi, dword [esp + 0x4c]
cmp esi, edi
jae 0x4f846d
mov edi, dword [esp + 0x84]
mov edi, dword [edi + esi*4]
cmp ecx, edi
jle 0x4f83c3
mov ebp, dword [esp + 0x74]
mov ebp, dword [ebp + esi*4]
cmp ebx, edi
jbe 0x4f8464
mov ebx, dword [esp + 0x70]
mov edi, dword [ebx + edi*4]
cmp eax, edx
jae 0x4f845d
mov edx, dword [esp + 0x8c]
lea ebx, [edx + eax*8]
mov dword [ebx], ebp
lea ebx, [edx + eax*8 + 4]
mov dword [ebx], edi
dec eax
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x8c]
jmp 0x4f83c3
mov dword [ebp], 0
mov dword [ebp + 4], 0
mov dword [esp + 0x158], ebp
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, ebx
call sym.runtime.panicIndex
mov eax, esi
mov ecx, edi
call sym.runtime.panicIndex
mov eax, esi
call sym.runtime.panicIndex
mov eax, ecx
mov ecx, edx
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, esi
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