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

Disassembly:
push 0xffffffffffffffff
push 0x526470
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c
push ebx
push ebp
push esi
push edi
mov ebp, ecx
mov dword [esp + 0x64], 1
call fcn.00501140
test al, al
je 0x487764
mov eax, dword [esp + 0x70]
lea edx, [esp + 0x6c]
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x78], esp
push edx
call fcn.004f5850
mov ecx, ebp
call fcn.00487e40
lea ecx, [esp + 0x6c]
mov bl, al
mov byte [esp + 0x64], 0
call fcn.004f5980
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f5980
mov al, bl
jmp 0x487e23
mov esi, dword [esp + 0x70]
mov ebx, 2
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push 0
call fcn.004f5870
mov ecx, esi
call fcn.004f5b70
lea ecx, [esp + 0x28]
call fcn.0050a720
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], bl
call fcn.004f70e0
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5840
push ecx
lea eax, [esp + 0x70]
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
mov byte [esp + 0x6c], 4
call fcn.004f5850
lea ecx, [esp + 0x24]
call fcn.004f5b70
mov cx, word [ebp + 8]
lea edx, [esp + 0x20]
dec cx
push edx
neg cx
sbb ecx, ecx
and ecx, 0xfd
inc ecx
mov word [esp + 0x28], cx
lea ecx, [esp + 0x2c]
call fcn.004f6590
sub esp, 0x24
lea ecx, [esp + 0x4c]
mov eax, esp
mov dword [esp + 0x94], esp
push 0
push ecx
push eax
mov ecx, 0x554070
call fcn.004f3fa0
lea ecx, [esp + 0x5c]
call fcn.004f7290
lea ecx, [esp + 0x38]
call fcn.004f76c0
test ax, ax
jle 0x487dd9
push 0
lea ecx, [esp + 0x3c]
call fcn.004f7600
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x487dd9
mov edx, dword [eax + 8]
sub edx, ecx
sar edx, 2
je 0x487dd9
push 0
lea ecx, [esp + 0x3c]
call fcn.004f7600
mov ecx, dword [eax + 4]
call fcn.004f5d00
test ax, ax
jle 0x487dd9
push ecx
lea ecx, [esp + 0x3c]
mov eax, esp
mov dword [esp + 0x74], esp
push eax
call fcn.004f7610
mov ecx, esi
call fcn.004f5b70
mov ecx, esi
call fcn.004f5d00
cmp ax, 5
jl 0x487dd9
push 0
mov ecx, esi
call fcn.004f5b60
cmp al, 0x80
jb 0x487dd9
push 1
mov ecx, esi
call fcn.004f5b60
cmp al, 0xf1
jne 0x487dd9
push ebx
mov ecx, esi
call fcn.004f5b60
cmp al, 0x28
jne 0x487dd9
mov ecx, esi
call fcn.004f5d00
dec eax
lea ecx, [esp + 0x10]
push eax
push 0x55404c
call fcn.004f58e0
push 0
mov ecx, esi
mov byte [esp + 0x68], 5
call fcn.004f5b60
cmp al, 0x80
jne 0x487966
push 3
mov ecx, esi
call fcn.004f5b60
add al, 0x80
lea ecx, [esp + 0x10]
push eax
push 0
call fcn.004f5c80
mov ecx, esi
mov edi, 1
call fcn.004f5d00
movsx ecx, ax
dec ecx
cmp ecx, edi
jle 0x487940
cmp edi, 3
jl 0x48791d
lea edx, [edi + 1]
push edx
jmp 0x48791e
push edi
mov ecx, esi
call fcn.004f5b60
push eax
push edi
lea ecx, [esp + 0x18]
call fcn.004f5c80
mov ecx, esi
inc edi
call fcn.004f5d00
movsx eax, ax
dec eax
cmp edi, eax
jl 0x487912
lea ecx, [esp + 0x10]
push ecx
mov ecx, ebp
call fcn.004d3100
mov ecx, esi
call fcn.004f5d00
dec eax
lea ecx, [esp + 0x10]
push eax
call fcn.004f5d20
push eax
mov ecx, esi
call fcn.004f5dc0
push 3
mov ecx, esi
call fcn.004f5b60
cmp al, 0x7f
jne 0x487c59
push 4
mov ecx, esi
call fcn.004f5b60
push 3
lea ecx, [esp + 0x70]
mov bl, al
call fcn.004f5b60
cmp bl, al
jne 0x487c59
push 5
mov ecx, esi
call fcn.004f5b60
cmp al, 0x78
je 0x4879f4
push 5
mov ecx, esi
call fcn.004f5b60
cmp al, 0x21
jne 0x487b50
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
mov ebx, 2
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], bl
call fcn.004f71e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004f61c0
jmp 0x48776d
mov byte [esp + 0x78], 1
xor ebx, ebx
sub esp, 0x24
mov ecx, 0x554070
mov edx, esp
mov dword [esp + 0x94], esp
push ebx
push edx
call fcn.004f4b10
lea ecx, [esp + 0x5c]
call fcn.004f7290
lea ecx, [esp + 0x38]
call fcn.004f76c0
test ax, ax
jle 0x487a9d
push ebx
lea ecx, [esp + 0x3c]
call fcn.004f7600
mov ecx, dword [eax + 4]
cmp ecx, ebx
je 0x487a9d
mov eax, dword [eax + 8]
sub eax, ecx
sar eax, 2
je 0x487a9d
push ebx
lea ecx, [esp + 0x3c]
call fcn.004f7600
mov ecx, dword [eax + 4]
call fcn.004f5d00
cmp ax, 5
jl 0x487a9d
push ebx
push ebx
lea ecx, [esp + 0x40]
call fcn.004f7600
mov ecx, eax
call fcn.0041fe70
push ecx
mov ecx, esp
mov dword [esp + 0x74], esp
push eax
call fcn.004f5850
mov ecx, esi
call fcn.004f5b70
push 3
mov ecx, esi
call fcn.004f5b60
cmp al, 0x7f
jne 0x487af3
push 5
mov ecx, esi
call fcn.004f5b60
cmp al, 0x78
jne 0x487af3
mov al, byte [esp + 0x78]
mov cl, al
inc al
cmp cl, 5
mov byte [esp + 0x78], al
jb 0x4879fb
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004f71e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004f61c0
mov byte [esp + 0x64], bl
jmp 0x487e07
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004f71e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004f61c0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], bl
call fcn.004f5980
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f5980
mov al, 1
jmp 0x487e23
mov al, byte [esp + 0x78]
test al, al
je 0x487c33
push 6
push 0x54bd50
lea ecx, [esp + 0x80]
call fcn.004f58e0
xor bl, bl
mov byte [esp + 0x64], 6
mov byte [esp + 0x18], 0x10
mov byte [esp + 0x19], 0x12
mov byte [esp + 0x1a], 0x22
mov byte [esp + 0x1b], 0x33
mov byte [esp + 0x1c], 0x35
mov byte [esp + 0x70], bl
push 5
mov ecx, esi
call fcn.004f5b60
mov edx, dword [esp + 0x70]
and edx, 0xff
cmp al, byte [esp + edx + 0x18]
je 0x487bb9
inc bl
cmp bl, 0x1e
mov byte [esp + 0x70], bl
jb 0x487b93
jmp 0x487bd6
push 5
mov ecx, esi
call fcn.004f5b60
push eax
push 5
lea ecx, [esp + 0x80]
call fcn.004f5c80
cmp bl, 0x1e
jb 0x487be6
push 0
push 5
lea ecx, [esp + 0x80]
call fcn.004f5c80
push 0
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x7c], esp
push 6
push 0x548208
call fcn.004f58e0
push ecx
lea eax, [esp + 0x88]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
mov byte [esp + 0x78], 7
call fcn.004f5850
mov ecx, 0x5540a8
mov byte [esp + 0x74], 6
call fcn.004f91a0
lea ecx, [esp + 0x78]
mov byte [esp + 0x64], 5
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
mov byte [esp + 0x64], 2
jmp 0x487deb
push esi
lea ecx, [esp + 0x18]
call fcn.004f5850
mov ecx, esi
mov byte [esp + 0x64], 8
call fcn.004f5d00
dec eax
mov ecx, esi
push eax
call fcn.004f5b60
lea ecx, [esp + 0x14]
mov bl, al
push ecx
mov ecx, ebp
call fcn.004d3100
cmp al, bl
je 0x487cbe
mov byte [esp + 0x64], 5
lea ecx, [esp + 0x14]
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
mov byte [esp + 0x64], 2
jmp 0x487deb
push 0
lea ecx, [esp + 0x7c]
call fcn.004f5870
lea edx, [esp + 0x78]
lea ecx, [esp + 0x74]
push edx
mov byte [esp + 0x68], 9
call fcn.004f5c20
lea ecx, [esp + 0x78]
mov bl, al
mov byte [esp + 0x64], 8
call fcn.004f5980
test bl, bl
je 0x487d5c
lea ecx, [esp + 0x14]
mov byte [esp + 0x64], 5
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004f71e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004f61c0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0
call fcn.004f5980
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f5980
mov al, 1
jmp 0x487e23
lea eax, [esp + 0x74]
mov ecx, esi
push eax
call fcn.004f5c20
test al, al
mov byte [esp + 0x64], 5
lea ecx, [esp + 0x14]
je 0x487c93
call fcn.004f5980
lea ecx, [esp + 0x10]
mov byte [esp + 0x64], 4
call fcn.004f5980
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
lea ecx, [esp + 0x38]
mov byte [esp + 0x64], 2
call fcn.004f71e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004f61c0
lea ecx, [esp + 0x6c]
mov byte [esp + 0x64], 0
call fcn.004f5980
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f5980
mov al, 1
jmp 0x487e23
lea ecx, [esp + 0x20]
mov byte [esp + 0x64], 3
call fcn.004f5980
mov byte [esp + 0x64], bl
lea ecx, [esp + 0x38]
call fcn.004f71e0
lea ecx, [esp + 0x28]
mov byte [esp + 0x64], 1
call fcn.004f61c0
mov byte [esp + 0x64], 0
lea ecx, [esp + 0x6c]
call fcn.004f5980
lea ecx, [esp + 0x74]
mov dword [esp + 0x64], 0xffffffff
call fcn.004f5980
xor al, al
mov ecx, dword [esp + 0x5c]
pop edi
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x58
ret 0x10