Function at 0x180049320
Capabilities:
Link many functions at runtime

Disassembly:
mov rax, rsp
mov qword [rax + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0xb48]
sub rsp, 0xc10
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movaps xmmword [rax - 0x78], xmm9
movaps xmmword [rax - 0x88], xmm10
movaps xmmword [rax - 0x98], xmm11
mov rax, qword [0x180090f80]
xor rax, rsp
mov qword [rbp + 0xaa0], rax
mov r15, rdx
mov qword [rsp + 0x68], r9
xor edx, edx
mov qword [rsp + 0x70], rcx
lea eax, [r8 + 0xa5]
mov esi, r8d
mov r12, rcx
cmp r8d, eax
jae 0x1800499aa
movss xmm10, dword [0x180082950]
lea r13d, [r8 - 2]
mov r14d, dword [rsp + 0x40]
lea ebx, [rdx + 0x43]
movss xmm9, dword [rsp + 0x40]
lea ecx, [r8 + 0xa5]
movss xmm8, dword [rsp + 0x40]
mov edi, 0x6168
xorps xmm11, xmm11
lea r8, [0x180000000]
mov r11d, 0x6c70
mov r10d, 0x7369
cmp r13d, 0xee
ja case.default.0x1800493ff
movzx eax, byte [r8 + r13 + 0x49d3c]
mov ecx, dword [r8 + rax*4 + 0x49d00]
add rcx, r8
jmp rcx
mov rcx, qword [0x180091150]
lea rdx, str.NfcAioRcvIoMsg
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180091150]
lea rdx, str.joyGetPos
mov qword [0x180091158], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180091150]
lea rdx, str.7m_7m07m
mov qword [0x180091160], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, qword [0x180091150]
lea rdx, str.RICHEDIT60W
mov qword [0x180091168], rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
cmp qword [0x180091158], 0
mov qword [0x180091170], rax
je 0x180049c61
cmp qword [0x180091160], 0
je 0x180049c61
cmp qword [0x180091168], 0
je 0x180049c61
test rax, rax
je 0x180049c61
jmp 0x180049960
mov dword [rbp + 0x860], 0x121110
lea rcx, [rsp + 0x50]
mov dword [rbp + 0x864], 0x6090708
mov r9, r15
mov dword [rbp + 0x868], 0x40b050a
xor r8d, r8d
mov dword [rbp + 0x86c], 0x20d030c
mov edx, 0x10b
movups xmm0, xmmword [rbp + 0x860]
mov word [rbp + 0x870], 0x10e
movzx eax, word [rbp + 0x870]
movups xmmword [0x180136fd0], xmm0
mov word [0x180136fe0], ax
mov byte [0x180136fe2], 0xf
mov dword [rsp + 0x50], 5
call fcn.18004d400
mov r9, r15
mov dword [rsp + 0x50], 5
xor r8d, r8d
lea rcx, [rsp + 0x50]
mov edx, 0x10b
lea ebx, [rax + 0x101]
mov dword [rsp + 0x60], ebx
call fcn.18004d400
mov r9, r15
mov dword [rsp + 0x58], 4
xor r8d, r8d
lea rcx, [rsp + 0x58]
mov edx, 0x10b
lea edi, [rax + 1]
mov dword [rsp + 0x50], edi
call fcn.18004d400
add eax, 4
xorps xmm0, xmm0
mov dword [rsp + 0x58], eax
xor eax, eax
mov word [rbp + 0x8c0], ax
mov byte [rbp + 0x8c2], al
movups xmmword [rbp + 0x8b0], xmm0
jmp 0x180049956
mov dword [rsp + 0x48], 1
jmp case.0x1800493ff.14
mov rcx, qword [0x180091188]
test rcx, rcx
je 0x1800495b5
lea rdx, str.ui_show_occluding_rects
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180091190], rax
xor edx, edx
mov byte [rsp + 0x48], 1
jmp case.0x1800493ff.14
movsxd rdi, dword [rsp + 0x58]
mov rbx, rdx
test rdi, rdi
jle 0x180049619
lea r14, [0x180000000]
nop dword [rax]
nop word [rax + rax]
mov r9, r15
mov dword [rsp + 0x40], 3
xor r8d, r8d
lea rcx, [rsp + 0x40]
mov edx, 0x10b
call fcn.18004d400
mov ecx, eax
movzx eax, byte [rbx + r14 + 0x136fd0]
inc rbx
mov byte [rbp + rax + 0x8b0], cl
cmp rbx, rdi
jl 0x1800495e0
xor edx, edx
lea rax, [rbp + 0x8b0]
mov dword [rsp + 0x40], 0x13
mov qword [rsp + 0x30], rax
lea r8, [rsp + 0x40]
mov qword [rsp + 0x28], rdx
lea rcx, [rbp + 0x70]
mov qword [rsp + 0x20], rdx
mov r9d, 0x9a
xor edx, edx
call fcn.18004e700
xor edx, edx
test eax, eax
je 0x18004998a
mov r14d, edx
lea ebx, [rdx + 0x43]
mov edi, 0x6168
jmp case.0x1800493ff.14
mov word [rbp + 0x878], bx
mov dword [rbp + 0x879], 0x6e6168
mov dword [rbp + 0x87c], 0x446567
jmp case.0x1800493ff.14
lea rcx, str.winmm.dll
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x180091150], rax
test rax, rax
je 0x180049c61
jmp 0x180049960
mov word [rbp + 0x87f], r10w
jmp case.0x1800493ff.14
mov word [rbp + 0x881], r11w
jmp case.0x1800493ff.14
movss xmm6, dword [r15 + 4]
comiss xmm6, xmm11
movss xmm1, dword [r9 + 4]
movaps xmm2, xmm1
jbe 0x1800496de
xorps xmm2, xmm10
jmp 0x1800496e2
xorps xmm1, xmm10
movss xmm3, dword [r9 + 8]
movss xmm7, dword [r15 + 8]
movaps xmm4, xmm3
comiss xmm7, xmm11
subss xmm1, dword [r12 + 4]
subss xmm2, dword [r12 + 4]
subss xmm4, dword [r12 + 8]
xorps xmm3, xmm10
subss xmm3, dword [r12 + 8]
jbe 0x18004971c
movaps xmm5, xmm3
jmp 0x180049722
movaps xmm5, xmm4
movaps xmm4, xmm3
movss xmm3, dword [r15]
movaps xmm0, xmm9
mulss xmm0, xmm3
mulss xmm2, xmm6
mulss xmm5, xmm7
addss xmm0, xmm2
addss xmm0, xmm5
comiss xmm0, xmm11
ja 0x18004998a
movaps xmm0, xmm8
mulss xmm1, xmm6
mulss xmm0, xmm3
mulss xmm4, xmm7
addss xmm0, xmm1
addss xmm0, xmm4
comiss xmm0, xmm11
jae 0x18004997e
mov dword [rsp + 0x48], edx
jmp case.0x1800493ff.14
movss xmm0, dword [r15]
lea ecx, [rsi + 0xa5]
comiss xmm0, xmm11
movss xmm8, dword [r9]
movaps xmm9, xmm8
jbe 0x1800497a3
subss xmm8, dword [r12]
xorps xmm9, xmm10
subss xmm9, dword [r12]
jmp case.default.0x1800493ff
subss xmm9, dword [r12]
xorps xmm8, xmm10
subss xmm8, dword [r12]
jmp case.default.0x1800493ff
lea rcx, str._sManifest
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x180091178], rax
test rax, rax
je 0x1800497e8
lea rdx, str.IMAGE_REL_PPC_PAIR
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [0x180091180], rax
lea rcx, str.__s_s0x_x_
call qword [sym.imp.KERNEL32.dll_LoadLibraryW]
mov qword [0x180091188], rax
jmp 0x180049960
mov ebx, dword [rsp + 0x60]
mov edi, dword [rsp + 0x50]
lea r12d, [rdi + rbx]
cmp r14d, r12d
jge 0x1800498d8
nop word [rax + rax]
mov qword [rsp + 0x30], r15
lea r8, [rbp + 0x70]
mov qword [rsp + 0x28], rdx
xor r9d, r9d
mov qword [rsp + 0x20], rdx
xor edx, edx
lea ecx, [rdx + 0x5c]
call fcn.18006d900
movsxd rcx, r14d
cmp eax, 0x10
jge 0x180049856
mov byte [rbp + rcx + 0x8d0], al
mov ebx, 1
jmp 0x1800498bf
lea rdi, [rbp + 0x8d0]
xor r8d, r8d
add rdi, rcx
mov r9, r15
lea rcx, [rsp + 0x40]
mov edx, 0x10b
cmp eax, 0x10
jne 0x18004988b
mov dword [rsp + 0x40], 2
call fcn.18004d400
movzx edx, byte [rdi - 1]
lea ebx, [rax + 3]
jmp 0x1800498b4
cmp eax, 0x11
jne 0x1800498a2
mov dword [rsp + 0x40], 3
call fcn.18004d400
lea ebx, [rax + 3]
jmp 0x1800498b2
mov dword [rsp + 0x40], 7
call fcn.18004d400
lea ebx, [rax + 0xb]
xor edx, edx
movsxd r8, ebx
mov rcx, rdi
call sub.VCRUNTIME140.dll_memset
add r14d, ebx
mov edx, 0
cmp r14d, r12d
jl 0x180049820
mov ebx, dword [rsp + 0x60]
mov edi, dword [rsp + 0x50]
jne 0x180049991
lea rax, [rbp + 0x8d0]
mov dword [rsp + 0x40], ebx
mov qword [rsp + 0x30], rax
lea rcx, [r15 + 0x34]
mov qword [rsp + 0x28], rdx
lea r8, [rsp + 0x40]
mov qword [rsp + 0x20], rdx
mov r9d, 0x9a
xor edx, edx
call fcn.18004e700
test eax, eax
je 0x180049988
movsxd rax, ebx
lea rdx, [rbp + 0x8d0]
add rdx, rax
mov dword [rsp + 0x40], edi
mov qword [rsp + 0x30], rdx
lea rcx, [r15 + 0x818]
xor eax, eax
lea r8, [rsp + 0x40]
mov qword [rsp + 0x28], rax
xor edx, edx
mov r9d, 0x9a
mov qword [rsp + 0x20], rax
call fcn.18004e700
test eax, eax
je 0x180049988
mov r12, qword [rsp + 0x70]
mov edi, 0x6168
mov ebx, 0x43
xor edx, edx
lea ecx, [rsi + 0xa5]
add r13d, 0xb
lea eax, [r13 + 2]
cmp eax, ecx
jae 0x1800499aa
mov r9, qword [rsp + 0x68]
jmp 0x1800493cb
mov eax, 1
jmp 0x180049cb6
xor edx, edx
mov eax, edx
jmp 0x180049cb6
xor edx, edx
lea r9, str.file.fading.png
xor r8d, r8d
lea ecx, [rdx + 6]
call fcn.180041b10
jmp 0x180049cb6
lea edi, [rsi + 0x87a]
cmp esi, edi
jae case.0x1800493ff.8
mov rbx, qword [rsp + 0x68]
mov eax, 0x79
mov r14, qword [rsp + 0x68]
mov r10d, 0x7465
lea ecx, [rax - 0x18]
lea r9d, [rax - 0x26]
lea r8d, [rax - 5]
lea r11d, [rax - 0x15]
lea r13d, [rax + 0x63]
cmp esi, 0x47c
ja 0x180049af1
je 0x180049ae2
cmp esi, 0x210
ja 0x180049a46
je 0x180049a31
cmp esi, 2
je case.0x1800493ff.8
cmp esi, 0xda
je 0x180049a25
cmp esi, 0x175
jne 0x180049c9d
mov word [rbp + 0x884], ax
jmp 0x180049c9d
mov word [rbp + 0x883], cx
jmp 0x180049c9d
mov word [rbp + 0x885], r9w
mov word [rbp + 0x886], r10w
jmp 0x180049c9d
cmp esi, 0x2ab
je 0x180049ad5
cmp esi, 0x346
je 0x180049a9d
cmp esi, 0x3e1
jne 0x180049c9d
movabs rax, 0x72006500730075
mov word [rbp + 0x8a6], dx
mov qword [rbp + 0x898], rax
mov eax, dword [0x18007ba16]
mov dword [rbp + 0x8a0], eax
movzx eax, word [0x18007ba1a]
mov word [rbp + 0x8a4], ax
jmp 0x180049c98
mov r13d, 0x45
mov dword [rbp + 0x889], 0x73676e69
mov word [rbp + 0x88d], r13w
mov r13d, 0x5778
mov word [rbp + 0x88e], r13w
mov r13d, 0xdc
mov byte [rbp + 0x890], 0
jmp 0x180049c9d
mov word [rbp + 0x888], r8w
jmp 0x180049c9d
mov dword [rbp + 0x8a6], 0x64
jmp 0x180049c9d
cmp esi, 0x6e8
ja 0x180049c23
je 0x180049bff
cmp esi, 0x517
je 0x180049be3
cmp esi, 0x5b2
je 0x180049ba9
cmp esi, 0x64d
jne 0x180049c9d
lea r8, [rbp + 0x878]
mov edx, 0xb2
lea rcx, [rbp + 0x898]
call fcn.18005f890
mov r8, r15
mov edx, 0xbc
mov rcx, r12
mov r14, rax
call fcn.18001c670
mov r8, r15
lea rcx, [rsp + 0x78]
mov edx, 0x8c
mov rbx, rax
call fcn.18003c520
xor eax, eax
lea rcx, [rsp + 0x78]
mov qword [rsp + 0x28], rax
mov r9, rbx
xor r8d, r8d
mov qword [rsp + 0x20], rax
mov edx, 0xd0
call fcn.180024e80
test eax, eax
je 0x180049cad
mov r8d, 0x74
mov r10d, 0x7465
lea r9d, [r8 - 0x21]
lea r11d, [r8 - 0x10]
jmp 0x180049c91
mov r8d, 1
lea rdx, [0x18007b7ea]
lea rcx, [rbp + 0x8aa]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
xor edx, edx
mov r10d, 0x7465
mov word [rbp + 0x8ac], dx
lea r8d, [rdx + 0x74]
lea r9d, [rdx + 0x53]
lea r11d, [rdx + 0x64]
jmp 0x180049c93
mov r8d, 1
lea rdx, [0x18007ba60]
lea rcx, [rbp + 0x898]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncat]
jmp 0x180049b90
mov r8, r13
lea rcx, [rbp - 0x70]
xor edx, edx
call sub.VCRUNTIME140.dll_memset
mov word [rbp - 0x2c], r13w
mov dword [rbp - 0x28], 0x5c0000
mov eax, dword [rbx]
mov dword [rbp + 0x3c], eax
jmp 0x180049b90
cmp esi, 0x783
je 0x180049c68
cmp esi, 0x81e
jne 0x180049c9d
mov qword [rsp + 0x20], rdx
lea rcx, [r15 + 0x78]
lea rdx, [rbp - 0x70]
mov r9d, 4
xor r8d, r8d
call r14
test eax, eax
je 0x180049cad
lea rdx, str.appending_to_unsyncronized_pack
mov ecx, 0x10008
call fcn.180025910
mov byte [rsp + 0x48], 0
jmp case.0x1800493ff.8
mov eax, dword [rbx + 4]
mov dword [rbp + 0x40], eax
mov edx, dword [rbx + 0x10]
add edx, dword [rbx + 0xc]
add edx, dword [rbx + 8]
mov dword [rbp + 0x38], edx
mov eax, dword [rbx + 0x14]
mov dword [rbp + 0x48], eax
lea eax, [rdx - 0xf]
cmp eax, 8
mov eax, 0x20
cmova edx, eax
mov dword [rbp + 0x38], edx
xor edx, edx
mov ecx, 0x61
mov eax, 0x79
add esi, 0x9b
cmp esi, edi
jb 0x1800499e0
jmp case.0x1800493ff.8
mov byte [rsp + 0x48], 1
mov eax, dword [rsp + 0x48]
mov rcx, qword [rbp + 0xaa0]
xor rcx, rsp
call fcn.180076c30
lea r11, [rsp + 0xc10]
mov rbx, qword [r11 + 0x50]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
movaps xmm11, xmmword [r11 - 0x60]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret