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

Disassembly:
push 0xffffffffffffffff
push 0x5ce5ba
mov eax, dword fs:[0]
push eax
sub esp, 0xac
push ebx
push ebp
push esi
push edi
mov eax, dword [0x680f10]
xor eax, esp
push eax
lea eax, [esp + 0xc0]
mov dword fs:[0], eax
mov dword [esp + 0x14], ecx
xor ebx, ebx
push 1
mov dword [esp + 0xcc], ebx
call fcn.00471ea0
mov esi, eax
cmp esi, ebx
jne 0x48084a
lea ecx, [esp + 0xd0]
call fcn.00401650
xor eax, eax
jmp 0x480e85
push 0x5f0f3c
lea ecx, [esp + 0x84]
call fcn.0048cd50
lea eax, [esp + 0x80]
push eax
mov ecx, esi
mov byte [esp + 0xcc], 1
call fcn.004b7ac0
cmp dword [esp + 0x9c], 0x10
mov edi, eax
mov ebp, 0x5f1558
mov dword [esp + 0x24], edi
mov byte [esp + 0xc8], bl
mov dword [esp + 0x80], ebp
jb 0x4808a5
mov ecx, dword [esp + 0x88]
push ecx
call fcn.004274fc
add esp, 4
cmp edi, ebx
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
mov dword [esp + 0x80], 0x5f13d0
jne 0x4809b5
mov eax, dword [esi + 4]
push ebx
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
cmp eax, ebx
je 0x4808ef
mov ecx, eax
call fcn.004b77c0
mov edi, eax
jmp 0x4808f1
xor edi, edi
push 0x5f0f44
lea ecx, [esp + 0x40]
call fcn.0048cd50
push edi
lea edx, [esp + 0x40]
push edx
mov ecx, esi
mov byte [esp + 0xd0], 2
call fcn.004ba020
cmp dword [esp + 0x58], 0x10
mov byte [esp + 0xc8], bl
mov dword [esp + 0x3c], ebp
jb 0x480933
mov eax, dword [esp + 0x44]
push eax
call fcn.004274fc
add esp, 4
push 0x5f0f4c
lea ecx, [esp + 0xa4]
call fcn.0048cd50
lea ecx, [esp + 0xa0]
push ecx
mov ecx, esi
mov byte [esp + 0xcc], 3
call fcn.004b7ac0
cmp dword [esp + 0xbc], 0x10
mov esi, eax
mov dword [esp + 0x24], esi
mov byte [esp + 0xc8], bl
mov dword [esp + 0xa0], ebp
jb 0x480989
mov edx, dword [esp + 0xa8]
push edx
call fcn.004274fc
add esp, 4
cmp esi, ebx
mov dword [esp + 0xbc], 0xf
mov dword [esp + 0xb8], ebx
mov byte [esp + 0xa8], bl
mov dword [esp + 0xa0], 0x5f13d0
je 0x480837
mov edi, dword [esp + 0xd0]
cmp edi, ebx
mov dword [esp + 0x7c], ebx
je 0x4809ce
mov edx, dword [edi]
cmp edx, ebx
mov dword [esp + 0x1c], edx
jne 0x4809d6
lea edx, [esp + 0x7c]
mov dword [esp + 0x1c], edx
mov esi, 1
xor ecx, ecx
cmp word [edx], bx
mov dword [esp + 0x2c], esi
je 0x480a04
mov eax, edx
cmp word [eax], 0x2e
jne 0x4809f4
mov word [eax], bx
add esi, 1
add ecx, 1
cmp word [edx + ecx*2], bx
lea eax, [edx + ecx*2]
jne 0x4809e8
mov dword [esp + 0x2c], esi
cmp esi, ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x28], ebx
jbe 0x480e37
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
jmp 0x480a20
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x480a20
sub eax, edx
sar eax, 1
je 0x480837
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x14]
push eax
mov ecx, edi
call fcn.00476d90
xor ebp, ebp
cmp eax, ebx
mov dword [esp + 0x34], eax
jbe 0x480b66
mov ecx, dword [esp + 0x20]
push ebp
push ecx
mov ecx, edi
call fcn.00476ed0
mov esi, eax
cmp esi, ebx
je 0x480b55
mov ecx, dword [esp + 0x14]
push esi
lea edx, [esp + 0x3c]
push edx
call fcn.00471100
mov edi, eax
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x34]
mov byte [esp + 0xcc], 4
call fcn.00403260
mov ecx, dword [eax]
mov eax, dword [edi]
cmp ecx, eax
jne 0x480a9d
xor eax, eax
jmp 0x480ab7
cmp ecx, ebx
jne 0x480aa6
or eax, 0xffffffff
jmp 0x480ab7
cmp eax, ebx
jne 0x480ab1
mov eax, 1
jmp 0x480ab7
push eax
call fcn.00464380
cmp eax, ebx
mov eax, dword [esp + 0x30]
setne byte [esp + 0x1b]
cmp eax, ebx
je 0x480b04
mov edi, eax
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x480b00
cmp edi, ebx
je 0x480b00
mov eax, dword [edi]
cmp eax, ebx
je 0x480ae7
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x480af7
push eax
call fcn.004274fc
add esp, 4
push edi
call fcn.004274fc
add esp, 4
mov dword [esp + 0x30], ebx
mov edi, dword [esp + 0x38]
cmp edi, ebx
mov byte [esp + 0xc8], bl
je 0x480b4f
lea ecx, [edi + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
cmp eax, ebx
jne 0x480b4b
cmp edi, ebx
je 0x480b4b
mov eax, dword [edi]
cmp eax, ebx
je 0x480b32
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x480b42
push eax
call fcn.004274fc
add esp, 4
push edi
call fcn.004274fc
add esp, 4
mov dword [esp + 0x38], ebx
cmp byte [esp + 0x1b], bl
je 0x480bb5
mov edi, dword [esp + 0x14]
add ebp, 1
cmp ebp, dword [esp + 0x34]
jb 0x480a53
push ebx
push edi
push 0x18
call fcn.004b5290
add esp, 0xc
cmp eax, ebx
je 0x480b81
mov ecx, eax
call fcn.004b9d40
mov esi, eax
jmp 0x480b83
xor esi, esi
push ebx
push edi
push 0x10
call fcn.004b5290
add esp, 0xc
cmp eax, ebx
je 0x480ba7
push esi
mov ecx, eax
call fcn.004b5410
mov ecx, dword [esp + 0x24]
push eax
call fcn.004b8ee0
jmp 0x480bcf
mov ecx, dword [esp + 0x24]
xor eax, eax
push eax
call fcn.004b8ee0
jmp 0x480bcf
mov edx, dword [esp + 0x2c]
add edx, 0xffffffff
cmp dword [esp + 0x28], edx
jne 0x480bcf
cmp byte [esp + 0xd4], bl
jne 0x480837
cmp esi, ebx
je 0x480ea1
mov eax, dword [esp + 0x14]
push ebx
push eax
push 0x34
call fcn.004b5290
add esp, 0xc
cmp eax, ebx
je 0x480bfb
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, eax
call fcn.004b75e0
mov edi, eax
jmp 0x480bfd
xor edi, edi
push 0x5f0f54
lea ecx, [esp + 0x60]
call fcn.0048cd50
push edi
lea edx, [esp + 0x60]
push edx
mov ecx, esi
mov byte [esp + 0xd0], 5
call fcn.004ba020
mov ebp, 0x10
cmp dword [esp + 0x78], ebp
mov byte [esp + 0xc8], bl
mov dword [esp + 0x5c], 0x5f1558
jb 0x480c47
mov eax, dword [esp + 0x64]
push eax
call fcn.004274fc
add esp, 4
mov edi, dword [esp + 0x20]
cmp edi, ebx
je 0x480cb5
mov ecx, dword [esp + 0x14]
push ebx
push ecx
push ebp
call fcn.004b5290
add esp, 0xc
cmp eax, ebx
je 0x480c6e
push edi
mov ecx, eax
call fcn.004b5410
mov edi, eax
jmp 0x480c70
xor edi, edi
push 0x5f0f58
lea ecx, [esp + 0x60]
call fcn.0048cd50
push edi
lea edx, [esp + 0x60]
push edx
mov ecx, esi
mov byte [esp + 0xd0], 6
call fcn.004ba020
cmp dword [esp + 0x78], ebp
mov byte [esp + 0xc8], bl
mov dword [esp + 0x5c], 0x5f1558
jb 0x480cb5
mov eax, dword [esp + 0x64]
push eax
call fcn.004274fc
add esp, 4
push 0x5f0f60
lea ecx, [esp + 0x60]
mov dword [esp + 0x24], esi
call fcn.0048cd50
lea ecx, [esp + 0x5c]
push ecx
mov ecx, esi
mov byte [esp + 0xcc], 7
call fcn.004b7ac0
cmp dword [esp + 0x78], ebp
mov edi, eax
mov dword [esp + 0x24], edi
mov byte [esp + 0xc8], bl
mov dword [esp + 0x5c], 0x5f1558
jb 0x480d03
mov edx, dword [esp + 0x64]
push edx
call fcn.004274fc
add esp, 4
cmp edi, ebx
mov dword [esp + 0x78], 0xf
mov dword [esp + 0x74], ebx
mov byte [esp + 0x64], bl
mov dword [esp + 0x5c], 0x5f13d0
jne 0x480df3
mov eax, dword [esp + 0x14]
push ebx
push eax
push 0x20
call fcn.004b5290
add esp, 0xc
cmp eax, ebx
je 0x480d42
mov ecx, eax
call fcn.004b77c0
mov edi, eax
jmp 0x480d44
xor edi, edi
push 0x5f0f68
lea ecx, [esp + 0x40]
call fcn.0048cd50
push edi
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
mov byte [esp + 0xd0], 8
call fcn.004ba020
cmp dword [esp + 0x58], ebp
mov byte [esp + 0xc8], bl
mov dword [esp + 0x3c], 0x5f1558
jb 0x480d89
mov edx, dword [esp + 0x44]
push edx
call fcn.004274fc
add esp, 4
push 0x5f0f70
lea ecx, [esp + 0x40]
call fcn.0048cd50
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
mov byte [esp + 0xcc], 9
call fcn.004b7ac0
cmp dword [esp + 0x58], ebp
mov esi, eax
mov dword [esp + 0x24], esi
mov byte [esp + 0xc8], bl
mov dword [esp + 0x3c], 0x5f1558
jb 0x480dd3
mov ecx, dword [esp + 0x44]
push ecx
call fcn.004274fc
add esp, 4
cmp esi, ebx
mov dword [esp + 0x58], 0xf
mov dword [esp + 0x54], ebx
mov byte [esp + 0x44], bl
mov dword [esp + 0x3c], 0x5f13d0
je 0x480ee9
mov eax, dword [esp + 0x1c]
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
cmp cx, bx
jne 0x480e00
sub eax, edx
mov edx, dword [esp + 0x1c]
sar eax, 1
lea eax, [edx + eax*2 + 2]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
jb 0x480a14
mov edi, dword [esp + 0xd0]
mov ecx, dword [esp + 0x14]
push 1
lea eax, [ecx + 0x1e4]
push eax
call fcn.004806b0
cmp edi, ebx
je 0x480e81
lea ecx, [edi + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x480e81
mov eax, dword [edi]
cmp eax, ebx
je 0x480e68
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [edi + 4]
cmp eax, ebx
je 0x480e78
push eax
call fcn.004274fc
add esp, 4
push edi
call fcn.004274fc
add esp, 4
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0xc0]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb8
ret 8
cmp dword [esp + 0xd0], ebx
je 0x480ee5
mov esi, dword [esp + 0xd0]
lea ecx, [esi + 8]
push ecx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x480ee5
mov eax, dword [esi]
cmp eax, ebx
je 0x480ecc
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x480edc
push eax
call fcn.004274fc
add esp, 4
push esi
call fcn.004274fc
add esp, 4
xor eax, eax
jmp 0x480e85
mov esi, dword [esp + 0xd0]
cmp esi, ebx
je 0x480ee5
lea edx, [esi + 8]
push edx
call dword [sym.imp.KERNEL32.dll_InterlockedDecrement]
test eax, eax
jne 0x480ee5
mov eax, dword [esi]
cmp eax, ebx
je 0x480f0f
push eax
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esi + 4]
cmp eax, ebx
je 0x480f1f
push eax
call fcn.004274fc
add esp, 4
push esi
call fcn.004274fc
add esp, 4
xor eax, eax
jmp 0x480e85