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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x520fd7
mov eax, dword fs:[0]
push eax
sub esp, 0x6c
mov eax, dword [0x56858c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
push 0xffffffffffffffff
xor edi, edi
mov esi, ecx
push edi
mov dword [ebp - 0x58], esi
call fcn.004c34e0
mov dword [esi], vtable.GuiControl::GuiLikabilityControl::LikabilityDialog.0
mov dword [ebp - 4], edi
mov dword [esi + 0x74], edi
mov dword [esi + 0x78], edi
mov dword [esi + 0x7c], edi
mov dword [esi + 0x80], edi
mov dword [esi + 0x84], edi
mov dword [esi + 0x88], edi
mov dword [esi + 0x8c], edi
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], edi
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edi
mov dword [esi + 0xa0], edi
mov dword [esi + 0xa8], edi
mov dword [esi + 0xac], edi
mov dword [esi + 0xb0], edi
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], edi
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x64], 0x559238
mov dword [ebp - 0x60], 1
mov dword [ebp - 0x68], vtable.CCriticalLock.0
mov dword [ebp - 0x54], edi
xor esi, esi
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], esi
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax]
mov ecx, 0x559238
mov byte [ebp - 4], 6
call edx
mov byte [ebp - 4], 7
cmp dword [0x5699f0], esi
jne 0x4f0929
push 0x218
call fcn.00503a77
add esp, 4
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 8
cmp eax, esi
je 0x4f0922
mov ecx, eax
call fcn.00414b10
jmp 0x4f0924
xor eax, eax
mov dword [0x5699f0], eax
mov eax, dword [vtable.CCriticalSection.0]
mov edx, dword [eax + 4]
mov ecx, 0x559238
mov byte [ebp - 4], 6
call edx
mov ecx, dword [0x5699f0]
mov eax, dword [ecx + 0x18]
cmp eax, esi
jne 0x4f094d
xor edi, edi
jmp 0x4f0963
mov edx, dword [ecx + 0x20]
cmp edx, esi
je 0x4f0959
mov edx, dword [edx + 0xc]
jmp 0x4f095b
xor edx, edx
mov edi, dword [ecx + 0x1c]
imul edi, edx
add edi, eax
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 0x564734]
push 0x24
mov dword [ebp - 0x44], ecx
call fcn.00503a77
add esp, 4
mov dword [ebp - 0x5c], eax
mov byte [ebp - 4], 9
cmp eax, esi
je 0x4f098d
mov ecx, eax
call fcn.004116f0
jmp 0x4f098f
xor eax, eax
push eax
lea ecx, [ebp - 0x50]
mov byte [ebp - 4], 6
call fcn.0040ced0
mov ebx, dword [ebp - 0x50]
mov esi, dword [ebp - 0x48]
test ebx, ebx
jne 0x4f09aa
xor eax, eax
jmp 0x4f09bb
test esi, esi
je 0x4f09b3
mov eax, dword [esi + 0xc]
jmp 0x4f09b5
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ebx
mov edx, dword [ebp - 0x44]
push edx
push eax
mov ecx, edi
call fcn.00467000
test al, al
je 0x4f0ad9
test ebx, ebx
jne 0x4f09d7
xor eax, eax
jmp 0x4f09e8
test esi, esi
je 0x4f09e0
mov eax, dword [esi + 0xc]
jmp 0x4f09e2
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ebx
mov edx, dword [eax + 8]
mov edi, dword [eax + 0xc]
test ebx, ebx
jne 0x4f09f6
xor ecx, ecx
jmp 0x4f0a07
test esi, esi
je 0x4f09ff
mov ecx, dword [esi + 0xc]
jmp 0x4f0a01
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, ebx
mov eax, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
add edx, eax
mov dword [ebp - 0x30], eax
add edi, ecx
lea eax, [ebp - 0x30]
mov dword [ebp - 0x2c], ecx
push eax
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x28], edx
push ecx
mov edx, ecx
push edx
mov dword [ebp - 0x24], edi
call dword [0x526388]
mov edi, dword [ebp - 0x58]
mov eax, dword [edi + 0x9c]
cmp eax, dword [edi + 0xa0]
jne 0x4f0a4c
push 1
lea ecx, [edi + 0x98]
call fcn.004c32d0
mov eax, dword [edi + 0x9c]
test eax, eax
je 0x4f0a68
mov ecx, dword [ebp - 0x4c]
mov dword [eax], ebx
mov dword [eax + 4], ecx
mov dword [eax + 8], esi
test esi, esi
je 0x4f0a68
inc dword [esi + 4]
add dword [edi + 0x9c], 0xc
mov byte [ebp - 4], 5
test esi, esi
je 0x4f0a9d
dec dword [esi + 4]
jne 0x4f0a95
cmp byte [esi + 8], 0
je 0x4f0a8a
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x54]
add eax, 4
mov dword [ebp - 0x54], eax
cmp eax, 4
jb 0x4f08d8
mov edi, dword [ebp - 0x58]
lea ecx, [edi + 0x8c]
call fcn.004c3110
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 0x18]
mov ebx, dword [edi + 0x8c]
sub eax, dword [ebp - 0x1c]
sub edx, dword [ebp - 0x20]
xor esi, esi
cmp ebx, esi
jne 0x4f0aee
xor ecx, ecx
jmp 0x4f0b08
push 0x5455d8
lea ecx, [ebp - 0x44]
push ecx
mov dword [ebp - 0x44], 1
call fcn.005036c5
mov ecx, dword [edi + 0x94]
cmp ecx, esi
je 0x4f0afb
mov esi, dword [ecx + 0xc]
mov ecx, dword [edi + 0x90]
imul ecx, esi
add ecx, ebx
xor esi, esi
push 1
push 1
push eax
push edx
call fcn.0040fc70
test al, al
jne 0x4f0b2c
push 0x5455d8
lea edx, [ebp - 0x44]
push edx
mov dword [ebp - 0x44], 1
call fcn.005036c5
mov ecx, dword [edi + 0x8c]
mov eax, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x74], eax
cmp ecx, esi
jne 0x4f0b43
xor eax, eax
jmp 0x4f0b5f
mov eax, dword [edi + 0x94]
cmp eax, esi
je 0x4f0b52
mov edx, dword [eax + 0xc]
jmp 0x4f0b54
xor edx, edx
mov eax, dword [edi + 0x90]
imul eax, edx
add eax, ecx
mov ecx, dword [ebp - 0x74]
push 0x10
mov dword [eax + 0x10], ebx
mov dword [eax + 0x14], ecx
call fcn.00503a77
add esp, 4
cmp eax, esi
je 0x4f0b80
mov dword [eax], esi
mov dword [eax + 4], esi
mov dword [eax + 8], esi
jmp 0x4f0b82
xor eax, eax
mov ecx, dword [ebp - 0x58]
push eax
add ecx, 0x74
call fcn.004af810
push 0x3c
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x3c], esi
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], esi
call fcn.00503a77
add esp, 4
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0xa
cmp eax, esi
je 0x4f0bb8
mov ecx, eax
call fcn.004c3430
mov esi, eax
xor ebx, ebx
mov byte [ebp - 4], 5
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
cmp esi, ebx
je 0x4f0c06
mov dword [ebp - 0x4c], ebx
mov ebx, esi
push 0x18
mov dword [ebp - 0x50], ebx
call fcn.00503a77
add esp, 4
test eax, eax
je 0x4f0bec
mov dword [eax], vtable.yaneuraoGameSDK3rd::YTL::nonarray_ref_object_class_GuiControl::CElement_.0
mov dword [eax + 0x14], esi
jmp 0x4f0bee
xor eax, eax
mov ecx, 1
mov dword [eax + 4], ecx
mov byte [eax + 8], cl
mov dword [eax + 0xc], 0x3c
mov dword [ebp - 0x48], eax
mov dword [eax + 0x10], ecx
mov eax, dword [edi + 0x90]
mov edx, dword [edi + 0x8c]
mov dword [ebp - 0x64], eax
mov eax, dword [edi + 0x94]
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x60], eax
test eax, eax
je 0x4f0c28
inc dword [eax + 4]
mov edx, dword [ebx + 0x20]
sub edx, dword [ebx + 0x1c]
lea ecx, [ebx + 0x1c]
mov eax, 0x2aaaaaab
imul edx
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
lea edx, [ebp - 0x68]
push edx
mov byte [ebp - 4], 0xc
call fcn.0044ca40
mov dword [ebx], esi
mov esi, dword [ebp - 0x60]
mov byte [ebp - 4], 0xb
test esi, esi
je 0x4f0c79
dec dword [esi + 4]
jne 0x4f0c79
cmp byte [esi + 8], 0
je 0x4f0c6e
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 1
mov ecx, esi
call edx
mov edx, dword [edi + 0x8c]
test edx, edx
jne 0x4f0c87
xor eax, eax
jmp 0x4f0ca3
mov eax, dword [edi + 0x94]
test eax, eax
je 0x4f0c96
mov ecx, dword [eax + 0xc]
jmp 0x4f0c98
xor ecx, ecx
mov eax, dword [edi + 0x90]
imul eax, ecx
add eax, edx
mov ecx, dword [edi + 0x8c]
mov edx, dword [eax + 8]
mov esi, dword [eax + 0xc]
test ecx, ecx
jne 0x4f0cb7
xor eax, eax
jmp 0x4f0cdc
mov eax, dword [edi + 0x94]
test eax, eax
je 0x4f0cc9
mov eax, dword [eax + 0xc]
mov dword [ebp - 0x5c], eax
jmp 0x4f0cd0
mov dword [ebp - 0x5c], 0
mov eax, dword [edi + 0x90]
imul eax, dword [ebp - 0x5c]
add eax, ecx
mov ecx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
add edx, ecx
mov dword [ebp - 0x6c], ecx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 0x64], edx
push ecx
lea edx, [ebx + 0x2c]
add esi, eax
push edx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x60], esi
call dword [0x526390]
push 0x54
call fcn.00503a77
add esp, 4
mov dword [ebp - 0x44], eax
mov byte [ebp - 4], 0xd
test eax, eax
je 0x4f0d44
mov edx, dword [ebp - 0x48]
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x5c], esp
mov dword [ecx], ebx
mov dword [ecx + 4], 0
mov dword [ecx + 8], edx
test edx, edx
je 0x4f0d33
inc dword [edx + 4]
mov ecx, dword [ebp - 0x58]
push 0
push ecx
mov ecx, eax
call fcn.004c5c90
mov ebx, eax
jmp 0x4f0d46
xor ebx, ebx
xor esi, esi
xor edi, edi
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x68], edi
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x60], esi
cmp ebx, esi
je 0x4f0d98
mov edi, ebx
push 0x18
mov dword [ebp - 0x64], esi
mov dword [ebp - 0x68], edi
call fcn.00503a77
add esp, 4
test eax, eax
je 0x4f0d7e
mov dword [eax], vtable.yaneuraoGameSDK3rd::YTL::nonarray_ref_object_class_GuiControl::Static_.0
mov dword [eax + 0x14], ebx
mov esi, eax
jmp 0x4f0d80
xor esi, esi
mov eax, 1
mov dword [esi + 4], eax
mov byte [esi + 8], al
mov dword [esi + 0xc], 0x54
mov dword [ebp - 0x60], esi
mov dword [esi + 0x10], eax
mov edx, dword [edi]
mov edx, dword [edx + 0x3c]
lea eax, [ebp - 0x20]
mov bl, 0xe
push eax
mov ecx, edi
mov byte [ebp - 4], bl
call edx
push eax
lea eax, [ebp - 0x40]
push eax
mov ecx, eax
push ecx
call dword [0x526388]
mov dword [ebp - 0x1c], edi
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x14], esi
test esi, esi
je 0x4f0dcc
inc dword [esi + 4]
mov ecx, dword [ebp - 0x58]
lea edx, [ebp - 0x1c]
add ecx, 0xc
push edx
mov byte [ebp - 4], 0xf
call fcn.0044ca40
mov edi, dword [ebp - 0x14]
mov byte [ebp - 4], bl
test edi, edi
je 0x4f0e07
dec dword [edi + 4]
jne 0x4f0e07
cmp byte [edi + 8], 0
je 0x4f0dfc
mov eax, dword [edi]
mov edx, dword [eax]
mov ecx, edi
call edx
mov eax, dword [edi]
mov edx, dword [eax + 4]
push 1
mov ecx, edi
call edx
mov byte [ebp - 4], 0xb
test esi, esi
je 0x4f0e2d
dec dword [esi + 4]
jne 0x4f0e2d
cmp byte [esi + 8], 0
je 0x4f0e22
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 1
mov ecx, esi
call edx
mov esi, dword [ebp - 0x48]
mov byte [ebp - 4], 5
test esi, esi
je 0x4f0e56
dec dword [esi + 4]
jne 0x4f0e56
cmp byte [esi + 8], 0
je 0x4f0e4b
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 1
mov ecx, esi
call edx
mov dword [ebp - 0x54], 0x56575c
mov dword [ebp - 0x44], 2
jmp 0x4f0e70
mov eax, dword [ebp - 0x54]
cmp dword [eax], 0
mov dword [ebp - 0x5c], 0
jle 0x4f10c4
mov dword [ebp - 0x64], 0
lea ebx, [ebx]
mov eax, dword [ebp - 0x54]
mov ecx, dword [eax + 4]
mov edx, dword [ebp - 0x5c]
mov eax, dword [eax - 4]
push ecx
mov ecx, dword [ebp - 0x58]
push edx
push eax
push ecx
lea edx, [ebp - 0x50]
push edx
lea ecx, [ebp - 0x6d]
call fcn.004cb800
push 0xc
mov byte [ebp - 4], 0x10
call fcn.00503a77
xor esi, esi
add esp, 4
cmp eax, esi
je 0x4f0ef3
mov edx, dword [ebp - 0x50]
cmp edx, esi
jne 0x4f0ece
xor ecx, ecx
jmp 0x4f0ee2
mov ecx, dword [ebp - 0x48]
cmp ecx, esi
je 0x4f0eda
mov ecx, dword [ecx + 0xc]
jmp 0x4f0edc
xor ecx, ecx
imul ecx, dword [ebp - 0x4c]
add ecx, edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], esi
mov dword [eax], vtable.GuiControl::ClickedEvent.0
mov dword [eax + 8], ecx
mov esi, eax
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x60], edi
test esi, esi
je 0x4f0f3b
mov ebx, esi
push 0x18
mov dword [ebp - 0x68], ebx
call fcn.00503a77
add esp, 4
test eax, eax
je 0x4f0f1f
mov dword [eax], vtable.yaneuraoGameSDK3rd::YTL::nonarray_ref_object_class_GuiControl::ClickedEvent_.0
mov dword [eax + 0x14], esi
jmp 0x4f0f21
xor eax, eax
mov ecx, 1
mov dword [eax + 4], ecx
mov byte [eax + 8], cl
mov edi, eax
mov dword [eax + 0xc], 0xc
mov dword [ebp - 0x60], edi
mov dword [eax + 0x10], ecx
sub esp, 0xc
mov eax, esp
mov byte [ebp - 4], 0x11
mov dword [ebp - 0x74], esp
mov dword [eax], ebx
mov dword [eax + 4], 0
mov dword [eax + 8], edi
test edi, edi
je 0x4f0f5a
inc dword [edi + 4]
mov ecx, dword [ebp - 0x50]
test ecx, ecx
jne 0x4f0f65
xor eax, eax
jmp 0x4f0f79
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4f0f71
mov eax, dword [eax + 0xc]
jmp 0x4f0f73
xor eax, eax
imul eax, dword [ebp - 0x4c]
add eax, ecx
mov ecx, eax
call fcn.004aef10
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], ecx
mov dword [ebp - 0x24], eax
test eax, eax
je 0x4f0f99
inc dword [eax + 4]
mov ecx, dword [ebp - 0x58]
lea edx, [ebp - 0x2c]
push edx
add ecx, 0xc
mov byte [ebp - 4], 0x12
call fcn.0044ca40
mov esi, dword [ebp - 0x24]
mov byte [ebp - 4], 0x11
test esi, esi
je 0x4f0fdf
dec dword [esi + 4]
jne 0x4f0fd5
cmp byte [esi + 8], 0
je 0x4f0fca
mov eax, dword [esi]
mov edx, dword [eax]
mov ecx, esi
call edx
mov eax, dword [esi]
mov edx, dword [eax + 4]
push 1
mov ecx, esi
call edx
xor ecx, ecx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x2c], ecx
jmp 0x4f0fe1
xor ecx, ecx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edi
cmp edi, ecx
je 0x4f0ff1
inc dword [edi + 4]
mov esi, dword [ebp - 0x58]
mov edx, dword [esi + 0x74]
xor ebx, ebx
cmp edx, ecx
je 0x4f1013
mov eax, dword [esi + 0x7c]
cmp eax, ebx
je 0x4f1009
mov eax, dword [eax + 0xc]
jmp 0x4f100b
xor eax, eax
mov ecx, dword [esi + 0x78]
imul ecx, eax
add ecx, edx
lea eax, [ebp - 0x1c]
push eax
mov byte [ebp - 4], 0x13
call fcn.0044ca40
mov esi, dword [ebp - 0x14]
mov byte [ebp - 4], 0x11
cmp esi, ebx
je 0x4f104f
dec dword [esi + 4]
jne 0x4f1049
cmp byte [esi + 8], 0
je 0x4f103e
mov edx, dword [esi]
mov eax, dword [edx]
mov ecx, esi
call eax
mov edx, dword [esi]
mov eax, dword [edx + 4]
push 1
mov ecx, esi
call eax
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 4], 0x10
cmp edi, ebx
je 0x4f107b
dec dword [edi + 4]
jne 0x4f1075
cmp byte [edi + 8], 0
je 0x4f106a
mov edx, dword [edi]
mov eax, dword [edx]
mov ecx, edi
call eax
mov edx, dword [edi]
mov eax, dword [edx + 4]
push 1
mov ecx, edi
call eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x68], ebx
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 5
cmp eax, ebx
je 0x4f10b2
dec dword [eax + 4]
mov ecx, eax
cmp dword [eax + 4], ebx
jne 0x4f10ac
cmp byte [ecx + 8], 0
je 0x4f109c
mov edx, dword [ecx]
mov eax, dword [edx]
call eax
mov ecx, dword [ebp - 0x48]
cmp ecx, ebx
je 0x4f10ac
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push 1
call eax
mov dword [ebp - 0x48], ebx
mov dword [ebp - 0x50], ebx
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x54]
inc eax
mov dword [ebp - 0x5c], eax
cmp eax, dword [ecx]
jl 0x4f0e90
add dword [ebp - 0x54], 0xc
dec dword [ebp - 0x44]
jne 0x4f0e70
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [esi + 0x64], edx
mov edx, dword [ebp - 0x34]
mov dword [esi + 0x68], eax
mov dword [esi + 0x6c], ecx
push 4
mov dword [esi + 0x70], edx
call fcn.00503a77
add esp, 4
test eax, eax
je 0x4f1102
mov dword [eax], vtable.SystemInfomation::GameInputState.0
jmp 0x4f1104
xor eax, eax
push eax
lea ecx, [esi + 0x1c]
call fcn.004af2f0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00503edb
mov esp, ebp
pop ebp
ret