Function at 0x40e920
Capabilities:
Encode data using base64
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
mov esi, 0x43a700
push ebx
sub esp, 0x33c
mov ebx, dword [fcn.0042f3e0]
mov dword [esp + 0x44], edx
lea edi, [esp + 0x90]
mov dword [esp + 0x48], eax
mov dword [esp], 1
call ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042fac0
mov dword [esp], 2
call ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0042fac0
mov dword [esp], str.scrcpy_2.7__https:__github.com_Genymobile_scrcpy__n
call fcn.00401530
mov ecx, 0x42
xor edx, edx
mov dword [esp + 0x19c], 1
rep movsd dword es:[edi], dword [esi]
mov dword [esp], 0x41
mov word [esp + 0x198], dx
call fcn.0042fa98
mov edi, eax
test eax, eax
je 0x41034a
mov ecx, 0x40
mov dword [esp + 0x4c], 0x439c60
mov ebp, 0x43a608
xor esi, esi
mov dword [esp + 0x30], ecx
mov ebx, 0x439c60
jmp 0x40e9df
add ebx, 0x18
cmp ebp, ebx
je 0x40ea38
movzx ecx, byte [ebx]
test cl, cl
je 0x40e9d8
lea edx, [esi + 1]
cmp dword [esp + 0x30], edx
jb 0x40eb50
mov eax, dword [ebx + 0xc]
mov byte [edi + esi], cl
lea ecx, [edi + edx]
mov byte [ecx], 0
test eax, eax
je 0x40eb40
lea eax, [esi + 2]
mov dword [esp + 0x34], eax
cmp dword [esp + 0x30], eax
jb 0x40ec00
mov eax, dword [esp + 0x34]
cmp byte [ebx + 0x10], 0
mov byte [ecx], 0x3a
lea edx, [edi + eax]
mov byte [edx], 0
jne 0x40ec50
add ebx, 0x18
mov esi, eax
cmp ebp, ebx
jne 0x40e9df
test edi, edi
je 0x40ebbf
mov dword [esp], 0x680
call fcn.0042fa98
mov ebx, eax
test eax, eax
je 0x40f670
mov eax, 0x439c60
xor esi, esi
lea esi, [esi]
mov edx, esi
mov ecx, dword [eax + 8]
shl edx, 4
add edx, ebx
test ecx, ecx
je 0x40ea99
mov dword [edx], ecx
add esi, 1
xor ecx, ecx
cmp dword [eax + 0xc], 0
je 0x40ea82
movzx ecx, byte [eax + 0x10]
add ecx, 1
mov dword [edx + 4], ecx
movsx ecx, byte [eax]
mov dword [edx + 8], 0
test cl, cl
jne 0x40ea96
mov ecx, dword [eax + 4]
mov dword [edx + 0xc], ecx
add eax, 0x18
cmp ebp, eax
jne 0x40ea60
shl esi, 4
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
lea eax, [ebx + esi]
mov dword [eax], 0
mov dword [eax + 4], 0
mov dword [eax + 8], 0
mov dword [eax + 0xc], 0
lea eax, [esp + 0x90]
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00402700
mov dword [esp], edi
mov esi, eax
call fcn.0042fa48
mov dword [esp], ebx
call fcn.0042fa48
mov eax, esi
test al, al
jne 0x40eca6
mov edx, dword [esp + 0x19c]
mov eax, edx
and eax, 0xfffffffd
cmp edx, 1
je 0x40f069
test eax, eax
jne 0x40ebe5
mov ebx, 1
mov dword [esp], str.Press_Enter_to_continue..._n
call fcn.00401530
call fcn.0042fa60
add esp, 0x33c
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov esi, edx
jmp 0x40e9d8
mov eax, dword [esp + 0x30]
mov dword [esp + 0x38], edx
mov dword [esp], edi
lea eax, [eax + eax*2]
mov byte [esp + 0x34], cl
shr eax, 1
lea edx, [eax + 1]
add eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x30], edx
call fcn.0042fab8
movzx ecx, byte [esp + 0x34]
mov edx, dword [esp + 0x38]
test eax, eax
je 0x40eb8b
mov edi, eax
jmp 0x40e9f3
mov dword [esp + 0x10], str.sc_strbuf_reserve
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 0x434787
mov dword [esp + 4], 0x431262
mov dword [esp], 0
call fcn.00421700
mov dword [esp], edi
call fcn.0042fa48
mov dword [esp + 4], str.Could_not_create_getopt_adapter
mov dword [esp], 0
call fcn.004216c8
mov eax, dword [esp + 0x19c]
and eax, 0xfffffffd
test eax, eax
je 0x40eb15
add esp, 0x33c
mov ebx, 1
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov dword [esp], edi
lea eax, [eax + eax*2]
mov dword [esp + 0x40], ecx
shr eax, 1
lea edx, [eax + 1]
add eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x38], edx
call fcn.0042fab8
mov ecx, dword [esp + 0x40]
test eax, eax
je 0x410442
mov edx, dword [esp + 0x3c]
mov edi, eax
lea ecx, [eax + edx]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x30], edx
jmp 0x40ea18
add esi, 3
cmp dword [esp + 0x30], esi
jb 0x40ec65
mov byte [edx], 0x3a
mov byte [edi + esi], 0
jmp 0x40e9d8
mov eax, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov dword [esp], edi
lea eax, [eax + eax*2]
shr eax, 1
lea edx, [eax + 1]
add eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x38], edx
call fcn.0042fab8
mov edx, dword [esp + 0x3c]
test eax, eax
je 0x410428
mov edi, dword [esp + 0x38]
mov edx, dword [esp + 0x34]
mov dword [esp + 0x30], edi
add edx, eax
mov edi, eax
jmp 0x40ec59
mov eax, dword [esp + 0xc8]
mov dword [esp], 0
cmp eax, 5
lea ebx, [eax + 1]
mov eax, 3
cmovae ebx, eax
mov dword [esp + 4], ebx
call fcn.004216d8
mov dword [esp + 4], ebx
mov dword [esp], 0x13
call fcn.004216d8
cmp byte [esp + 0x198], 0
jne 0x40f100
cmp byte [esp + 0x199], 0
jne 0x40ef0e
call fcn.004215f0
lea esi, [esp + 0x1a0]
mov dword [esp], 0x101
mov dword [esp + 4], esi
call dword [0x4c5a00]
sub esp, 8
test eax, eax
jne 0x40eee0
mov dword [esp + 4], 0
mov dword [esp], 0x412950
call fcn.004216e0
mov dword [esp], 0x4126b0
call fcn.00420370
cmp byte [esp + 0x168], 0
jne 0x40ed86
lea eax, [esp + 0x90]
call fcn.0040ad20
mov ebx, eax
mov eax, dword [esp + 0x19c]
test eax, eax
je 0x40eb1a
cmp eax, 2
jne 0x40eb2b
test ebx, ebx
jne 0x40eb1a
add esp, 0x33c
xor ebx, ebx
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret
mov dword [esp + 4], 0x433e2f
mov edi, dword [esp + 0x90]
mov dword [esp], str.SDL_RENDER_SCALE_QUALITY
call fcn.00421650
test eax, eax
je 0x40f6db
mov dword [esp + 4], 0x433e2f
mov dword [esp], str.SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS
call fcn.00421650
test eax, eax
je 0x40f6c2
mov dword [esp], 0x4000
call fcn.00421730
test eax, eax
jne 0x40f83e
mov ebx, dword [esp + 0xe8]
test ebx, ebx
jne 0x40f71b
mov dword [esp], 0x421698
call fcn.00401400
mov dword [esp + 4], 0x433e2f
mov dword [esp], str.SDL_MOUSE_FOCUS_CLICKTHROUGH
call fcn.00421650
test eax, eax
je 0x40f702
mov dword [esp + 4], str.Killing_adb_server__if_any_...
mov dword [esp], 0
call fcn.004216f0
mov eax, dword [0x443670]
test eax, eax
je 0x40f751
mov dword [esp], 0
mov ecx, 3
mov dword [esp + 0x1a0], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x34], eax
mov edx, eax
mov eax, esi
mov dword [esp + 0x1a4], 0x434a3b
mov dword [esp + 0x1a8], 0
call fcn.00416800
test eax, eax
jne 0x40f6f4
mov ebp, dword [esp + 0x68]
test ebp, ebp
je 0x40ee97
mov dword [esp + 4], 0xffffffff
mov dword [esp], ebp
call dword [0x4c58dc]
sub esp, 8
test eax, eax
je 0x40f825
mov dword [esp], ebp
call dword [0x4c5838]
mov dword [0x4c3684], 0
sub esp, 4
mov dword [esp], 0x4c3680
call fcn.004218a8
sub esp, 4
test eax, eax
je 0x40f7d7
test dword [esp + 0x19c], 0xfffffffd
je 0x40eb15
jmp 0x40ebe5
mov dword [esp + 8], eax
mov dword [esp + 4], str.WSAStartup_failed_with_error__d
mov dword [esp], 0
call fcn.00421700
test dword [esp + 0x19c], 0xfffffffd
je 0x40eb15
jmp 0x40ebe5
mov dword [esp], str._nDependencies__compiled___linked_:_n
call fcn.00401530
lea eax, [esp + 0x1a0]
mov dword [esp], eax
call fcn.00421750
movzx eax, byte [esp + 0x1a2]
mov dword [esp + 0xc], 7
mov dword [esp + 8], 0x1e
mov dword [esp + 0x18], eax
movzx eax, byte [esp + 0x1a1]
mov dword [esp + 4], 2
mov dword [esp + 0x14], eax
movzx eax, byte [esp + 0x1a0]
mov dword [esp], str.___SDL:__u._u._u____u._u._u_n
mov dword [esp + 0x10], eax
call fcn.00401530
call fcn.004202b8
mov dword [esp + 0xc], 0x64
movzx edx, al
mov dword [esp + 8], 3
mov dword [esp + 0x18], edx
movzx edx, ah
shr eax, 0x10
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x3d
mov dword [esp], str.___libavcodec:__u._u._u____u._u._u_n
call fcn.00401530
call fcn.00420258
mov dword [esp + 0xc], 0x64
movzx edx, al
mov dword [esp + 8], 1
mov dword [esp + 0x18], edx
movzx edx, ah
shr eax, 0x10
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x3d
mov dword [esp], str.___libavformat:__u._u._u____u._u._u_n
call fcn.00401530
call fcn.00420340
mov dword [esp + 0xc], 0x64
movzx edx, al
mov dword [esp + 8], 8
mov dword [esp + 0x18], edx
movzx edx, ah
shr eax, 0x10
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 4], 0x3b
mov dword [esp], str.___libavutil:__u._u._u____u._u._u_n
call fcn.00401530
call fcn.004218d0
movzx edx, word [eax + 4]
mov dword [esp + 0xc], edx
movzx edx, word [eax + 2]
mov dword [esp + 8], edx
movzx eax, word [eax]
mov dword [esp], str.___libusb:______u._u._u_n
mov dword [esp + 4], eax
call fcn.00401530
mov esi, dword [esp + 0x19c]
test esi, esi
jne 0x40ed77
xor ebx, ebx
jmp 0x40eb1a
mov ebx, dword [esp + 0x48]
sub ebx, 1
test ebx, ebx
jle 0x40ebe5
mov edi, dword [esp + 0x44]
jmp 0x40f089
sub ebx, 1
je 0x40ebe5
mov esi, dword [edi + ebx*4]
mov dword [esp + 8], 0xf
mov dword [esp], str.__pause_on_exit
mov dword [esp + 4], esi
call fcn.0042fae8
test eax, eax
jne 0x40f080
movzx eax, byte [esi + 0xf]
test al, al
je 0x40f6b2
cmp al, 0x3d
jne 0x40ebe5
add esi, 0x10
mov dword [esp + 4], 0x431d7f
mov dword [esp], esi
call fcn.0042fc48
test eax, eax
je 0x40f6b2
mov dword [esp + 4], str.if_error
mov dword [esp], esi
call fcn.0042fc48
test eax, eax
jne 0x40ebe5
mov dword [esp + 0x19c], 2
jmp 0x40eb15
mov eax, dword [esp + 0x44]
mov ebx, dword [eax]
mov dword [esp], 2
call fcn.0042fb30
test eax, eax
jne 0x40f76f
mov dword [esp + 0x38], 0x50
mov dword [esp + 4], ebx
mov dword [esp], str.Usage:__s__options__n_nOptions:_n
call fcn.00401530
mov ebx, dword [esp + 0x4c]
jmp 0x40f2bf
test esi, esi
je 0x40f318
mov dword [esp + 0x34], 2
mov eax, ecx
mov edx, 0x2d2d
mov dword [esp + 0x3c], ecx
mov word [eax], dx
mov eax, dword [esp + 0x34]
add eax, ecx
mov byte [eax], 0
mov dword [esp], esi
mov dword [esp + 0x40], eax
call fcn.0042fae0
mov dword [esp + 0x30], 0x40
mov ecx, dword [esp + 0x3c]
mov edx, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x34]
add edx, eax
cmp edx, 0x40
ja 0x40f3c0
mov eax, dword [esp + 0x44]
mov dword [esp + 4], esi
mov dword [esp + 0x3c], edx
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x34], ecx
mov dword [esp], eax
call fcn.0042faa0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
mov byte [ecx + edx], 0
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x34], eax
test eax, eax
je 0x40f267
movzx eax, byte [ebx + 0x10]
mov byte [esp + 0x3c], al
test al, al
je 0x40f1f5
lea esi, [edx + 1]
cmp dword [esp + 0x30], esi
jb 0x40f40d
movzx eax, word [0x43a81c]
mov word [ecx + edx], ax
mov edx, esi
lea esi, [edx + 1]
cmp dword [esp + 0x30], esi
jb 0x40f348
movzx eax, word [0x43a81e]
mov dword [esp + 0x40], ecx
mov word [ecx + edx], ax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.0042fae0
mov ecx, dword [esp + 0x40]
mov edx, eax
lea eax, [eax + esi]
cmp dword [esp + 0x30], eax
mov dword [esp + 0x44], eax
jb 0x40f448
add esi, ecx
mov eax, dword [esp + 0x34]
mov dword [esp], esi
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp + 0x40], ecx
call fcn.0042faa0
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
cmp byte [esp + 0x3c], 0
lea esi, [ecx + eax]
mov byte [esi], 0
jne 0x40f47f
mov dword [esp + 4], ecx
mov dword [esp], str._n_____s_n
mov dword [esp + 0x30], ecx
call fcn.00401530
mov ecx, dword [esp + 0x30]
mov dword [esp], ecx
call fcn.0042fa48
mov edx, dword [esp + 0x38]
mov eax, edi
call fcn.00416330
mov esi, eax
test eax, eax
je 0x40f330
mov dword [esp + 4], eax
mov dword [esp], 0x434815
call fcn.00401530
mov dword [esp], esi
call fcn.0042fa48
add ebx, 0x18
cmp ebp, ebx
je 0x40f49d
mov edi, dword [ebx + 0x14]
test edi, edi
je 0x40f2b4
mov dword [esp], 0x41
call fcn.0042fa98
mov ecx, eax
test eax, eax
je 0x4103e3
movzx eax, byte [ebx]
mov esi, dword [ebx + 8]
test al, al
je 0x40f140
mov byte [ecx], 0x2d
mov byte [ecx + 1], al
test esi, esi
je 0x40f3f7
mov eax, 0x202c
mov byte [ecx + 4], 0
mov word [ecx + 2], ax
lea eax, [ecx + 4]
mov dword [esp + 0x34], 6
jmp 0x40f152
mov dword [esp + 0x30], 0x40
xor edx, edx
jmp 0x40f1c0
mov dword [esp], str._ERROR__n
call fcn.00401530
jmp 0x40f2b4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov dword [esp], ecx
lea eax, [eax + eax*2]
shr eax, 1
lea edx, [eax + 1]
add eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x30], edx
call fcn.0042fab8
mov edx, dword [esp + 0x40]
test eax, eax
mov ecx, eax
jne 0x40f202
mov dword [esp + 0x10], str.sc_strbuf_reserve
mov dword [esp + 0xc], 0x1e
mov dword [esp + 8], 0x434787
mov dword [esp + 4], 0x431262
mov dword [esp], 0
call fcn.00421700
mov dword [esp], str._ERROR__n
call fcn.00401530
jmp 0x40f287
mov eax, dword [esp + 0x44]
mov dword [esp + 0x3c], edx
mov dword [esp], ecx
lea edx, [eax + 0x60]
add eax, 0x61
mov dword [esp + 4], eax
mov dword [esp + 0x30], edx
call fcn.0042fab8
mov ecx, eax
test eax, eax
je 0x40f379
mov eax, dword [esp + 0x34]
mov edx, dword [esp + 0x3c]
add eax, ecx
mov dword [esp + 0x40], eax
jmp 0x40f194
mov byte [ecx + 2], 0
mov edx, 2
mov dword [esp + 0x30], 0x40
jmp 0x40f1c0
mov eax, dword [esp + 0x30]
mov dword [esp + 0x40], edx
mov dword [esp], ecx
lea eax, [eax + eax*2]
shr eax, 1
lea edx, [eax + 1]
add eax, 2
mov dword [esp + 4], eax
mov dword [esp + 0x30], edx
call fcn.0042fab8
mov edx, dword [esp + 0x40]
test eax, eax
mov ecx, eax
jne 0x40f1e8
jmp 0x40f379
mov eax, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 0x40], edx
lea eax, [eax + eax*2]
shr eax, 1
add eax, edx
mov dword [esp + 0x30], eax
add eax, 1
mov dword [esp + 4], eax
call fcn.0042fab8
mov ecx, eax
test eax, eax
je 0x40f379
mov edx, dword [esp + 0x40]
add esi, eax
jmp 0x40f236
add eax, 1
cmp dword [esp + 0x30], eax
jb 0x40f62a
mov eax, dword [esp + 0x44]
mov byte [esi], 0x5d
mov byte [ecx + eax + 1], 0
jmp 0x40f267
mov dword [esp], str._nShortcuts:_n
call fcn.00401530
mov edx, dword [esp + 0x38]
mov ecx, 4
mov eax, str.In_the_following_list__MOD_is_the_shortcut_modifier._By_default__its__left__Alt_or__left__Super__but_it_can_be_configured_by___shortcut_mod__see_above_.
call fcn.00415190
mov ebx, eax
test eax, eax
je 0x40f7c6
mov dword [esp + 4], eax
mov dword [esp], str._n_s_n
call fcn.00401530
mov dword [esp], ebx
call fcn.0042fa48
mov edi, dword [esp + 0x38]
mov esi, 0x435e40
lea esi, cs:[esi]
nop
mov dword [esp], 0x4348c7
mov ebx, esi
call fcn.00401530
mov eax, dword [esi]
test eax, eax
je 0x40f51d
mov dword [esp + 4], eax
add ebx, 4
mov dword [esp], str._____s_n
call fcn.00401530
mov eax, dword [ebx]
test eax, eax
jne 0x40f504
mov eax, dword [esi + 0x10]
mov edx, edi
call fcn.00416330
mov ebx, eax
test eax, eax
je 0x40f619
mov dword [esp + 4], eax
mov dword [esp], 0x434815
call fcn.00401530
mov dword [esp], ebx
call fcn.0042fa48
add esi, 0x14
cmp esi, str.always_on_top
jne 0x40f4f0
mov dword [esp], str._nEnvironment_variables:_n
xor esi, esi
call fcn.00401530
mov edi, dword [esp + 0x38]
mov eax, dword [esi*8 + 0x435800]
mov dword [esp], str._n_____s_n
mov dword [esp + 4], eax
call fcn.00401530
mov eax, dword [esi*8 + 0x435804]
mov edx, edi
call fcn.00416330
mov ebx, eax
test eax, eax
je 0x40f65f
mov dword [esp + 4], eax
mov dword [esp], 0x434815
call fcn.00401530
mov dword [esp], ebx
call fcn.0042fa48
add esi, 1
cmp esi, 4
jne 0x40f566
mov dword [esp], str._nExit_status:_n_n
xor esi, esi
call fcn.00401530
mov edi, dword [esp + 0x38]
mov eax, dword [esi*8 + 0x435718]
mov ecx, 9
mov edx, edi
call fcn.00415190
mov ebx, eax
test eax, eax
je 0x40f6a1
lea eax, [eax + 9]
mov dword [esp], str._____3d___s_n
mov dword [esp + 8], eax
mov eax, dword [esi*8 + 0x435714]
mov dword [esp + 4], eax
call fcn.00401530
mov dword [esp], ebx
call fcn.0042fa48
add esi, 1
cmp esi, 3
jne 0x40f5c7
xor ebx, ebx
jmp 0x40ed57
mov dword [esp], str._ERROR__n
call fcn.00401530
jmp 0x40f549
mov eax, dword [esp + 0x30]
mov dword [esp], ecx
mov dword [esp + 0x30], ecx
lea eax, [eax + eax*2]
shr eax, 1
add eax, 2
mov dword [esp + 4], eax
call fcn.0042fab8
mov ecx, dword [esp + 0x30]
test eax, eax
je 0x410397
mov esi, dword [esp + 0x44]
mov ecx, eax
add esi, eax
jmp 0x40f48c
mov dword [esp], str._ERROR__n
call fcn.00401530
jmp 0x40f5ad
mov dword [esp + 0x10], str.sc_getopt_adapter_create_longopts
mov dword [esp + 0xc], 0x488
mov dword [esp + 8], str..._app_src_cli.c
mov dword [esp + 4], 0x431262
mov dword [esp], 0
call fcn.00421700
jmp 0x40ebb7
mov dword [esp], str._ERROR__n
call fcn.00401530
jmp 0x40f60a
mov dword [esp + 0x19c], 0
jmp 0x40eb15
mov dword [esp + 4], str.Could_not_allow_joystick_background_events
mov dword [esp], 0
call fcn.004216c8
jmp 0x40edc5
mov dword [esp + 4], str.Could_not_enable_linear_filtering
mov dword [esp], 0
call fcn.004216c8
jmp 0x40eda9
mov edx, esi
xor ebp, ebp
call fcn.00409910
jmp 0x40ee97
mov dword [esp + 4], str.Could_not_enable_mouse_focus_clickthrough
mov dword [esp], 0
call fcn.004216c8
jmp 0x40ee10
mov dword [esp], 0x2000
call fcn.00421730
test eax, eax
je 0x40ede8
call fcn.00421778
mov dword [esp + 4], str.Could_not_initialize_SDL_controller:__s
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.00421700
jmp 0x40ede8
mov dword [esp], 0x4338a3
call fcn.0042fa68
test eax, eax
je 0x410414
mov dword [0x443670], eax
jmp 0x40ee31
mov dword [esp], 0xfffffff5
call dword [0x4c5884]
sub esp, 4
lea edx, [esp + 0x1a0]
mov dword [esp], eax
mov dword [esp + 4], edx
call dword [0x4c585c]
sub esp, 8
test eax, eax
je 0x40f11a
movsx edx, word [esp + 0x1aa]
movsx eax, word [esp + 0x1ae]
sub eax, edx
mov edx, 0x14
add eax, 1
cmp eax, edx
cmovae edx, eax
mov dword [esp + 0x38], edx
jmp 0x40f122
mov dword [esp], str._ERROR__n
call fcn.00401530
jmp 0x40f4de
lea ecx, [esp + 0x50]
mov edx, edi
mov eax, 0x4c3680
call fcn.00415910
mov ebp, eax
test al, al
jne 0x40f871
cmp byte [0x4c3690], 0
jne 0x410360
cmp byte [0x4c3698], 0
mov ebx, 1
jne 0x4103b1
mov eax, dword [0x4c3680]
mov dword [esp], eax
call fcn.00421900
sub esp, 4
jmp 0x40ed57
mov eax, dword [esp + 0x34]
mov dword [esp], ebp
mov dword [esp + 4], eax
call dword [0x4c5864]
sub esp, 8
jmp 0x40ee97
call fcn.00421778
mov dword [esp + 4], str.Could_not_initialize_SDL:__s
mov dword [esp + 8], eax
mov dword [esp], 0
call fcn.00421700
test dword [esp + 0x19c], 0xfffffffd
je 0x40eb15
jmp 0x40ebe5
mov eax, dword [esp + 0x50]
mov dword [esp + 4], 0x4c3684
mov dword [esp], eax
call fcn.004218a0
sub esp, 8
test eax, eax
js 0x40fd40
mov byte [0x4c3690], 0
mov byte [0x4c3698], 0
mov dword [0x4c3688], 0x43a6e4
mov dword [0x4c368c], 0
mov byte [0x4c36a0], 0
mov byte [esp + 0x68], 0
movzx eax, byte [esp + 0x68]
xchg byte [0x4c36a1], al
mov dword [esp], 1
call fcn.004218c0
sub esp, 4
test eax, eax
je 0x410090
mov eax, dword [0x4c3684]
mov dword [esp], eax
call fcn.004218f0
sub esp, 4
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004218e8
sub esp, 8
test eax, eax
js 0x410068
movzx eax, word [esp + 0x1aa]
mov dword [esp + 0x20], 0x4c3694
mov dword [esp + 0x1c], 0x4c3680
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x1a8]
mov dword [esp + 0x18], 0x413c50
mov dword [esp + 0xc], eax
mov eax, dword [0x4c3680]
mov dword [esp + 0x14], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.004218b0
sub esp, 0x24
test eax, eax
js 0x410295
mov eax, dword [0x4c5918]
mov dword [esp + 8], 0x4c3680
mov dword [esp + 4], str.scrcpy_usbev
mov dword [esp + 0x10], eax
mov eax, dword [0x4c5910]
mov dword [esp], 0x413ca0
mov dword [esp + 0xc], eax
mov byte [0x4c3690], 1
call fcn.00421820
test eax, eax
je 0x41024d
mov dword [0x4c369c], eax
mov byte [0x4c3698], 1
xor ecx, ecx
mov edx, 0x4c3680
mov eax, 0x4c36a4
call fcn.00415810
mov ebp, eax
test al, al
je 0x410125
mov eax, dword [esp + 0xe8]
xor edi, edi
mov ebx, dword [esp + 0xe4]
cmp dword [esp + 0xe0], 5
mov dword [esp + 0x38], eax
je 0x4100a9
xor edx, edx
cmp ebx, 5
je 0x4108da
cmp dword [esp + 0x38], 3
mov dword [esp + 0x30], 0
je 0x410869
mov dword [esp + 4], str.Starting_AOA_thread
mov dword [esp], 0
mov dword [esp + 0x38], edx
call fcn.00421708
mov eax, dword [0x4c5918]
mov dword [esp + 8], 0x4c36a4
mov dword [esp + 4], str.scrcpy_aoa
mov dword [esp + 0x10], eax
mov eax, dword [0x4c5910]
mov dword [esp], 0x413210
mov dword [esp + 0xc], eax
call fcn.00421820
mov edx, dword [esp + 0x38]
test eax, eax
je 0x4102d3
mov dword [0x4c36a8], eax
mov eax, dword [esp + 0x9c]
test eax, eax
je 0x410853
mov dword [0x4c37f8], edi
mov edi, dword [esp + 0x30]
cmp word [esp + 0x138], 0x8000
mov dword [0x4c37fc], edx
mov edx, 0x1fff0000
mov dword [0x4c3800], edi
movsx edi, word [esp + 0x138]
movzx ebx, word [esp + 0x13e]
mov dword [esp], eax
cmove edi, edx
movzx ecx, word [esp + 0x13c]
cmp word [esp + 0x13a], 0x8000
mov dword [0x4c3810], 0
mov word [esp + 0x38], bx
mov ebx, edi
movsx edi, word [esp + 0x13a]
mov dword [esp + 4], ebx
cmove edi, edx
mov edx, 0x100
test cx, cx
cmove ecx, edx
mov dword [esp + 8], edi
mov dword [esp + 0x30], ecx
movzx ecx, word [esp + 0x38]
test cx, cx
cmovne edx, ecx
cmp byte [esp + 0x16b], 1
sbb ecx, ecx
mov dword [esp + 0x38], edx
movzx edx, byte [esp + 0x174]
and ecx, 0xffff8000
add ecx, 0xa000
neg edx
and edx, 0x10
or edx, ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
call fcn.00421818
mov dword [0x4c3804], eax
test eax, eax
je 0x410833
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call fcn.00421838
mov dword [0x4c3808], eax
test eax, eax
je 0x410760
call fcn.00407690
mov edi, eax
test eax, eax
je 0x410815
mov dword [esp + 4], eax
mov eax, dword [0x4c3804]
mov dword [esp], eax
call fcn.00421620
mov eax, dword [edi + 0xc]
mov dword [esp + 8], eax
mov eax, dword [edi + 8]
mov dword [esp + 4], eax
mov eax, dword [0x4c3808]
mov dword [esp], eax
call fcn.00421670
test eax, eax
jne 0x4107f5
mov eax, dword [0x4c3808]
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.00421828
mov dword [0x4c380c], eax
mov eax, dword [edi + 0x18]
mov dword [esp], esi
mov dword [esp + 0x1a0], eax
call fcn.004203a0
mov dword [esp], edi
call fcn.004217d8
cmp dword [0x4c380c], 0
je 0x410788
mov eax, dword [0x4c37fc]
test eax, eax
je 0x40fc0d
mov dword [esp], 1
call fcn.00421638
test eax, eax
jne 0x40fff7
mov eax, dword [esp + 0x50]
test eax, eax
je 0x40fc1e
mov dword [esp], eax
call fcn.00421888
push edi
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0042fa48
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0042fa48
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0042fa48
mov ebx, dword [esp + 0x34]
mov dword [esp], esi
call fcn.004215d0
test eax, eax
je 0x4106f9
mov eax, dword [esp + 0x1a0]
cmp eax, 0x8005
je 0x410703
cmp eax, 0x800b
je 0x4106e7
cmp eax, 0x100
je 0x410652
cmp eax, 0x402
je 0x4104d3
ja 0x41045c
cmp eax, 0x301
je 0x40fef7
ja 0x40fde8
cmp eax, 0x200
je 0x40ff9c
cmp eax, 0x300
jne 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40fcdc
mov eax, dword [esp + 0x1b4]
lea edx, [eax - 0x400000e2]
cmp edx, 1
jbe 0x41079f
cmp eax, 0x400000e7
je 0x41079f
mov eax, dword [0x4c37f8]
test eax, eax
je 0x40fc46
xor edx, edx
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x1b4]
cmp byte [esp + 0x1ad], 0
setne byte [esp + 0x76]
xor ecx, ecx
mov dword [esp + 0x6c], edx
mov edx, dword [esp + 0x1b0]
mov dword [esp + 0x70], edx
movzx edx, word [esp + 0x1b8]
mov word [esp + 0x74], dx
mov edx, dword [eax + 4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 4], ebx
mov dword [esp], eax
call dword [edx]
jmp 0x40fc46
mov dword [esp], eax
call fcn.00421890
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], str.Open_USB_device:_libusb_error:__s
mov dword [esp], 0
call fcn.00421700
movzx ebp, byte [0x4c3690]
mov eax, ebp
test al, al
jne 0x410360
movzx ebp, byte [0x4c3698]
mov eax, ebp
test al, al
jne 0x40fdc2
mov ebx, 1
mov eax, dword [esp + 0x50]
test eax, eax
je 0x40fd99
mov dword [esp], eax
call fcn.00421888
sub esp, 4
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.0042fa48
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.0042fa48
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
call fcn.0042fa48
jmp 0x40f810
mov eax, dword [0x4c369c]
mov dword [esp + 4], 0
mov ebx, 1
mov dword [esp], eax
call fcn.004215c8
mov eax, ebp
test al, al
je 0x40f810
jmp 0x40fd86
cmp eax, 0x400
je 0x40fe8e
cmp eax, 0x401
jne 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40fc46
call fcn.00421760
test eax, eax
je 0x40fc46
xor edx, edx
mov ebp, dword [0x4c37fc]
mov edi, ebx
mov dword [esp + 4], edx
mov dword [esp], edx
call fcn.00421768
mov ecx, 0xa
mov dword [esp + 0x30], eax
xor eax, eax
rep stosd dword es:[edi], eax
movzx ecx, byte [esp + 0x1b0]
xor eax, eax
cmp dword [esp + 0x1a0], 0x401
setne al
lea edi, [ecx - 1]
mov dword [esp + 0x74], eax
xor eax, eax
mov edx, edi
cmp dl, 4
ja 0x40fe6c
mov ecx, edi
mov eax, 1
shl eax, cl
mov dword [esp + 0x78], eax
movzx eax, byte [esp + 0x30]
mov byte [esp + 0x88], al
mov eax, dword [ebp]
mov dword [esp + 4], ebx
mov dword [esp], ebp
call dword [eax + 4]
jmp 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40fc46
call fcn.00421760
test eax, eax
je 0x40fc46
xor eax, eax
mov edi, ebx
mov ecx, 0xa
mov edx, dword [0x4c37fc]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1bc]
lea ebx, [esp + 0x68]
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0x1c0]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x1b0]
mov byte [esp + 0x88], al
mov eax, dword [edx]
mov dword [esp + 4], ebx
mov dword [esp], edx
call dword [eax]
jmp 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40ff27
mov eax, dword [esp + 0x1b4]
xor ebp, ebp
mov edx, dword [0x4c3810]
mov dword [0x4c3810], ebp
lea ecx, [eax - 0x400000e2]
cmp ecx, 1
jbe 0x40ff41
cmp eax, 0x400000e7
je 0x40ff41
mov eax, dword [0x4c37f8]
test eax, eax
je 0x40fc46
mov dword [esp + 0x68], 1
jmp 0x40fcef
cmp eax, edx
jne 0x40fc46
call fcn.00421760
mov edi, eax
xor eax, eax
test edi, edi
sete al
mov dword [esp], eax
call fcn.00421638
test eax, eax
je 0x40fc46
call fcn.00421778
test edi, edi
mov ecx, 0x431d7f
mov dword [esp + 4], 0x434594
mov edx, eax
mov eax, 0x431d84
cmove eax, ecx
xor edi, edi
mov dword [esp + 0xc], edx
mov dword [esp], edi
mov dword [esp + 8], eax
call fcn.00421700
jmp 0x40fc46
movzx eax, byte [esp + 0x1ac]
cmp al, 3
je 0x41001f
cmp al, 0xd
jne 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40fc46
xor ebp, ebp
mov dword [esp], ebp
call fcn.00421638
test eax, eax
je 0x40fc46
call fcn.00421778
xor edi, edi
mov dword [esp + 8], 0x431d84
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x434594
mov dword [esp], edi
call fcn.00421700
jmp 0x40fc46
call fcn.00421778
xor ebp, ebp
mov dword [esp + 8], 0x431d7f
mov dword [esp + 0xc], eax
mov dword [esp + 4], 0x434594
mov dword [esp], ebp
call fcn.00421700
jmp 0x40fc0d
mov eax, dword [0x4c3808]
mov dword [esp], eax
call fcn.00421690
mov eax, dword [0x4c380c]
test eax, eax
je 0x410050
mov dword [esp + 4], eax
mov eax, dword [0x4c3808]
xor edx, edx
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp], eax
call fcn.00421688
mov eax, dword [0x4c3808]
mov dword [esp], eax
call fcn.00421678
jmp 0x40fc46
mov dword [esp], eax
call fcn.00421890
sub esp, 4
mov dword [esp + 8], eax
mov dword [esp + 4], str.Device_descriptor:_libusb_error:__s
mov dword [esp], 0
call fcn.00421700
jmp 0x40f9b0
mov dword [esp + 4], str.On_this_platform__libusb_does_not_have_hotplug_capability__device_disconnection_will_not_be_detected_properly
mov dword [esp], 0
call fcn.004216c8
jmp 0x40f9b0
xor eax, eax
mov ecx, 1
mov edx, esi
mov dword [0x4c373c], 0x4c36a4
mov dword [esp + 0x1a4], eax
mov eax, 0x4c36a4
mov word [esp + 0x1a0], 1
mov dword [esp + 0x1a8], 0x43a620
mov dword [esp + 0x1ac], 0x3f
call fcn.0041fa20
test al, al
je 0x410154
mov edx, 0x4c36d4
mov ecx, 0x66
xor eax, eax
mov byte [0x4c3740], 0
mov word [0x4c36cc], 0x101
mov edi, edx
rep stosb byte es:[edi], al
mov edi, 0x4c36cc
mov dword [0x4c36d0], 0x43a660
jmp 0x40f9ed
cmp byte [0x4c3690], 0
jne 0x4101fc
cmp byte [0x4c3698], 0
jne 0x4101d6
mov eax, dword [0x4c3684]
mov dword [esp], eax
call fcn.00421910
sub esp, 4
jmp 0x40fd81
xor eax, eax
mov dword [esp + 4], str.Could_not_push_AOA_HID_open__keyboard_
mov dword [esp], eax
call fcn.004216c8
cmp byte [0x4c3690], 0
jne 0x41031c
mov ebx, 1
mov eax, dword [0x4c36a8]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004215c8
mov eax, dword [0x4c36c4]
mov dword [esp], eax
call fcn.0042fa48
mov eax, dword [0x4c36b0]
mov dword [esp], eax
call fcn.00421810
mov eax, dword [0x4c36ac]
mov dword [esp], eax
call fcn.00421808
cmp byte [0x4c3698], 0
jne 0x4102b9
mov eax, dword [0x4c3684]
mov dword [esp], eax
call fcn.00421910
sub esp, 4
jmp 0x40fddc
mov eax, dword [0x4c369c]
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004215c8
mov eax, dword [0x4c3684]
mov dword [esp], eax
call fcn.00421910
push ecx
jmp 0x40fd81
mov eax, 1
xchg byte [0x4c36a0], al
mov eax, dword [0x4c3694]
mov dword [esp + 4], eax
mov eax, dword [0x4c3680]
mov dword [esp], eax
call fcn.004218b8
movzx ebp, byte [0x4c3698]
push eax
push eax
mov eax, ebp
test al, al
je 0x41013f
mov eax, dword [0x4c369c]
xor edi, edi
mov ebx, 1
mov dword [esp + 4], edi
mov dword [esp], eax
call fcn.004215c8
jmp 0x4101c1
xor eax, eax
mov dword [esp + 0x10], str.sc_thread_create
mov dword [esp], eax
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0x432e4f
mov dword [esp + 4], 0x431262
call fcn.00421700
xor eax, eax
mov dword [esp + 4], str.Libusb_event_thread_handler_could_not_be_created__USB_device_disconnection_might_not_be_detected_immediately
mov dword [esp], eax
mov byte [0x4c3698], 0
call fcn.004216c8
jmp 0x40f9b0
mov dword [esp], eax
call fcn.00421890
xor ecx, ecx
push edx
mov dword [esp + 8], eax
mov dword [esp + 4], str.Register_hotplog_callback:_libusb_error:__s
mov dword [esp], ecx
call fcn.00421700
jmp 0x40f9b0
mov eax, dword [0x4c369c]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.004215c8
jmp 0x4101c1
xor ecx, ecx
mov dword [esp + 0x10], str.sc_thread_create
xor ebx, ebx
mov dword [esp], ecx
mov dword [esp + 0xc], 0x14
mov dword [esp + 8], 0x432e4f
mov dword [esp + 4], 0x431262
call fcn.00421700
mov dword [esp + 4], str.Could_not_start_AOA_thread
mov dword [esp], ebx
call fcn.00421700
cmp byte [0x4c3690], 0
je 0x410173
mov ebx, 1
mov eax, 1
xchg byte [0x4c36a0], al
mov eax, dword [0x4c3694]
mov dword [esp + 4], eax
mov eax, dword [0x4c3680]
mov dword [esp], eax
call fcn.004218b8
sub esp, 8
jmp 0x410178
call fcn.00415080
test al, al
jne 0x40e9b4
jmp 0x40ebbf
mov eax, 1
xchg byte [0x4c36a0], al
mov eax, dword [0x4c3694]
mov dword [esp + 4], eax
mov eax, dword [0x4c3680]
mov dword [esp], eax
call fcn.004218b8
sub esp, 8
cmp byte [0x4c3698], 0
jne 0x4103ce
mov ebx, 1
jmp 0x40fddc
mov dword [esp + 0x30], ecx
call fcn.00415040
mov ecx, dword [esp + 0x30]
test al, al
je 0x40f3a5
jmp 0x40f48c
mov eax, dword [0x4c369c]
xor ebx, ebx
mov dword [esp + 4], ebx
mov ebx, 1
mov dword [esp], eax
call fcn.004215c8
jmp 0x40f810
mov eax, dword [0x4c369c]
xor esi, esi
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.004215c8
jmp 0x41038d
mov dword [esp + 0x10], str.sc_strbuf_init
mov dword [esp + 0xc], 0xe
mov dword [esp + 8], 0x434787
mov dword [esp + 4], 0x431262
mov dword [esp], 0
call fcn.00421700
jmp 0x40f3a5
mov dword [0x443670], 0x43388e
mov eax, 0x43388e
jmp 0x40ee31
mov dword [esp + 0x34], edx
call fcn.00415040
mov edx, dword [esp + 0x34]
test al, al
je 0x40ebb7
jmp 0x40ec59
mov dword [esp + 0x38], ecx
call fcn.00415040
mov ecx, dword [esp + 0x38]
test al, al
je 0x40ebb7
jmp 0x40ea18
cmp eax, 0x652
ja 0x4105e2
cmp eax, 0x650
ja 0x410594
cmp eax, 0x403
je 0x410529
cmp eax, 0x650
jne 0x40fc46
mov edx, dword [0x4c3800]
test edx, edx
je 0x40fc46
movzx eax, byte [esp + 0x1ac]
cmp al, 5
ja 0x40fc46
mov dword [esp + 0x6c], eax
movzx eax, word [esp + 0x1b0]
mov ecx, dword [esp + 0x1a8]
mov word [esp + 0x70], ax
mov eax, dword [edx]
mov dword [esp + 0x68], ecx
mov dword [esp + 4], ebx
mov dword [esp], edx
call dword [eax + 4]
jmp 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40fc46
call fcn.00421760
test eax, eax
jne 0x40fe18
mov dword [esp], 1
call fcn.00421638
test eax, eax
je 0x40fc46
call fcn.00421778
mov dword [esp + 8], 0x431d7f
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 4], 0x434594
mov dword [esp], eax
call fcn.00421700
jmp 0x40fc46
cmp dword [0x4c37fc], 0
je 0x40fc46
call fcn.00421760
test eax, eax
je 0x40fc46
xor eax, eax
mov ebp, dword [0x4c37fc]
mov edi, ebx
lea ebx, [esp + 0x68]
mov dword [esp + 4], eax
mov dword [esp], eax
call fcn.00421768
fild dword [esp + 0x1b0]
mov ecx, 6
mov edx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov byte [esp + 0x7c], dl
mov eax, dword [ebp]
fstp dword [esp + 0x74]
fild dword [esp + 0x1b4]
mov dword [esp + 4], ebx
mov dword [esp], ebp
fstp dword [esp + 0x78]
call dword [eax + 8]
jmp 0x40fc46
mov ecx, dword [0x4c3800]
test ecx, ecx
je 0x40fc46
movzx edx, byte [esp + 0x1ac]
cmp dl, 0xe
ja 0x40fc46
cmp eax, 0x651
mov edi, dword [esp + 0x1a8]
mov dword [esp + 0x70], edx
setne al
movzx eax, al
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], eax
mov eax, dword [ecx]
mov dword [esp + 4], ebx
mov dword [esp], ecx
call dword [eax + 8]
jmp 0x40fc46
lea edx, [eax - 0x653]
cmp edx, 1
ja 0x40fc46
mov ebp, dword [0x4c3800]
test ebp, ebp
je 0x40fc46
mov edi, dword [esp + 0x1a8]
mov dword [esp], edi
cmp eax, 0x653
je 0x410736
call fcn.004217a8
test eax, eax
je 0x41071f
mov dword [esp], eax
call fcn.004217b0
xor eax, eax
mov dword [esp + 0x6c], edi
cmp dword [esp + 0x1a0], 0x653
setne al
mov dword [esp + 0x68], eax
mov eax, dword [ebp]
mov dword [esp + 4], ebx
mov dword [esp], ebp
call dword [eax]
jmp 0x40fc46
xor ecx, ecx
mov dword [esp + 4], str.User_requested_to_quit
xor ebx, ebx
mov dword [esp], ecx
call fcn.00421708
xor ebp, ebp
mov dword [esp + 4], str.quit...
mov dword [esp], ebp
xor ebp, ebp
call fcn.00421708
mov eax, dword [0x4c36ac]
mov dword [esp], eax
call fcn.00421710
mov eax, dword [0x4c36b0]
mov byte [0x4c36b4], 1
mov dword [esp], eax
call fcn.00421868
mov eax, dword [0x4c36ac]
mov dword [esp], eax
call fcn.004215e0
mov esi, dword [0x4c36c8]
test esi, esi
je 0x4106d5
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00421710
mov eax, dword [esi + 4]
mov byte [esi + 8], 1
mov dword [esp], eax
call fcn.00421868
mov eax, dword [esi]
mov dword [esp], eax
call fcn.004215e0
cmp byte [0x4c3690], 0
je 0x410178
jmp 0x410321
xor ebx, ebx
mov dword [esp + 4], str.AOA_open_error
mov dword [esp], ebx
call fcn.00421700
mov ebx, 1
jmp 0x410666
xor esi, esi
mov dword [esp + 4], str.Device_disconnected
mov ebx, 2
mov dword [esp], esi
call fcn.004216c8
jmp 0x410666
xor eax, eax
mov dword [esp + 4], 0x434bcc
mov dword [esp], eax
call fcn.004216c8
jmp 0x410629
call fcn.00421790
mov edi, eax
test eax, eax
je 0x4107d1
mov dword [esp], eax
call fcn.004217a0
test eax, eax
je 0x4107b2
mov dword [esp], eax
call fcn.00421720
mov edi, eax
jmp 0x410629
call fcn.00421778
mov dword [esp + 4], str.Could_not_create_renderer:__s
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp], eax
call fcn.00421700
mov eax, dword [0x4c3804]
mov dword [esp], eax
call fcn.004217f0
mov eax, dword [0x4c3808]
mov dword [esp], eax
call fcn.00421800
mov ebx, 1
jmp 0x41067a
cmp dword [0x4c3810], 0
jne 0x4107e8
mov dword [0x4c3810], eax
jmp 0x40fc46
xor eax, eax
mov dword [esp + 4], 0x434ba8
mov dword [esp], eax
call fcn.004216c8
mov dword [esp], edi
call fcn.004217b0
jmp 0x40fc46
xor eax, eax
mov dword [esp + 4], 0x434b88
mov dword [esp], eax
call fcn.004216c8
jmp 0x40fc46
xor ecx, ecx
mov dword [0x4c3810], ecx
jmp 0x40fc46
call fcn.00421778
mov dword [esp + 4], str.Could_not_set_renderer_logical_size:__s
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp], eax
call fcn.004216c8
jmp 0x40fbb3
xor eax, eax
mov dword [esp + 4], str.Could_not_load_icon
mov dword [0x4c380c], eax
xor eax, eax
mov dword [esp], eax
call fcn.004216c8
jmp 0x40fbf0
call fcn.00421778
xor edx, edx
mov dword [esp + 4], str.Could_not_create_window:__s
mov dword [esp + 8], eax
mov dword [esp], edx
call fcn.00421700
jmp 0x410795
mov eax, dword [esp + 0x5c]
test eax, eax
jne 0x40fa71
mov eax, 0x43474c
jmp 0x40fa71
mov dword [0x4c37f4], 0x4c36a4
mov dword [0x4c3754], 0xffffffff
mov dword [0x4c3768], 0xffffffff
mov dword [0x4c377c], 0xffffffff
mov dword [0x4c3790], 0xffffffff
mov dword [0x4c37a4], 0xffffffff
mov dword [0x4c37b8], 0xffffffff
mov dword [0x4c37cc], 0xffffffff
mov dword [0x4c37e0], 0xffffffff
mov dword [0x4c3750], 0x43a6c4
mov dword [esp + 0x30], 0x4c3750
jmp 0x40fa0b
xor eax, eax
mov ecx, 1
mov edx, esi
mov dword [0x4c374c], 0x4c36a4
mov dword [esp + 0x1a4], eax
mov eax, 0x4c36a4
mov word [esp + 0x1a0], 2
mov dword [esp + 0x1a8], 0x43a680
mov dword [esp + 0x1ac], 0x34
call fcn.0041fa20
test al, al
je 0x41093d
mov dword [0x4c3744], 0x43a6b4
mov edx, 0x4c3744
mov byte [0x4c3748], 1
jmp 0x40f9f8
xor esi, esi
mov dword [esp + 4], str.Could_not_push_AOA_HID_open__mouse_
mov dword [esp], esi
call fcn.004216c8
cmp byte [0x4c3690], 0
je 0x410173
jmp 0x41031c