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

Disassembly:
push 0xffffffffffffffff
push 0x526388
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
xor esi, esi
push edi
mov ebp, ecx
push esi
push esi
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov dword [esp + 0x74], esi
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x5482a4
call fcn.004f58e0
mov ecx, 0x5540a8
mov dword [esp + 0x74], 0xffffffff
call fcn.004f91a0
push 7
push 0x54bd38
lea ecx, [esp + 0x28]
call fcn.004f58e0
push 7
push 0x54bd30
lea ecx, [esp + 0x24]
mov dword [esp + 0x6c], 1
call fcn.004f58e0
push 7
push 0x54bd28
lea ecx, [esp + 0x20]
mov byte [esp + 0x6c], 2
call fcn.004f58e0
push esi
lea ecx, [esp + 0x18]
mov byte [esp + 0x68], 3
call fcn.004f5870
mov al, byte [0x554048]
mov ecx, 7
mov byte [esp + 0x3c], al
xor eax, eax
lea edi, [esp + 0x3d]
push 1
rep stosd dword es:[edi], eax
mov cl, byte [esp + 0x17]
mov byte [esp + 0x68], 4
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [esp + 0x30], cl
mov edi, 0x554048
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov dword [esp + 0x34], esi
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], esi
call fcn.004016f0
test al, al
je 0x486b32
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov edx, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x30]
call fcn.004016d0
xor esi, esi
push ecx
mov byte [esp + 0x68], 5
mov ecx, esp
mov dword [esp + 0x2c], esp
push 6
push 0x54bd20
call fcn.004f58e0
mov ecx, dword [0x5540c0]
call fcn.004fddb0
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x18]
call fcn.004f5b70
lea eax, [esp + 0x20]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x28]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0x78], 6
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x74], 5
call fcn.00480fb0
test al, al
je 0x48729d
push 4
lea ecx, [esp + 0x18]
call fcn.004f5b60
cmp al, 0x5b
jne 0x48729d
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x3c]
push 1
rep stosd dword es:[edi], eax
mov edi, 0x554048
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
call fcn.004016f0
test al, al
je 0x486c19
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov eax, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [ecx + ebx], 0
xor bl, bl
lea edi, [esp + 0x3c]
xor dx, dx
lea ecx, [esp + 0x14]
mov dl, bl
lea esi, [edx + 6]
push esi
call fcn.004f5b60
cmp al, 0x20
jb 0x486c55
push esi
lea ecx, [esp + 0x18]
call fcn.004f5b60
cmp al, 0x80
ja 0x486c55
push esi
lea ecx, [esp + 0x18]
call fcn.004f5b60
and eax, 0xff
push eax
jmp 0x486c57
push 0x2a
push 0x5482ac
push edi
call fcn.0051497a
add esp, 0xc
inc bl
inc edi
cmp bl, 0x10
jb 0x486c1f
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
call fcn.004016f0
test al, al
je 0x486cb1
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x3c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [ecx + ebx], 0
mov dl, byte [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
xor esi, esi
mov dword [esp + 0x38], esp
mov byte [ecx], dl
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], esi
mov eax, dword [0x530168]
lea edx, [esp + 0x3c]
push eax
push esi
push edx
call fcn.004011e0
push ecx
mov byte [esp + 0x78], 8
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x54bd18
call fcn.004f58e0
mov ecx, dword [0x5540c0]
mov byte [esp + 0x78], 5
call fcn.004fe030
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x18]
call fcn.004f5b70
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x24]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0x78], 9
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x74], 5
call fcn.00480fb0
test al, al
je 0x487244
push 4
lea ecx, [esp + 0x18]
call fcn.004f5b60
cmp al, 0x5b
jne 0x487244
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x3c]
push 1
rep stosd dword es:[edi], eax
mov edi, 0x554048
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
call fcn.004016f0
test al, al
je 0x486dc8
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov eax, ecx
mov esi, 0x554048
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [ecx + ebx], 0
xor bl, bl
lea edi, [esp + 0x3c]
xor dx, dx
lea ecx, [esp + 0x14]
mov dl, bl
lea esi, [edx + 6]
push esi
call fcn.004f5b60
cmp al, 0x20
jb 0x486e04
push esi
lea ecx, [esp + 0x18]
call fcn.004f5b60
cmp al, 0x80
ja 0x486e04
push esi
lea ecx, [esp + 0x18]
call fcn.004f5b60
and eax, 0xff
push eax
jmp 0x486e06
push 0x2a
push 0x5482ac
push edi
call fcn.0051497a
add esp, 0xc
inc bl
inc edi
cmp bl, 0x10
jb 0x486dce
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
push 1
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x30]
push ebx
call fcn.004016f0
test al, al
je 0x486e60
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov eax, ecx
lea esi, [esp + 0x3c]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [ecx + ebx], 0
mov dl, byte [esp + 0x2c]
sub esp, 0x10
mov ecx, esp
xor esi, esi
mov dword [esp + 0x38], esp
mov byte [ecx], dl
mov dword [ecx + 4], esi
mov dword [ecx + 8], esi
mov dword [ecx + 0xc], esi
mov eax, dword [0x530168]
lea edx, [esp + 0x3c]
push eax
push esi
push edx
call fcn.004011e0
push ecx
mov byte [esp + 0x78], 0xb
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x54bd10
call fcn.004f58e0
mov ecx, dword [0x5540c0]
mov byte [esp + 0x78], 5
call fcn.004fe030
push ecx
mov ecx, esp
mov dword [esp + 0x2c], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x18]
call fcn.004f5b70
lea eax, [esp + 0x18]
mov ecx, ebp
push eax
call fcn.004d3100
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push esi
call fcn.004f5870
lea ecx, [esp + 0x1c]
lea edx, [esp + 0x20]
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push edx
mov byte [esp + 0x78], 0xc
call fcn.004f5850
mov ecx, ebp
mov byte [esp + 0x74], 5
call fcn.00480fb0
test al, al
je 0x4871dc
push 4
lea ecx, [esp + 0x18]
call fcn.004f5b60
cmp al, 0x5a
jne 0x4871dc
mov ecx, 8
xor eax, eax
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
mov edi, 0x554048
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x2c]
call fcn.00401a70
cmp eax, ebx
jae 0x486f54
call fcn.0051414b
mov edi, dword [esp + 0x30]
cmp edi, esi
je 0x486f7c
mov al, byte [edi - 1]
test al, al
je 0x486f7c
cmp al, 0xff
je 0x486f7c
cmp ebx, esi
jne 0x486fa5
dec al
push esi
lea ecx, [esp + 0x30]
mov byte [edi - 1], al
call fcn.004013e0
jmp 0x486fd4
cmp ebx, esi
jne 0x486f8d
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
jmp 0x486fd4
mov eax, dword [esp + 0x38]
cmp eax, 0x1f
ja 0x486f9a
cmp eax, ebx
jae 0x486fb3
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x30]
call fcn.00401a80
mov edi, dword [esp + 0x30]
mov ecx, ebx
mov esi, 0x554048
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [ecx + ebx], 0
xor bl, bl
lea esi, [esp + 0x3c]
xor dx, dx
lea ecx, [esp + 0x14]
mov dl, bl
add edx, 6
push edx
call fcn.004f5b60
and eax, 0xff
push eax
push 0x5482ac
push esi
call fcn.0051497a
add esp, 0xc
inc bl
inc esi
cmp bl, 0x1d
jb 0x486fda
lea edi, [esp + 0x3c]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x487022
call fcn.0051414b
mov edi, dword [esp + 0x30]
test edi, edi
je 0x48704a
mov al, byte [edi - 1]
test al, al
je 0x48704a
cmp al, 0xff
je 0x48704a
test ebx, ebx
jne 0x487073
dec al
push ebx
lea ecx, [esp + 0x30]
mov byte [edi - 1], al
call fcn.004013e0
jmp 0x4870a1
test ebx, ebx
jne 0x48705b
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
jmp 0x4870a1
mov eax, dword [esp + 0x38]
cmp eax, 0x1f
ja 0x487068
cmp eax, ebx
jae 0x487081
push 1
lea ecx, [esp + 0x30]
call fcn.004013e0
push ebx
lea ecx, [esp + 0x30]
call fcn.00401a80
mov edi, dword [esp + 0x30]
mov ecx, ebx
lea esi, [esp + 0x3c]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov byte [ecx + ebx], 0
mov dl, byte [esp + 0x2c]
sub esp, 0x10
mov ebp, esp
xor edi, edi
mov dword [esp + 0x38], esp
mov byte [ebp], dl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov ecx, dword [esp + 0x44]
mov eax, dword [0x530168]
mov ebx, ecx
cmp eax, ebx
jae 0x4870cd
mov ebx, eax
lea edx, [esp + 0x3c]
cmp ebp, edx
jne 0x4870ec
push eax
push ebx
mov ecx, ebp
call fcn.004015b0
push edi
push edi
mov ecx, ebp
call fcn.004015b0
jmp 0x487173
cmp ebx, edi
jbe 0x487138
cmp ebx, ecx
jne 0x487138
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x487101
mov eax, 0x530164
cmp byte [eax - 1], 0xfe
jae 0x487138
push 1
mov ecx, ebp
call fcn.004013e0
mov eax, dword [esp + 0x40]
cmp eax, edi
jne 0x48711d
mov eax, 0x530164
mov dword [ebp + 4], eax
mov ecx, dword [esp + 0x44]
mov dword [ebp + 8], ecx
mov edx, dword [esp + 0x48]
mov dword [ebp + 0xc], edx
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x487173
push 1
push ebx
mov ecx, ebp
call fcn.004016f0
test al, al
je 0x487173
mov esi, dword [esp + 0x40]
cmp esi, edi
jne 0x487153
mov esi, 0x530164
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
xor edi, edi
mov byte [ebx], 0
push ecx
mov byte [esp + 0x78], 0xe
mov ecx, esp
mov dword [esp + 0x38], esp
push 6
push 0x54bd08
call fcn.004f58e0
mov ecx, dword [0x5540c0]
mov byte [esp + 0x78], 5
call fcn.004fe030
mov ecx, dword [0x5540c0]
call fcn.004fe140
mov eax, dword [esp + 0x30]
cmp eax, edi
je 0x4871cb
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4871c2
cmp al, 0xff
je 0x4871c2
dec al
mov byte [ecx], al
jmp 0x4871cb
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
jmp 0x48730b
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x74], 0xd
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x54828c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x74], 5
call fcn.004f91a0
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x4872ff
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4872f6
cmp al, 0xff
je 0x4872f6
dec al
mov byte [ecx], al
jmp 0x4872ff
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x74], 0xa
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x54828c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x74], 5
call fcn.004f91a0
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x4872ff
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4872f6
cmp al, 0xff
je 0x4872f6
dec al
mov byte [ecx], al
jmp 0x4872ff
push esi
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
mov byte [esp + 0x74], 7
mov ecx, esp
mov dword [esp + 0x34], esp
push 6
push 0x54828c
call fcn.004f58e0
mov ecx, 0x5540a8
mov byte [esp + 0x74], 5
call fcn.004f91a0
mov eax, dword [esp + 0x30]
cmp eax, esi
je 0x4872ff
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4872f6
cmp al, 0xff
je 0x4872f6
dec al
mov byte [ecx], al
jmp 0x4872ff
push ecx
call fcn.00514140
add esp, 4
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 3
call fcn.004f5980
lea ecx, [esp + 0x18]
mov byte [esp + 0x64], 2
call fcn.004f5980
lea ecx, [esp + 0x1c]
mov byte [esp + 0x64], 1
call fcn.004f5980
lea ecx, [esp + 0x20]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f5980
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
xor ax, ax
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret