Function at 0x100434a0
Capabilities:
Allocate or change rwx memory
Encode data using xor
Execute shellcode via indirect call
Log keystrokes via polling

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100921f8
push eax
mov dword fs:[0], esp
sub esp, 0x1a4
cmp byte [0x101d7508], 0
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_VirtualProtect]
push esi
push edi
je 0x100434fd
mov esi, dword [0x101cd6b8]
lea eax, [ebp - 0x38]
push eax
push 0x40
push 5
push esi
call ebx
mov eax, 0x10043410
mov byte [esi], 0xe9
sub eax, esi
sub eax, 5
mov dword [esi + 1], eax
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x38]
push 5
push esi
call ebx
mov eax, dword [0x10b3b4d4]
mov ebx, dword [sym.imp.OPENGL32.dll_glDeleteTextures]
test eax, eax
jne 0x10043aa9
mov eax, dword [0x101cd3f0]
push 0x1002c340
push 0xfffffffffffffffc
push eax
mov dword [0x10b3b4d4], 1
mov dword [0x101d90e4], eax
call dword [sym.imp.USER32.dll_SetWindowLongA]
mov esi, dword [sym.imp.OPENGL32.dll_glGetIntegerv]
mov dword [0x101d90ec], eax
lea eax, [ebp - 0x38]
push eax
push 0x821b
call esi
lea eax, [ebp - 0x20]
push eax
push 0x821c
call esi
mov eax, dword [ebp - 0x38]
xor edx, edx
mov esi, dword [0x101d9090]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0x20]
lea eax, [eax + ecx*2]
movzx ecx, byte [0x10b3b264]
cmp eax, 0x20
cmovge ecx, edx
mov byte [0x10b3b264], cl
test esi, esi
je 0x10043584
inc dword [esi + 0xa8]
push 0x60b0
call fcn.1007ada5
add esp, 4
mov dword [ebp - 0x30], eax
lea ecx, [ebp - 0x45]
test eax, eax
je 0x100435a5
push ecx
mov ecx, eax
call fcn.10005610
jmp 0x100435a7
xor eax, eax
mov dword [0x101d9090], eax
call fcn.1000aee0
mov eax, dword [0x101d9090]
test esi, esi
cmovne eax, esi
mov dword [0x101d9090], eax
call fcn.10027ba0
cmp byte [0x10b3b264], 0
jne 0x100435d8
call fcn.1002c2f0
call fcn.10027040
mov edi, dword [0x101d9090]
mov eax, dword [edi + 0x378c]
lea esi, [edi + 8]
test eax, eax
jns 0x1004361f
je 0x100435ff
cdq
sub eax, edx
lea edx, [esi + 0x3780]
mov ecx, eax
sar ecx, 1
add ecx, dword [edx + 4]
jmp 0x1004360a
mov ecx, 8
lea edx, [esi + 0x3780]
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, edx
push eax
call fcn.10018510
mov edi, dword [0x101d9090]
mov ecx, esi
mov dword [esi + 0x3780], 0
call fcn.10006e30
movss xmm2, dword [0x100ac090]
push 0x100a5b24
push ecx
mov byte [esi + 0x50], 0
mov ecx, dword [edi + 0x40]
push str.c:WindowsFonts_arial.ttf
call fcn.10023870
mov edx, 0x65
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + 0x100a7d48]
xor al, dl
mov byte [ebp + ecx - 0x68], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x1d
jb 0x10043660
movss xmm2, dword [0x100ac0a0]
lea eax, [ebp - 0x68]
push 0x100a5b24
push ecx
mov ecx, dword [esi + 0x38]
push eax
mov byte [ebp - 0x4b], 0
call fcn.10023870
mov dword [0x101d93b0], eax
mov edx, 0x35
xor ecx, ecx
mov al, byte [ecx + str.ejdHU_HTajV__b_r7_g__]
xor al, dl
mov byte [ebp + ecx - 0x63], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x18
jb 0x100436a2
movss xmm2, dword [0x100ac098]
lea eax, [ebp - 0x63]
push 0
push ecx
mov ecx, dword [esi + 0x38]
push eax
mov byte [ebp - 0x4b], 0
call fcn.10023870
push 0x101d943c
push 1
mov dword [0x101d9384], eax
mov dword [0x101d943c], 0
call ebx
mov edx, 0xb1
xor ecx, ecx
mov al, byte [ecx + 0x100a7d84]
xor al, dl
mov byte [ebp + ecx - 0x60], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x100436f4
push 0x101cd410
push 0x101cd40c
mov edx, 0x101d943c
mov byte [ebp - 0x4b], 0
lea ecx, [ebp - 0x60]
call fcn.10042ab0
movaps xmm0, xmmword [0x100ac6b0]
add esp, 8
mov dword [edi + 0x37c0], 0x41200000
mov dword [edi + 0x37f4], 0x41400000
mov dword [edi + 0x381c], 0x41c80000
mov dword [edi + 0x3824], 0x41700000
mov dword [edi + 0x3828], 0x41100000
mov dword [edi + 0x382c], 0x41a00000
mov dword [edi + 0x3830], 0x41400000
mov dword [edi + 0x37e4], 0x40e00000
mov dword [edi + 0x37b0], 0x3f800000
mov dword [ebp - 0x34], 0x41700000
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x37b8], eax
mov dword [ebp - 0x30], 0x41700000
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x37bc], eax
mov dword [ebp - 0x34], 0x40a00000
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x37ec], eax
mov dword [ebp - 0x30], 0x40a00000
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x37f0], eax
mov dword [ebp - 0x34], 0x41400000
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x37fc], eax
mov dword [ebp - 0x30], 0x41000000
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x3800], eax
mov dword [ebp - 0x34], 0x41000000
mov eax, dword [ebp - 0x34]
mov dword [edi + 0x3804], eax
mov dword [ebp - 0x30], 0x40c00000
mov eax, dword [ebp - 0x30]
mov dword [edi + 0x3808], eax
movups xmmword [edi + 0x3878], xmm0
movaps xmm0, xmmword [0x100ac6b0]
movups xmmword [edi + 0x3888], xmm0
movaps xmm0, xmmword [0x100ac510]
movups xmmword [edi + 0x3898], xmm0
movaps xmm0, xmmword [0x100ac510]
movups xmmword [edi + 0x38a8], xmm0
movaps xmm0, xmmword [0x100ac510]
movups xmmword [edi + 0x38b8], xmm0
movaps xmm0, xmmword [0x100ac4a0]
movups xmmword [edi + 0x38c8], xmm0
movaps xmm0, xmmword [0x100ac4a0]
movups xmmword [edi + 0x38d8], xmm0
movaps xmm0, xmmword [0x100ac5e0]
movups xmmword [edi + 0x38e8], xmm0
movaps xmm0, xmmword [0x100ac630]
movups xmmword [edi + 0x38f8], xmm0
movaps xmm0, xmmword [0x100ac5c0]
movups xmmword [edi + 0x3908], xmm0
movaps xmm0, xmmword [0x100ac650]
movups xmmword [edi + 0x3918], xmm0
movaps xmm0, xmmword [0x100ac650]
movups xmmword [edi + 0x3928], xmm0
movaps xmm0, xmmword [0x100ac650]
movups xmmword [edi + 0x3938], xmm0
movaps xmm0, xmmword [0x100ac670]
movups xmmword [edi + 0x3948], xmm0
movaps xmm0, xmmword [0x100ac320]
movups xmmword [edi + 0x3958], xmm0
movaps xmm0, xmmword [0x100ac400]
movups xmmword [edi + 0x3968], xmm0
movaps xmm0, xmmword [0x100ac3f0]
movups xmmword [edi + 0x3978], xmm0
movaps xmm0, xmmword [0x100ac600]
movups xmmword [edi + 0x3988], xmm0
movaps xmm0, xmmword [0x100ac520]
movups xmmword [edi + 0x3998], xmm0
movaps xmm0, xmmword [0x100ac3c0]
movups xmmword [edi + 0x39a8], xmm0
movaps xmm0, xmmword [0x100ac350]
movups xmmword [edi + 0x39b8], xmm0
mov eax, dword [0x10b3b4d4]
movaps xmm0, xmmword [0x100ac5e0]
movups xmmword [edi + 0x39c8], xmm0
movaps xmm0, xmmword [0x100ac630]
movups xmmword [edi + 0x39d8], xmm0
movaps xmm0, xmmword [0x100ac5c0]
movups xmmword [edi + 0x39e8], xmm0
movaps xmm0, xmmword [0x100ac5e0]
movups xmmword [edi + 0x39f8], xmm0
movaps xmm0, xmmword [0x100ac630]
movups xmmword [edi + 0x3a08], xmm0
movaps xmm0, xmmword [0x100ac5c0]
movups xmmword [edi + 0x3a18], xmm0
movaps xmm0, xmmword [0x100ac5b0]
movups xmmword [edi + 0x3a28], xmm0
movaps xmm0, xmmword [0x100ac3b0]
movups xmmword [edi + 0x3a38], xmm0
movaps xmm0, xmmword [0x100ac510]
movups xmmword [edi + 0x3a48], xmm0
movaps xmm0, xmmword [0x100ac340]
movups xmmword [edi + 0x3a58], xmm0
movaps xmm0, xmmword [0x100ac360]
movups xmmword [edi + 0x3a68], xmm0
movaps xmm0, xmmword [0x100ac460]
movups xmmword [edi + 0x3a78], xmm0
movaps xmm0, xmmword [0x100ac3a0]
movups xmmword [edi + 0x3a88], xmm0
movaps xmm0, xmmword [0x100ac430]
movups xmmword [edi + 0x3a98], xmm0
movaps xmm0, xmmword [0x100ac4e0]
movups xmmword [edi + 0x3aa8], xmm0
movaps xmm0, xmmword [0x100ac480]
movups xmmword [edi + 0x3ab8], xmm0
movaps xmm0, xmmword [0x100ac510]
movups xmmword [edi + 0x3ac8], xmm0
movaps xmm0, xmmword [0x100ac5b0]
movups xmmword [edi + 0x3ad8], xmm0
movaps xmm0, xmmword [0x100ac5a0]
movups xmmword [edi + 0x3ae8], xmm0
movaps xmm0, xmmword [0x100ac4d0]
movups xmmword [edi + 0x3af8], xmm0
movaps xmm0, xmmword [0x100ac4b0]
movups xmmword [edi + 0x3b08], xmm0
movaps xmm0, xmmword [0x100ac2a0]
movups xmmword [edi + 0x3b68], xmm0
movaps xmm0, xmmword [0x100ac460]
movups xmmword [edi + 0x3b78], xmm0
movaps xmm0, xmmword [0x100ac3e0]
movups xmmword [edi + 0x3b88], xmm0
movaps xmm0, xmmword [0x100ac380]
movups xmmword [edi + 0x3b98], xmm0
movaps xmm0, xmmword [0x100ac260]
movups xmmword [edi + 0x3ba8], xmm0
movaps xmm0, xmmword [0x100ac2b0]
movups xmmword [edi + 0x3bb8], xmm0
cmp eax, 1
jne 0x10045179
cmp byte [0x101cd3f4], 0
jne 0x10043ace
cmp byte [0x101cd3f5], 0
mov dword [0x101d90e8], 0
je 0x10043ad8
mov dword [0x101d90e8], 1
cmp byte [0x10b3b264], 0
je 0x10043af1
cmp dword [0x101d9094], 0
jne 0x10043aff
call fcn.10026f40
jmp 0x10043aff
cmp dword [0x101d90d8], 0
jne 0x10043aff
call fcn.10027980
call fcn.10028670
call fcn.1000a3e0
mov esi, dword [0x101d9090]
lea eax, [esi + 8]
mov edi, dword [eax + 0x3784]
lea ecx, [eax + 0x3780]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x20], ecx
test edi, edi
jns 0x10043b58
je 0x10043b37
mov eax, edi
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
add ecx, edi
jmp 0x10043b3c
mov ecx, 8
xor eax, eax
test ecx, ecx
cmovg eax, ecx
mov ecx, dword [ebp - 0x20]
push eax
call fcn.10018510
mov esi, dword [0x101d9090]
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
mov dword [ecx], 0
mov ecx, eax
call fcn.10006e30
mov eax, dword [ebp - 0x30]
mov edi, 1
push str.Foreground
mov edx, edi
mov byte [eax + 0x50], 0
mov eax, dword [esi + 0x3fe0]
mov eax, dword [eax]
movss xmm0, dword [eax + 0xc]
movss dword [0x101d9444], xmm0
movss xmm0, dword [eax + 0x10]
or dword [esi + 0x3f14], 0x40
mov dword [esi + 0x3f68], 0x3f000000
add byte [0x101cd414], 2
add byte [0x101cd415], 3
add byte [0x101cd416], 4
mov eax, dword [esi + 0x3fe0]
movss dword [0x101d93a8], xmm0
mov ecx, dword [eax]
call fcn.10009260
mov esi, dword [0x101d82a8]
add esp, 4
cmp byte [0x101d7509], 0
mov dword [0x101d9340], eax
je 0x10044216
mov eax, dword [0x101cd6b0]
cmp dword [eax], 5
jb 0x100441fa
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0xe8c578]
jne 0x10043d8b
cmp byte [0x101d7509], 8
movzx ecx, byte [0x101d7509]
cmovae ecx, edi
mov byte [0x101d7509], cl
mov ecx, 0x101cd39c
call fcn.10034160
test al, al
je 0x10043c53
cmp byte [0x101d7509], 1
jne 0x10043c53
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043c53
mov dword [0xe8cb3c], 0
mov ecx, 0x101cd3a4
call fcn.10034160
test al, al
je 0x10043c87
cmp byte [0x101d7509], 2
jne 0x10043c87
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043c87
mov dword [0xe8cb3c], 0
mov ecx, 0x101cd37c
call fcn.10034160
test al, al
je 0x10043cbb
cmp byte [0x101d7509], 3
jne 0x10043cbb
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043cbb
mov dword [0xe8cb3c], 0
mov ecx, 0x101cd394
call fcn.10034160
test al, al
je 0x10043cef
cmp byte [0x101d7509], 4
jne 0x10043cef
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043cef
mov dword [0xe8cb3c], 0
mov ecx, 0x101cd384
call fcn.10034160
test al, al
je 0x10043d23
cmp byte [0x101d7509], 5
jne 0x10043d23
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043d23
mov dword [0xe8cb3c], 0
mov ecx, 0x101cd3ac
call fcn.10034160
test al, al
je 0x10043d57
cmp byte [0x101d7509], 6
jne 0x10043d57
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043d57
mov dword [0xe8cb3c], 0
mov ecx, 0x101cd360
call fcn.10034160
test al, al
je 0x10043d8b
cmp byte [0x101d7509], 7
jne 0x10043d8b
cmp byte [0x101cd3f4], 0
sete al
mov byte [0x101cd3f4], al
test al, al
jne 0x10043d90
mov dword [0xe8cb3c], 0
mov al, byte [0x101cd3f4]
cmp al, 1
jne 0x100441dc
cmp dword [0x101d943c], 0
jne 0x10043df6
push 0x101d943c
push 1
mov dword [0x101d943c], 0
call ebx
mov edx, 0x34
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x100a7d9c]
xor al, dl
mov byte [ebp + ecx - 0x60], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x10043dc0
push 0x101cd410
push 0x101cd40c
mov edx, 0x101d943c
mov byte [ebp - 0x4b], 0
lea ecx, [ebp - 0x60]
call fcn.10042ab0
add esp, 8
mov ecx, dword fs:[0x2c]
mov dword [0xe8cb3c], edi
mov eax, dword [0x10b3b4e0]
mov ecx, dword [ecx + esi*4]
cmp eax, dword [ecx + 4]
jle 0x10043e4a
push 0x10b3b4e0
call fcn.100683af
add esp, 4
cmp dword [0x10b3b4e0], 0xffffffff
jne 0x10043e4a
push 0x10b3b4e0
mov dword [0x10b3b4c0], 0
mov dword [0x10b3b4c4], 0
call fcn.10068370
add esp, 4
push 0x15e64824
lea ecx, [ebp - 0x15]
call fcn.10058e70
push 0xbb
mov ecx, eax
mov dword [ebp - 4], 0
call fcn.1000e8e0
add esp, 4
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
movq qword [ebp - 0x15], xmm0
test al, al
je 0x10044216
mov eax, dword [0x101d9090]
movss xmm0, dword [0x100ac0c0]
mov ecx, dword [eax + 0x3e30]
mov eax, dword [ecx + 0x10]
mov dword [0x10b3b4c0], eax
mov eax, dword [ecx + 0x14]
mov dword [0x10b3b4c4], eax
call fcn.10012030
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x439d8000
mov dword [ebp - 0x14], 0x437a0000
call fcn.100111c0
mov edx, dword [0x101cd40c]
mov ecx, dword [0x101d943c]
movss xmm1, dword [0x100ac0a0]
movss xmm0, dword [0x100ac080]
mov dword [ebp - 0x38], 0x44140000
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0x43938000
push dword [ebp - 0x3c]
mov dword [ebp - 0x20], 0x43e10000
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push dword [ebp - 0x24]
push dword [0x101cd410]
call fcn.10042be0
mov edx, dword [0x101cd40c]
mov ecx, dword [0x101d943c]
movss xmm1, dword [0x100ac0bc]
movss xmm0, dword [0x100ac08c]
mov dword [ebp - 0x38], 0x43160000
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0x43920000
push dword [ebp - 0x3c]
mov dword [ebp - 0x20], 0x42920000
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0x40400000
push dword [ebp - 0x24]
push dword [0x101cd410]
call fcn.10042be0
mov edx, dword [0x101cd40c]
xorps xmm1, xmm1
mov ecx, dword [0x101d943c]
movss xmm0, dword [0x100ac080]
mov dword [ebp - 0x38], 0x428a0000
push dword [ebp - 0x38]
mov dword [ebp - 0x3c], 0x43d78000
push dword [ebp - 0x3c]
mov dword [ebp - 0x20], 0x40400000
push dword [ebp - 0x20]
mov dword [ebp - 0x24], 0
push dword [ebp - 0x24]
push dword [0x101cd410]
call fcn.10042be0
mov ecx, dword [0x101d9384]
add esp, 0x3c
call fcn.10010d30
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x428c0000
mov dword [ebp - 0x14], 0x42200000
call fcn.10011f80
mov edx, 0x6b
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ecx + str.KLMNOPQ1_:__84]
xor al, dl
mov byte [ebp + ecx - 0x1c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xe
jb 0x10043fe0
mov byte [ebp - 0xe], 0
lea eax, [ebp - 0x1c]
mov dword [ebp - 4], 1
movaps xmm0, xmmword [0x100ac540]
push eax
lea eax, [ebp - 0x44]
push eax
movups xmmword [ebp - 0x44], xmm0
call fcn.1002a920
add esp, 8
call fcn.10010e00
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x432f0000
mov dword [ebp - 0x14], 0x42960000
call fcn.10011f80
call fcn.100120d0
push 0x8bf4a376
lea ecx, [ebp - 0x18]
call fcn.10058ee0
push ecx
push str.Hnh_nh_map_nv_mt_s_object_monster
mov edx, 0x101cd36c
mov dword [ebp - 4], 2
mov ecx, eax
call fcn.10042ce0
add esp, 8
mov edx, 0xe4
xor ecx, ecx
nop
mov al, byte [ecx + 0x100a7e18]
xor al, dl
mov byte [ebp + ecx - 0x1b], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xd
jb 0x10044070
mov byte [ebp - 0xe], 0
push ecx
push str._phm_ctrl
mov edx, 0x101cd368
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x1b]
call fcn.10042ce0
add esp, 8
mov edx, 0x3c
xor ecx, ecx
mov al, byte [ecx + str.kTP__61c___ha_fzd]
xor al, dl
mov byte [ebp + ecx - 0x5d], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x12
jb 0x100440b0
mov byte [ebp - 0x4b], 0
push ecx
push str.F12:_hide_window_nCtrlF11:_show_all_the_windows
mov edx, 0x101cd36b
mov dword [ebp - 4], 4
lea ecx, [ebp - 0x5d]
call fcn.10042ce0
add esp, 8
call fcn.10012240
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x18], 0x41d80000
mov dword [ebp - 0x14], 0x42960000
call fcn.10011f80
call fcn.100120d0
mov edx, 0x97
xor ecx, ecx
mov al, byte [ecx + 0x100a7e8c]
xor al, dl
mov byte [ebp + ecx - 0x1c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xe
jb 0x10044110
mov byte [ebp - 0xe], 0
push ecx
push 0x100a7e6c
mov edx, 0x101cd36d
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x1c]
call fcn.10042ce0
add esp, 8
mov edx, 0xc6
xor ecx, ecx
mov al, byte [ecx + 0x100a7ec8]
xor al, dl
mov byte [ebp + ecx - 0x1c], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xe
jb 0x10044150
mov byte [ebp - 0xe], 0
push ecx
push str.Hnh_nh_hiu_ng_chuyn_ng
mov edx, 0x101cd36e
mov dword [ebp - 4], 6
lea ecx, [ebp - 0x1c]
call fcn.10042ce0
add esp, 8
mov edx, 0xf2
xor ecx, ecx
mov al, byte [ecx + 0x100a7f00]
xor al, dl
mov byte [ebp + ecx - 0x42], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0xd
jb 0x10044190
mov byte [ebp - 0x35], 0
push ecx
push str.Hnh_nh_hiu_ng_c_nh
mov edx, 0x101cd36f
mov dword [ebp - 4], 7
lea ecx, [ebp - 0x42]
call fcn.10042ce0
add esp, 8
mov dword [ebp - 4], 0xffffffff
call fcn.10012240
call fcn.10010800
jmp 0x10044216
cmp dword [0x101d943c], 0
je 0x10044216
push 0x101d943c
push 1
mov dword [0x101d943c], 0
call ebx
jmp 0x10044216
cmp dword [0x101d943c], 0
je 0x10044216
push 0x101d943c
push 1
call ebx
mov dword [0x101d943c], 0
cmp dword [0x101cd6b4], 0
mov eax, dword [0x101cd6ac]
mov edi, dword [eax]
mov dword [ebp - 0x38], edi
je 0x10044f31
cmp byte [0x101d7508], 0
je 0x10044f31
cmp byte [0x101cd3f5], 1
jne 0x10044ee8
push 0x7a195022
lea ecx, [ebp - 0x15]
mov dword [0xe8cb3c], 1
call fcn.10058f70
push 0xbf
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.1000e8e0
add esp, 4
mov dword [ebp - 4], 0xffffffff
xorps xmm0, xmm0
movq qword [ebp - 0x15], xmm0
test al, al
je 0x10044edf
mov eax, dword [0x101cd6d8]
mov eax, dword [eax]
cmp dword [0x100b8b50], eax
je 0x100442c5
push 0x101d933c
push 1
mov dword [0x100b8b50], eax
mov dword [0x101d933c], 0
call ebx
push 0x101d9424
push 1
mov dword [0x101d9424], 0
call ebx
movss xmm0, dword [edi + 0x404]
divss xmm0, dword [0x100ac0c4]
cvttss2si ecx, xmm0
movss xmm0, dword [edi + 0x408]
divss xmm0, dword [0x100ac0c4]
mov byte [edi + 0xac], cl
mov dword [0x101d9430], ecx
cvttss2si eax, xmm0
mov byte [edi + 0xb0], al
cmp dword [0x101d933c], 0
mov dword [0x101d9464], eax
jne 0x100443f7
push 0x101d933c
push 1
mov dword [0x101d933c], 0
call ebx
mov edx, 0x5a
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x100a7f18]
xor al, dl
mov byte [ebp + ecx - 0x60], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x15
jb 0x10044330
mov eax, dword [0x101cd6d8]
mov byte [ebp - 0x4b], 0
mov eax, dword [eax]
inc eax
push eax
lea eax, [ebp - 0x60]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.1002c420
push 0x101cd400
push 0x101cd3fc
mov edx, 0x101d933c
lea ecx, [ebp - 0x1b0]
call fcn.10042ab0
push 0x104
lea eax, [ebp - 0x1b0]
push 0
push eax
call fcn.1006fc00
add esp, 0x20
mov dword [0x101d9424], 0
push 0x101d9424
push 1
call ebx
mov edx, 0x58
xor ecx, ecx
nop
mov al, byte [ecx + 0x100a7f30]
xor al, dl
mov byte [ebp + ecx - 0x61], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x16
jb 0x100443b0
push 0x101cd408
push 0x101cd404
mov edx, 0x101d9424
mov byte [ebp - 0x4b], 0
lea ecx, [ebp - 0x61]
call fcn.10042ab0
add esp, 8
call fcn.10010800
mov byte [0x101cd3f5], 0
jmp 0x10044f31
mov eax, dword fs:[0x2c]
mov ecx, dword [eax + esi*4]
mov eax, dword [0x10b3b4e8]
cmp eax, dword [ecx + 4]
jle 0x10044444
push 0x10b3b4e8
call fcn.100683af
add esp, 4
cmp dword [0x10b3b4e8], 0xffffffff
jne 0x10044444
push 0x10b3b4e8
mov dword [0x10b3b4a8], 0
mov dword [0x10b3b4ac], 0
call fcn.10068370
add esp, 4
movd xmm0, dword [0x101cd3fc]
mov esi, dword [0x101d9090]
cvtdq2ps xmm0, xmm0
mov ecx, dword [esi + 0x3e30]
movss dword [ebp - 0x18], xmm0
movd xmm0, dword [0x101cd400]
mov eax, dword [ecx + 0x10]
cvtdq2ps xmm0, xmm0
mov dword [0x10b3b4a8], eax
mov eax, dword [ecx + 0x14]
lea ecx, [ebp - 0x18]
mov dword [0x10b3b4ac], eax
movss dword [ebp - 0x14], xmm0
call fcn.100111c0
mov eax, dword [0x101cd3fc]
movss xmm1, dword [0x101d9444]
mulss xmm1, dword [0x100ac00c]
cdq
sub eax, edx
mov ecx, dword [esi + 0x3e30]
sar eax, 1
push 0
movd xmm0, eax
mov eax, dword [0x101cd400]
cvtdq2ps xmm0, xmm0
cdq
sub eax, edx
lea edx, [ebp - 0x18]
sar eax, 1
subss xmm1, xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x18], xmm1
movss xmm1, dword [0x101d93a8]
mulss xmm1, dword [0x100ac00c]
subss xmm1, xmm0
movss dword [ebp - 0x14], xmm1
call fcn.10010fb0
mov edx, dword [0x101cd3fc]
mov eax, dword [0x101cd400]
mov ecx, dword [0x101d933c]
movss xmm1, dword [0x100ac10c]
movd xmm0, edx
cvtdq2ps xmm0, xmm0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
movss dword [ebp - 0x24], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [ebp - 0x20], xmm0
push dword [ebp - 0x20]
movss xmm0, dword [0x100ac108]
push dword [ebp - 0x24]
push dword [ebp - 0x14]
push dword [ebp - 0x18]
push eax
call fcn.10042be0
mov eax, dword [ebp - 0x30]
add esp, 0x18
movss xmm4, dword [0x10b3b4a8]
xor ecx, ecx
movss xmm3, dword [0x10b3b4ac]
movss xmm5, dword [eax + 0xd48]
movss xmm6, dword [eax + 0xd4c]
movaps xmm0, xmm5
subss xmm0, xmm4
movaps xmm1, xmm6
subss xmm1, xmm3
mulss xmm0, dword [0x100ac00c]
mulss xmm1, dword [0x100ac00c]
cvttss2si esi, xmm0
movss xmm0, dword [0x100ac0d4]
subss xmm0, xmm1
cvttss2si eax, xmm0
mov dword [ebp - 0x30], eax
call fcn.10008ff0
test al, al
je 0x1004475a
comiss xmm5, xmm4
jb 0x1004475a
comiss xmm6, xmm3
jb 0x1004475a
movd xmm0, dword [0x101cd3fc]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm4
comiss xmm0, xmm5
jb 0x1004475a
movd xmm0, dword [0x101cd400]
cvtdq2ps xmm0, xmm0
addss xmm0, xmm3
comiss xmm0, xmm6
jb 0x1004475a
mov ecx, dword [ebp - 0x30]
mov eax, dword [0x101cd6b4]
shl ecx, 8
add ecx, esi
movzx eax, word [eax + ecx*2]
test ax, ax
je 0x10044610
cmp eax, 1
jne 0x1004475a
xor ecx, ecx
call fcn.10012ae0
mov eax, dword [0x101d9090]
movss xmm0, dword [eax + 0x3bcc]
mulss xmm0, dword [0x100ac0ac]
call fcn.10010e70
mov edx, 0xed
xor ecx, ecx
nop dword [eax + eax]
mov al, byte [ecx + 0x100a7f48]
xor al, dl
mov byte [ebp + ecx - 0xa9], al
inc ecx
lea eax, [edx + 1]
movzx edx, al
cmp ecx, 0x40
jb 0x10044640
push dword [ebp - 0x30]
mov eax, dword [0x101cd6d8]
push esi
mov byte [ebp - 0x69], 0
push dword [eax]
lea eax, [ebp - 0xa9]
push eax
lea eax, [ebp - 0x1b0]
push eax
call fcn.1002c420
add esp, 0x10
lea ecx, [ebp - 0x1b0]
xor edx, edx
call fcn.1002a440
call fcn.10010ef0
call fcn.10010800
push 0x104
lea eax, [ebp - 0x1b0]
push 0
push eax
call fcn.1006fc00
add esp, 0x10
mov ecx, 0x101cd38c
call fcn.10034160
test al, al
je 0x1004475a
cmp byte [0x101d91f7], 0
jne 0x1004475a
mov edx, dword [ebp - 0x30]
mov ecx, esi
call fcn.10043430
cmp dword [0x101d93d4], 0
mov eax, dword [ebp - 0x30]
mov dword [0x101d93a0], esi
mov dword [0x101d93ac], eax
jne 0x1004470d
push 0
push 0
push ecx
push 0
push 0x10043250
sub esp, 8
mov dword [0x101d93d4], 1
push 0
call fcn.10062550
mov eax, dword [0x101d9430]
mov ecx, dword [0x101d9464]
mov byte [edi + 0xac], al
imul eax, eax, 0x64
mov dword [0x101d93d4], 2
mov byte [edi + 0xb0], cl
add eax, 0x32
movd xmm0, eax
imul eax, ecx, 0x64
cvtdq2ps xmm0, xmm0
add eax, 0x32
movss dword [edi + 0x404], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
movss dword [edi + 0x408], xmm0
jmp 0x10044768
mov eax, dword [0x101d93d4]
cmp eax, 2
jne 0x100448f4
movss xmm0, dword [0x101d9444]
lea eax, [ebp - 0x18]
addss xmm0, dword [0x100ac090]
movss xmm3, dword [0x10b3b4ac]
xorps xmm1, xmm1
push 0
push ecx
mov ecx, dword [0x101d9340]
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm3
subss xmm3, dword [0x100ac0a8]
mov dword [esp], 0
subss xmm0, xmm1
push 0x96000000
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0xc1200000
push eax
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0x20], xmm3
call fcn.100229b0
mov ecx, dword [0x101d93b0]
call fcn.10010d30
push 0x694f0056
lea ecx, [ebp - 0x5d]
call fcn.10058fe0
movzx ecx, byte [0x101cd414]
movss xmm1, dword [0x100abfe0]
mov dword [ebp - 0x20], 0x3f800000
movd xmm0, ecx
movzx ecx, byte [0x101cd415]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
movd xmm0, ecx
movzx ecx, byte [0x101cd416]
cvtdq2ps xmm0, xmm0
push ecx
push eax
mulss xmm0, xmm1
movss dword [ebp - 0x28], xmm0
movd xmm0, ecx
lea ecx, [ebp - 0x2c]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x24], xmm0
movss xmm0, dword [0x101d9444]
mulss xmm0, dword [0x100ac00c]
subss xmm0, dword [0x100ac0c4]
addss xmm0, dword [0x100ac040]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x10b3b4ac]
subss xmm0, dword [0x100ac0a4]
addss xmm0, dword [0x100ac040]
movss dword [ebp - 0x14], xmm0
call fcn.10007750
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10022ce0
push 0x694f0056
lea ecx, [ebp - 0x5d]
call fcn.10058fe0
movaps xmm0, xmmword [0x100ac6b0]
movups xmmword [ebp - 0x2c], xmm0
push ecx
movss xmm0, dword [0x101d9444]
lea ecx, [ebp - 0x2c]
mulss xmm0, dword [0x100ac00c]
push eax
subss xmm0, dword [0x100ac0c4]
movss dword [ebp - 0x18], xmm0
movss xmm0, dword [0x10b3b4ac]
subss xmm0, dword [0x100ac0a4]
movss dword [ebp - 0x14], xmm0
call fcn.10007750
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10022ce0
call fcn.10010e00
mov eax, dword [0x101d93d4]
cmp byte [0x101d91f7], 0
je 0x10044c8d
cmp eax, 1
jne 0x10044aa4
movss xmm0, dword [0x101d9444]
lea eax, [ebp - 0x18]
addss xmm0, dword [0x100ac090]
movss xmm3, dword [0x10b3b4ac]
xorps xmm1, xmm1
push 0
push ecx
mov ecx, dword [0x101d9340]
movss dword [ebp - 0x18], xmm0
movaps xmm0, xmm3
subss xmm3, dword [0x100ac0a8]
mov dword [esp], 0
subss xmm0, xmm1
push 0x96000000
push eax
lea eax, [ebp - 0x24]
mov dword [ebp - 0x24], 0xc1200000
push eax
movss dword [ebp - 0x14], xmm0
movss dword [ebp - 0x20], xmm3
call fcn.100229b0
mov ecx, dword [0x101d93b0]
call fcn.10010d30
mov al, byte [0x10b3b488]
mov edi, dword [0x101d7910]
test al, al
jne 0x10044989
inc edi
jmp 0x1004498e
cmp al, 1
jne 0x10044994
dec edi
mov dword [0x101d7910], edi
cmp edi, 0x64
jge 0x1004499d
test edi, edi
jg 0x100449a6
test al, al
sete byte [0x10b3b488]
mov esi, 0x100a7fa0
lea ecx, [ebp - 0x60]
sub esi, 0x4aa5565d
push esi
call fcn.10059020
movaps xmm0, xmmword [0x100ac490]
movss xmm1, dword [0x101d9444]
mulss xmm1, dword [0x100ac00c]
push ecx
movups xmmword [ebp - 0x2c], xmm0
lea ecx, [ebp - 0x2c]
movd xmm0, edi
subss xmm1, dword [0x100ac0c4]
cvtdq2ps xmm0, xmm0
push eax
addss xmm1, dword [0x100ac040]
subss xmm0, dword [0x100ac0b4]
addss xmm1, xmm0
movss xmm0, dword [0x10b3b4ac]
subss xmm0, dword [0x100ac0a4]
movss dword [ebp - 0x18], xmm1
addss xmm0, dword [0x100ac040]
movss dword [ebp - 0x14], xmm0
call fcn.10007750
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10022ce0
push esi
lea ecx, [ebp - 0x60]
call fcn.10059020
movaps xmm0, xmmword [0x100ac500]
movd xmm1, dword [0x101d7910]
movups xmmword [ebp - 0x2c], xmm0
push ecx
movss xmm0, dword [0x101d9444]
lea ecx, [ebp - 0x2c]
mulss xmm0, dword [0x100ac00c]
push eax
cvtdq2ps xmm1, xmm1
subss xmm0, dword [0x100ac0c4]
subss xmm1, dword [0x100ac0b4]
addss xmm1, xmm0
movss xmm0, dword [0x10b3b4ac]
subss xmm0, dword [0x100ac0a4]
movss dword [ebp - 0x18], xmm1
movss dword [ebp - 0x14], xmm0
call fcn.10007750
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.10022ce0
call fcn.10010e00
mov edi, dword [0x101d987c]
mov esi, dword [0x101d9878]
mov edx, dword [0x101d93a0]
mov ecx, dword [0x101d93ac]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x30], ecx
cmp esi, edi
je 0x10044bee
nop word [eax + eax]
mov ebx, dword [esi]
cmp ebx, 0x100
je 0x10044bcf
mov eax, dword [esi + 4]
cmp eax, 0x100
je 0x10044bcf
sub ecx, eax
mov eax, edx
sub eax, ebx
imul ecx, ecx
imul eax, eax
add eax, ecx
movd xmm0, eax
cvtdq2pd xmm0, xmm0
call fcn.10090270
cvttsd2si eax, xmm0
cmp eax, 0xa
jl 0x10044b7c
mov eax, dword [esi + 4]
lea edx, [ebp - 0x5c]
movaps xmm0, xmmword [0x100ac4f0]
movss xmm1, dword [0x10b3b4ac]
addss xmm1, dword [0x100ac0d4]
mov dword [ebp - 0x30], eax
add eax, eax
movups xmmword [ebp - 0x5c], xmm0
push ecx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x20], ebx
movd xmm0, eax
lea eax, [ebx + ebx]
cvtdq2ps xmm0, xmm0
addss xmm0, dword [0x10b3b4a8]
movss dword [ebp - 0x18], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
addss xmm1, dword [0x100ac0d4]
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [0x100ac06c]
call fcn.1002c3c0
add esp, 4
mov ecx, dword [0x101d9430]
mov eax, dword [0x101d9464]
mov ebx, dword [esi + 4]
sub ecx, ebx
sub eax, dword [esi]
imul ecx, ecx
imul eax, eax
add ecx, eax
movd xmm0, ecx
cvtdq2pd xmm0, xmm0
call fcn.10090270
cvttsd2si eax, xmm0
cmp eax, 2
jg 0x10044bc9
mov edx, dword [esi]
mov ecx, ebx
call fcn.10043430
mov dword [esi], 0x100
mov dword [esi + 4], 0x100
mov byte [0x101d926d], 1
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
add esi, 8
cmp esi, edi
jne 0x10044ad0
mov edx, dword [0x101d93a0]
mov esi, dword [0x101d93ac]
mov ebx, dword [sym.imp.OPENGL32.dll_glDeleteTextures]
jmp 0x10044bf0
mov esi, ecx
mov eax, dword [0x10b3b4f4]
mov dword [ebp - 0x14], 0x42680000
push dword [ebp - 0x14]
mov dword [ebp - 0x20], 0x420c0000
lea ecx, [eax*8]
sub ecx, eax
lea eax, [ecx*2 + 0x32]
movd xmm0, eax
lea eax, [ecx*2 + 0x26]
cvtdq2ps xmm0, xmm0
mov ecx, 0x1e5
movss dword [ebp - 0x18], xmm0
push dword [ebp - 0x18]
movd xmm0, eax
lea eax, [esi + esi]
push dword [ebp - 0x20]
cvtdq2ps xmm0, xmm0
sub ecx, eax
lea eax, [edx*2 - 0xa]
mov edx, dword [0x101cd404]
movd xmm1, ecx
mov ecx, dword [0x101d9424]
movss dword [ebp - 0x24], xmm0
push dword [ebp - 0x24]
movd xmm0, eax
push dword [0x101cd408]
cvtdq2ps xmm1, xmm1
cvtdq2ps xmm0, xmm0
call fcn.10042be0
mov eax, dword [0x10b3b4f4]
xor ecx, ecx
mov edi, dword [ebp - 0x38]
inc eax
add esp, 0x14
cmp eax, 3
cmovge eax, ecx
mov dword [0x10b3b4f4], eax
movzx eax, byte [0x101cd414]
lea edx, [ebp - 0x2c]
movss xmm1, dword [0x100abfe0]
push ecx
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x20], 0x3f800000
movd xmm0, eax
movzx eax, byte [0x101cd415]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
movd xmm0, eax
movzx eax, byte [0x101cd416]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x28], xmm0
movd xmm0, eax
mov eax, dword [0x101d9430]
cvtdq2ps xmm0, xmm0
add eax, eax
mulss xmm0, xmm1
movss xmm1, dword [0x10b3b4ac]
addss xmm1, dword [0x100ac0d4]
movss dword [ebp - 0x24], xmm0
movd xmm0, eax
mov eax, dword [0x101d9464]
cvtdq2ps xmm0, xmm0
add eax, eax
addss xmm0, dword [0x10b3b4a8]
movss dword [ebp - 0x18], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm1, xmm0
addss xmm1, dword [0x100ac0d4]
movss dword [ebp - 0x14], xmm1
movss xmm1, dword [0x100ac07c]
call fcn.1002c3c0
mov ecx, dword [0x101d9378]
add esp, 4
cmp ecx, 0x64
jg 0x10044e18
movzx eax, byte [0x101cd414]
lea edx, [ebp - 0x2c]
movss xmm1, dword [0x100abfe0]
inc ecx
movss xmm2, dword [0x10b3b4ac]
addss xmm2, dword [0x100ac0d4]
movd xmm0, eax
movzx eax, byte [0x101cd415]
cvtdq2ps xmm0, xmm0
mov dword [0x101d9378], ecx
push ecx
mov dword [ebp - 0x20], 0x3f169697
mulss xmm0, xmm1
movss dword [ebp - 0x2c], xmm0
movd xmm0, eax
movzx eax, byte [0x101cd416]
cvtdq2ps xmm0, xmm0
mulss xmm0, xmm1
movss dword [ebp - 0x28], xmm0
movd xmm0, eax
mov eax, dword [0x101d9430]
cvtdq2ps xmm0, xmm0
add eax, eax
mulss xmm0, xmm1
movss xmm1, dword [0x100ac0c4]
movss dword [ebp - 0x24], xmm0
movd xmm0, eax
mov eax, dword [0x101d9464]
cvtdq2ps xmm0, xmm0
add eax, eax
addss xmm0, dword [0x10b3b4a8]
movss dword [ebp - 0x18], xmm0
movd xmm0, eax
cvtdq2ps xmm0, xmm0
subss xmm2, xmm0
movd xmm0, ecx
cvtdq2ps xmm0, xmm0
lea ecx, [ebp - 0x18]
addss xmm2, dword [0x100ac0d4]
subss xmm1, xmm0
movss dword [ebp - 0x14], xmm2
call fcn.1002c3c0
add esp, 4
cmp byte [edi + 0x30c], 0
je 0x10044e27
cmp byte [edi + 0x24], 0
je 0x10044e79
mov eax, dword [0x101d93d4]
mov esi, 1
test eax, eax
mov byte [0x101d926d], 0
push 0x101d933c
cmovne eax, esi
mov byte [0x101d91f7], 0
push esi
mov dword [0x101d93d4], eax
mov dword [0x101d9378], 0
mov dword [0x101d933c], 0
call ebx
push 0x101d9424
push esi
mov dword [0x101d9424], 0
call ebx
jmp 0x10044e7e
mov esi, 1
cmp byte [0x101d926d], 0
je 0x10044eda
cmp byte [edi + 0x78], 0
jne 0x10044eda
mov eax, dword [0x101d93d4]
test eax, eax
push 0x101d933c
cmovne eax, esi
mov byte [0x101d926d], 0
push 1
mov dword [0x101d93d4], eax
mov byte [0x101d91f7], 0
mov dword [0x101d9378], 0
mov dword [0x101d933c], 0
call ebx
push 0x101d9424
push 1
mov dword [0x101d9424], 0
call ebx
call fcn.10010800
mov byte [0x101cd3f5], 0
jmp 0x10044f31
mov eax, dword [0x101d93d4]
mov esi, 1
test eax, eax
mov byte [0x101d91f7], 0
push 0x101d933c
cmovne eax, esi
mov dword [0x101d9378], 0
push esi
mov dword [0x101d93d4], eax
mov dword [0x101d933c], 0
call ebx
push 0x101d9424
push esi
mov dword [0x101d9424], 0
call ebx
call fcn.1000b8b0
call fcn.1000bb80
mov eax, dword [0x101d9090]
xor ecx, ecx
mov eax, dword [eax + 0x3fe0]
mov eax, dword [eax]
add eax, 0x38
cmp byte [0x10b3b264], cl
je 0x10044f61
cmp byte [eax], cl
cmovne ecx, eax
call fcn.10026b90
jmp 0x10044f6b
cmp byte [eax], cl
cmovne ecx, eax
call fcn.10027090
push dword [0x101cd374]
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x10044f8e
cmp byte [0x101cd378], 0
jne 0x10044f95
mov byte [0x101cd378], 1
jmp 0x10044f95
mov byte [0x101cd378], 0
mov eax, dword [0x10b3b494]
test eax, eax
je 0x100450cf
cmp byte [eax], 0
jne 0x100450cf
cmp byte [0x101cd36c], 0
mov ebx, 0x100a7fb8
mov edi, dword [0x101cd66c]
mov eax, 0x1009df5c
mov esi, ebx
cmovne esi, eax
lea eax, [ebp - 0x20]
push eax
push 0x40
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov al, byte [esi]
mov byte [edi], al
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp byte [0x101cd36d], 0
mov eax, 0x1009df5c
mov edi, dword [0x101cd670]
mov esi, ebx
cmovne esi, eax
lea eax, [ebp - 0x20]
push eax
push 0x40
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov al, byte [esi]
mov byte [edi], al
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp byte [0x101cd36d], 0
mov eax, 0x1009df5c
mov edi, dword [0x101cd674]
mov esi, ebx
cmovne esi, eax
lea eax, [ebp - 0x20]
push eax
push 0x40
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov al, byte [esi]
mov byte [edi], al
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
cmp byte [0x101cd36e], 0
mov eax, 0x1009df5c
mov edi, dword [0x101cd678]
mov esi, ebx
cmovne esi, eax
lea eax, [ebp - 0x20]
push eax
push 0x40
push 1
push edi
call dword [sym.imp.KERNEL32.dll_VirtualProtect]
mov al, byte [esi]
mov byte [edi], al
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 1
push edi
mov edi, dword [sym.imp.KERNEL32.dll_VirtualProtect]
call edi
cmp byte [0x101cd36f], 0
mov eax, 0x1009df5c
cmovne ebx, eax
mov esi, dword [0x101cd67c]
lea eax, [ebp - 0x20]
push eax
push 0x40
push 1
push esi
call edi
mov al, byte [ebx]
mov byte [esi], al
lea eax, [ebp - 0x20]
push eax
push dword [ebp - 0x20]
push 1
push esi
call edi
mov edi, dword [ebp - 0x38]
jmp 0x100450ed
push 0x3f6f044f
lea ecx, [ebp - 0x17]
call fcn.10059060
push eax
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
add eax, 0x555
mov dword [0x10b3b494], eax
cmp byte [0x101cd368], 0
je 0x10045152
cmp byte [edi + 0xe], 0
jne 0x10045149
mov eax, dword [0x101cd6bc]
mov eax, dword [eax]
test eax, eax
js 0x10045149
cmp eax, 0x190
jge 0x10045149
call dword [sym.imp.USER32.dll_GetForegroundWindow]
cmp eax, dword [0xe8c578]
jne 0x10045149
push 0
push 0
push 0
push 0x11
call dword [sym.imp.USER32.dll_keybd_event]
pop edi
pop esi
mov byte [0x10b3b4b8], 1
mov byte [0x10b3b498], 1
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret
mov byte [0x10b3b4b8], 0
jmp 0x1004515b
cmp byte [0x10b3b4b8], 0
jne 0x10045179
cmp byte [0x10b3b498], 1
jne 0x10045179
push 0
push 2
push 0
push 0x11
call dword [sym.imp.USER32.dll_keybd_event]
mov byte [0x10b3b498], 0
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret