Function at 0x4fff70
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 0x5006d0
sub esp, 0x13c
lea edi, [esp + 0x100]
xor eax, eax
call fcn.004695a9
lea edi, [esp + 0x94]
call fcn.00469595
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 0x4fffd3
mov ecx, dword [esp + 0x6c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x144]
cmp ecx, eax
jle 0x50006c
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 0x4fffcc
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 0x4fffcc
xor eax, eax
jmp 0x50007e
mov edx, dword [esp + 0x6c]
lea eax, [edx + 1]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x150]
cmp edx, eax
jle 0x500113
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 0x500070
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 0x500070
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
jmp 0x500132
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 0x500222
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 0x50019d
mov ecx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x70]
jmp 0x50011d
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 0x5001e3
mov esi, dword [esp + 0x70]
mov ebp, ecx
jmp 0x500215
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 0x50011d
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 0x500280
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 0x500405
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 0x5003e1
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
test eax, eax
jl 0x5003bd
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x2c]
inc ecx
mov edx, dword [esp + 0x30]
cmp edx, ecx
jb 0x5002f6
mov ebx, dword [esp + 0x74]
jmp 0x500330
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 0x5003a9
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 0x500247
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 0x500247
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 0x500247
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 0x50045a
lea ebp, [edx + 1]
mov dword [ecx + ebx*4], ebp
inc ebx
cmp ebx, edx
jl 0x500453
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 0x5004b3
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 0x5004cb
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 0x5004df
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 0x500584
mov dword [esp + 0x54], edi
xor eax, eax
lea edi, [esp + 0x11c]
call fcn.004695a8
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 0x5006ca
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 0x500486
jmp 0x5006c1
xor ecx, ecx
xor esi, esi
jmp 0x50058d
inc ecx
mov esi, edi
cmp ecx, edx
jge 0x50059c
mov edi, dword [eax + ecx*4]
cmp esi, edi
jl 0x50058a
mov edi, esi
jmp 0x50058a
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 0x5006b8
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 0x50060f
dec ebp
mov edi, dword [esp + 0x88]
test ebp, ebp
jl 0x50066f
cmp ebp, ecx
jae 0x5006b1
lea edi, [edi + ebp*4]
cmp dword [edi], eax
jne 0x500607
mov edi, dword [esp + 0x4c]
cmp ebp, edi
jae 0x5006a8
mov edi, dword [esp + 0x84]
mov edi, dword [edi + ebp*4]
cmp ecx, edi
jle 0x500607
mov ebx, dword [esp + 0x74]
mov ebx, dword [ebx + ebp*4]
cmp esi, edi
jbe 0x50069f
mov esi, dword [esp + 0x70]
mov edi, dword [esi + edi*4]
cmp eax, edx
jae 0x500698
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 0x500607
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