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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5c125b
mov eax, dword fs:[0]
push eax
sub esp, 0x58
push ebx
push esi
push edi
mov eax, dword [0x615370]
xor eax, esp
push eax
lea eax, [esp + 0x68]
mov dword fs:[0], eax
mov esi, dword [ebp + 0x10]
mov ebx, dword [ebp + 8]
xor edi, edi
mov dword [esp + 0x24], esi
cmp esi, edi
je 0x47eb14
mov eax, dword [esi]
mov ecx, dword [eax + 4]
push esi
call ecx
mov dword [esp + 0x70], edi
cmp esi, edi
je 0x47f30b
cmp dword [ebx + 0xbc], edi
je 0x47f30b
cmp dword [ebx + 4], edi
je 0x47f30b
lea edx, [esp + 0x10]
push edx
mov byte [esp + 0x74], 1
push esi
mov ecx, ebx
mov dword [esp + 0x18], edi
call fcn.00480ae0
test eax, eax
jne 0x47eb89
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x47eb64
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x70], 0xffffffff
mov eax, dword [esi]
mov ecx, dword [eax + 8]
push esi
call ecx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
lea edx, [esp + 0x3c]
push edx
call fcn.00427c80
mov byte [esp + 0x70], 2
call fcn.00440ea0
mov eax, dword [eax]
cmp eax, 1
jne 0x47ebf5
lea eax, [esp + 0x14]
push eax
mov ecx, 0x5d4ad0
call fcn.00406c20
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x18]
push edx
mov byte [esp + 0x78], 3
call fcn.00407d70
call fcn.00428be0
test eax, eax
lea ecx, [esp + 0x14]
sete bl
mov byte [esp + 0x70], 2
call fcn.004066e0
test bl, bl
je 0x47ec77
lea eax, [esp + 0x3c]
call fcn.00427f90
jmp 0x47eb4f
lea edx, [esp + 0x14]
push edx
mov ecx, str.XNBItemMenu
call fcn.00406c20
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x18]
push ecx
mov byte [esp + 0x78], 4
call fcn.00407d70
call fcn.00428be0
test eax, eax
lea ecx, [esp + 0x14]
sete bl
mov byte [esp + 0x70], 2
call fcn.004066e0
test bl, bl
je 0x47ec77
lea eax, [esp + 0x3c]
call fcn.00427f90
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x10]
cmp eax, edi
je 0x47ec52
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov dword [esp + 0x70], 0xffffffff
mov ecx, dword [esi]
mov edx, dword [ecx + 8]
push esi
call edx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x1d8
call fcn.005851c0
add esp, 4
mov dword [esp + 0x20], eax
mov byte [esp + 0x70], 5
cmp eax, edi
je 0x47eca0
mov ecx, eax
call fcn.0042ac00
mov ebx, eax
mov dword [esp + 0x14], eax
jmp 0x47eca6
xor ebx, ebx
mov dword [esp + 0x14], ebx
mov byte [esp + 0x70], 2
mov dword [esp + 0x28], ebx
cmp ebx, edi
je 0x47ecbb
mov eax, dword [ebx]
mov ecx, dword [eax + 4]
push ebx
call ecx
mov byte [esp + 0x70], 6
mov esi, dword [esp + 0x3c]
mov edi, ebx
call fcn.0042b0d0
mov esi, dword [esp + 0x44]
call fcn.0042b0a0
call fcn.00440ea0
cmp dword [eax], 1
jne 0x47ed00
xor eax, eax
mov dword [ebx + 0x17c], eax
mov dword [ebx + 0x180], eax
mov dword [ebx + 0x1a4], 0x24
mov dword [ebx + 0x1a8], 0x28
lea esi, [esp + 0x2c]
lea edi, [esp + 0x4c]
call fcn.0054b1b0
mov edi, dword [esp + 0x30]
mov ebx, dword [ebp + 0x10]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x2c]
mov esi, eax
cmp dword [esp + 0x58], eax
jbe 0x47ed2d
call fcn.00588c45
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x47ed37
cmp ecx, dword [esp + 0x4c]
je 0x47ed40
call fcn.00588c45
mov ecx, dword [esp + 0x2c]
cmp edi, esi
je 0x47f223
test ecx, ecx
jne 0x47ed79
call fcn.00588c45
xor eax, eax
cmp edi, dword [eax + 0x10]
jb 0x47ed5d
call fcn.00588c45
cmp dword [edi], 0x2711
jne 0x47ed7d
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x2c]
call eax
cmp eax, 9
jmp 0x47f1a0
mov eax, dword [ecx]
jmp 0x47ed53
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2713
jne 0x47edc1
cmp dword [ebx + 0x28c], 0
jne 0x47f1f6
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0xbc]
mov edx, dword [ecx]
mov eax, dword [edx + 0x30]
push ebx
call eax
mov edi, eax
neg edi
sbb edi, edi
neg edi
call fcn.00504c40
mov dword [eax + 0xc], edi
jmp 0x47f1a2
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2714
jne 0x47ee18
cmp dword [ebx + 0x28c], 0
jne 0x47f1f6
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0xbc]
mov edx, dword [ecx]
mov esi, dword [eax + 4]
mov eax, dword [edx + 0x30]
push ebx
call eax
mov ecx, dword [esi]
mov edx, dword [ecx + 0x30]
push esi
mov edi, eax
call edx
xor ecx, ecx
dec eax
cmp eax, edi
setne cl
lea esi, [esp + 0x2c]
mov edi, ecx
call fcn.00504c40
mov dword [eax + 0xc], edi
jmp 0x47f1a2
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2718
jne 0x47ee7f
mov ecx, dword [esp + 0x10]
lea esi, [esp + 0x18]
call fcn.00480c40
mov byte [esp + 0x70], 7
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0x2c]
call eax
mov byte [esp + 0x70], 6
cmp eax, 9
mov eax, dword [esp + 0x18]
jne 0x47ee6a
test eax, eax
je 0x47f1f6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x47f1f6
test eax, eax
je 0x47f1a2
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x47f1a2
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2715
jne 0x47eee8
mov eax, dword [ebx + 0xb4]
cmp eax, 0x5f5e0ff
je 0x47f1f6
cmp eax, 0x5f5e0fe
je 0x47f1f6
cmp eax, 0x5f5e0fd
je 0x47f1f6
cmp eax, 0x5f5e0fb
je 0x47f1f6
cmp eax, 0x5f5e0f9
je 0x47f1f6
cmp eax, 0x5f5e0f8
je 0x47f1f6
cmp eax, 0x63d947b
jne 0x47f1a2
jmp 0x47f1f6
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2716
jne 0x47efc5
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
mov esi, dword [ebx + 0xb4]
push eax
call edx
cmp eax, 3
je 0x47f1f6
cmp eax, 4
je 0x47f1f6
cmp eax, 5
je 0x47f1f6
cmp eax, 8
je 0x47f1f6
cmp eax, 9
je 0x47f1f6
cmp esi, 0x5f5e0ff
je 0x47f1f6
cmp esi, 0x5f5e0fe
je 0x47f1f6
cmp esi, 0x5f5e0fd
je 0x47f1f6
cmp esi, 0x5f5e0fb
je 0x47f1f6
cmp esi, 0x5f5e0f9
je 0x47f1f6
cmp esi, 0x5f5e0f8
je 0x47f1f6
cmp esi, 0x63d947b
je 0x47f1f6
call fcn.00440ea0
cmp dword [eax], 1
je 0x47f1a2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
push eax
call edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, eax
call fcn.00406c20
call fcn.004c8cc0
test eax, eax
jmp 0x47f1a0
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2712
jne 0x47f0bf
mov edi, dword [ebx + 0xb4]
cmp edi, 0x5f5e0fe
jne 0x47f021
lea edx, [esp + 0x20]
push edx
mov ecx, 0x5caac0
call fcn.00406c20
mov ecx, eax
mov byte [esp + 0x70], 8
call fcn.004c84b0
mov dword [esp + 0x1c], eax
call fcn.00504c40
mov ecx, dword [esp + 0x1c]
mov dword [eax + 0xc], ecx
lea ecx, [esp + 0x20]
mov byte [esp + 0x70], 6
call fcn.004066e0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x2c]
push eax
call edx
cmp eax, 3
je 0x47f1f6
cmp eax, 4
je 0x47f1f6
cmp eax, 5
je 0x47f1f6
cmp eax, 8
je 0x47f1f6
cmp eax, 9
je 0x47f1f6
cmp edi, 0x5f5e0fb
je 0x47f1f6
cmp edi, 0x5f5e0f9
je 0x47f1f6
cmp edi, 0x5f5e0f8
je 0x47f1f6
cmp edi, 0x63d947b
je 0x47f1f6
call fcn.00440ea0
cmp dword [eax], 1
je 0x47f1a2
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
push eax
call edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, eax
call fcn.00406c20
call fcn.004c8cc0
test eax, eax
jmp 0x47f1a0
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2717
jne 0x47f191
mov eax, dword [esp + 0x10]
mov edx, dword [eax]
mov esi, dword [ebx + 0xb4]
push eax
mov eax, dword [edx + 0x2c]
call eax
cmp eax, 3
je 0x47f1f6
cmp eax, 4
je 0x47f1f6
cmp eax, 5
je 0x47f1f6
cmp eax, 8
je 0x47f1f6
cmp eax, 6
je 0x47f1f6
cmp eax, 7
je 0x47f1f6
cmp eax, 9
je 0x47f1f6
cmp esi, 0x5f5e0ff
je 0x47f1f6
cmp esi, 0x5f5e0fe
je 0x47f1f6
cmp esi, 0x5f5e0fd
je 0x47f1f6
cmp esi, 0x5f5e0fb
je 0x47f1f6
cmp esi, 0x5f5e0f9
je 0x47f1f6
cmp esi, 0x5f5e0f8
je 0x47f1f6
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov edx, dword [ecx + 0x3c]
push eax
call edx
push ecx
mov ecx, esp
mov dword [esp + 0x20], esp
push ecx
mov ecx, eax
call fcn.00406c20
call fcn.004c8a40
test eax, eax
jmp 0x47f1a0
lea esi, [esp + 0x2c]
call fcn.00504c40
cmp dword [eax], 0x2719
je 0x47f1f6
push 0
push 0
push 1
push 1
lea esi, [esp + 0x3c]
call fcn.00504c40
add eax, 0x18
mov eax, dword [eax]
push eax
call fcn.00504c40
mov edx, dword [eax + 0xc]
push edx
call fcn.00504c40
add eax, 4
mov eax, dword [eax]
push ecx
sub eax, 0x10
mov dword [esp + 0x38], esp
mov esi, esp
call fcn.00406580
add eax, 0x10
mov dword [esi], eax
lea esi, [esp + 0x48]
call fcn.00504c40
mov eax, dword [eax]
mov ecx, dword [esp + 0x30]
push eax
push ecx
call fcn.0042b4a0
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x47f21f
call fcn.00588c45
xor eax, eax
mov edi, dword [esp + 0x30]
cmp edi, dword [eax + 0x10]
jb 0x47f213
call fcn.00588c45
add edi, 0x20
mov dword [esp + 0x30], edi
jmp 0x47ed14
mov eax, dword [eax]
jmp 0x47f205
lea edx, [esp + 0x34]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x14]
push eax
mov eax, dword [ebp + 0xc]
push ecx
push edx
call fcn.0042b720
add eax, 0xffffd8ef
cmp eax, 7
ja case.default.0x47f24f
jmp dword [eax*4 + 0x47f334]
mov eax, dword [ebp + 8]
push ebx
push eax
call fcn.00480430
jmp case.default.0x47f24f
mov ecx, dword [ebp + 8]
mov edi, ebx
call fcn.0047f360
jmp case.default.0x47f24f
mov edi, dword [ebp + 8]
mov esi, ebx
call fcn.0047f4f0
jmp case.default.0x47f24f
mov edi, dword [ebp + 8]
mov esi, ebx
call fcn.0047f5a0
jmp case.default.0x47f24f
mov edi, dword [ebp + 8]
mov esi, ebx
call fcn.0047f670
jmp case.default.0x47f24f
mov ecx, dword [ebp + 8]
push ebx
call fcn.0047f710
jmp case.default.0x47f24f
mov edi, dword [ebp + 8]
mov esi, ebx
call fcn.0047f9b0
jmp case.default.0x47f24f
mov ecx, dword [ebp + 8]
mov edi, ebx
call fcn.0047fa80
mov byte [esp + 0x70], 2
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47f2c8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x3c]
call fcn.00427f90
mov byte [esp + 0x70], 0
mov eax, dword [esp + 0x10]
test eax, eax
je 0x47f2e6
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x70], 0xffffffff
mov eax, dword [ebx]
mov ecx, dword [eax + 8]
push ebx
call ecx
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [esp + 0x70], 0xffffffff
cmp esi, edi
je 0x47f31f
mov edx, dword [esi]
mov eax, dword [edx + 8]
push esi
call eax
mov ecx, dword [esp + 0x68]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc