Function at 0x4676f0
Capabilities:
Check mutex on windows
Create thread
Encode data using xor
Log keystrokes via polling
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x538
mov eax, dword [0x542094]
xor eax, esp
mov dword [esp + 0x534], eax
mov eax, dword [ebp + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x2c], eax
mov eax, dword fs:[0x2c]
push esi
push edi
mov byte [esp + 0x80], 0x5e
mov esi, dword [eax]
mov eax, dword [0x5d3168]
cmp eax, dword [esi + 4]
jle 0x467781
push 0x5d3168
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d3168], 0xffffffff
jne 0x467781
movaps xmm0, xmmword [0x53bc10]
mov al, byte [esp + 0x80]
push 0x4edcf0
movups xmmword [0x5d3048], xmm0
mov byte [0x5d3058], al
call fcn.004bfaea
add esp, 4
push 0x5d3168
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3058]
test al, al
je 0x4677a9
movups xmm0, xmmword [0x5d3048]
xor al, 0x5e
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
mov byte [0x5d3058], al
movups xmmword [0x5d3048], xmm1
push 0x5d3048
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateMutexA]
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x4677dd
xor eax, eax
pop edi
pop esi
mov ecx, dword [esp + 0x534]
xor ecx, esp
call fcn.004bf82c
mov esp, ebp
pop ebp
ret 0x10
xorps xmm0, xmm0
mov dword [esp + 0xe0], 0
movaps xmmword [esp + 0xd0], xmm0
push 0x30
mov dword [esp + 0xe8], 0xf
mov byte [esp + 0xd4], 0
mov dword [esp + 0xf0], 0
call fcn.004bf83f
add esp, 4
lea ecx, [esp + 0xd0]
mov dword [eax], eax
push 0xf
mov dword [eax + 4], eax
mov dword [eax + 8], eax
mov word [eax + 0xc], 0x101
push str..UISettings.ini
mov dword [esp + 0xf0], eax
call fcn.00442d40
push str..UISettings.ini
lea ecx, [esp + 0xd4]
call fcn.0045dda0
push 0x3e0
push str.WIDTH
push str.LAUNCHER
lea ecx, [esp + 0xdc]
call fcn.0045e850
push 0x240
push str.HEIGHT
push str.LAUNCHER
lea ecx, [esp + 0xdc]
mov dword [0x54db60], eax
call fcn.0045e850
mov dword [0x54db9c], eax
xorps xmm0, xmm0
mov eax, dword [0x5d2c54]
movaps xmmword [esp + 0xf0], xmm0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0xf
mov byte [esp + 0xf0], 0
mov word [esp + 0x80], 0x5e06
cmp eax, dword [esi + 4]
jle 0x467912
push 0x5d2c54
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2c54], 0xffffffff
jne 0x467912
mov ax, word [esp + 0x80]
push 0x4edcd0
mov word [0x5d31a4], ax
call fcn.004bfaea
add esp, 4
push 0x5d2c54
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d31a5]
test al, al
je 0x467929
xor byte [0x5d31a4], 0x5e
xor al, 0x5e
mov byte [0x5d31a5], al
mov eax, dword [0x5d2880]
mov word [esp + 0xb0], 0x191c
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x467992
push 0x5d2880
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2880], 0xffffffff
jne 0x467992
mov ax, word [esp + 0xb0]
mov word [0x5d306c], ax
mov al, byte [esp + 0x80]
push 0x4edce0
mov byte [0x5d306e], al
call fcn.004bfaea
add esp, 4
push 0x5d2880
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d306e]
test al, al
je 0x4679b0
xor byte [0x5d306c], 0x5e
xor byte [0x5d306d], 0x5e
xor al, 0x5e
mov byte [0x5d306e], al
push 0
push 0x5d31a4
push 0x5d306c
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2be8]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x467a20
push 0x5d2be8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2be8], 0xffffffff
jne 0x467a20
mov ax, word [esp + 0x80]
push 0x4edcb0
mov word [0x5d2b88], ax
call fcn.004bfaea
add esp, 4
push 0x5d2be8
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2b89]
test al, al
je 0x467a37
xor byte [0x5d2b88], 0x5e
xor al, 0x5e
mov byte [0x5d2b89], al
mov eax, dword [0x5d2764]
mov word [esp + 0xb0], 0x191c
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x467aa0
push 0x5d2764
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2764], 0xffffffff
jne 0x467aa0
mov ax, word [esp + 0xb0]
mov word [0x5d2708], ax
mov al, byte [esp + 0x80]
push 0x4edcc0
mov byte [0x5d270a], al
call fcn.004bfaea
add esp, 4
push 0x5d2764
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d270a]
test al, al
je 0x467abe
xor byte [0x5d2708], 0x5e
xor byte [0x5d2709], 0x5e
xor al, 0x5e
mov byte [0x5d270a], al
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0
push 0x5d2b88
push 0x5d2708
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm0, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm1, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm1, xmm1
mov dword [0x55221c], eax
mov eax, dword [0x5d2dc8]
unpcklps xmm0, xmm1
movq qword [0x552214], xmm0
cmp eax, dword [esi + 4]
jle 0x467b6b
push 0x5d2dc8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2dc8], 0xffffffff
jne 0x467b6b
mov ax, word [esp + 0x80]
push 0x4edc80
mov word [0x5d25f4], ax
call fcn.004bfaea
add esp, 4
push 0x5d2dc8
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d25f5]
test al, al
je 0x467b82
xor byte [0x5d25f4], 0x5e
xor al, 0x5e
mov byte [0x5d25f5], al
mov eax, dword [0x5d23e0]
mov dword [esp + 0x90], 0xc1f0a0d
mov dword [esp + 0x94], 0xb1c010a
mov dword [esp + 0x98], 0x10110a0a
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x467c11
push 0x5d23e0
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d23e0], 0xffffffff
jne 0x467c11
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d2fd0], eax
mov al, byte [esp + 0x80]
push 0x4edc90
movq qword [0x5d2fc8], xmm0
mov byte [0x5d2fd4], al
call fcn.004bfaea
add esp, 4
push 0x5d23e0
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2fd4], 0
je 0x467c2d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x5d2fc8], 0x5e
inc eax
cmp eax, 0xd
jb 0x467c20
push 0x2a3
push 0x5d25f4
push 0x5d2fc8
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2e94]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x467ca0
push 0x5d2e94
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2e94], 0xffffffff
jne 0x467ca0
mov ax, word [esp + 0x80]
push 0x4edc50
mov word [0x5d2bdc], ax
call fcn.004bfaea
add esp, 4
push 0x5d2e94
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2bdd]
test al, al
je 0x467cb7
xor byte [0x5d2bdc], 0x5e
xor al, 0x5e
mov byte [0x5d2bdd], al
mov eax, dword [0x5d2660]
mov dword [esp + 0x90], 0xc1f0a0d
mov dword [esp + 0x94], 0xb1c010a
mov dword [esp + 0x98], 0x10110a0a
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x467d46
push 0x5d2660
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2660], 0xffffffff
jne 0x467d46
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d2654], eax
mov al, byte [esp + 0x80]
push 0x4edc60
movq qword [0x5d264c], xmm0
mov byte [0x5d2658], al
call fcn.004bfaea
add esp, 4
push 0x5d2660
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2658], 0
je 0x467d5e
xor eax, eax
xor byte [eax + 0x5d264c], 0x5e
inc eax
cmp eax, 0xd
jb 0x467d51
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0x1e0
push 0x5d2bdc
push 0x5d264c
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54db6c], eax
mov eax, dword [0x5d2dec]
unpcklps xmm1, xmm0
movq qword [0x54db64], xmm1
cmp eax, dword [esi + 4]
jle 0x467e0e
push 0x5d2dec
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2dec], 0xffffffff
jne 0x467e0e
mov ax, word [esp + 0x80]
push 0x4edc30
mov word [0x5d28e8], ax
call fcn.004bfaea
add esp, 4
push 0x5d2dec
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d28e9]
test al, al
je 0x467e25
xor byte [0x5d28e8], 0x5e
xor al, 0x5e
mov byte [0x5d28e9], al
mov eax, dword [0x5d2448]
cmp eax, dword [esi + 4]
jle 0x467e70
push 0x5d2448
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2448], 0xffffffff
jne 0x467e70
movaps xmm0, xmmword [0x53bb80]
push 0x4edc40
movups xmmword [0x5d3028], xmm0
call fcn.004bfaea
add esp, 4
push 0x5d2448
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d3037], 0
je 0x467e91
movups xmm0, xmmword [0x5d3028]
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
movups xmmword [0x5d3028], xmm1
push 0x14
push 0x5d28e8
push 0x5d3028
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2898]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x467f01
push 0x5d2898
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2898], 0xffffffff
jne 0x467f01
mov ax, word [esp + 0x80]
push 0x4edc10
mov word [0x5d3188], ax
call fcn.004bfaea
add esp, 4
push 0x5d2898
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3189]
test al, al
je 0x467f18
xor byte [0x5d3188], 0x5e
xor al, 0x5e
mov byte [0x5d3189], al
mov eax, dword [0x5d25b8]
cmp eax, dword [esi + 4]
jle 0x467f63
push 0x5d25b8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d25b8], 0xffffffff
jne 0x467f63
movaps xmm0, xmmword [0x53bb80]
push 0x4edc20
movups xmmword [0x5d2a48], xmm0
call fcn.004bfaea
add esp, 4
push 0x5d25b8
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2a57], 0
je 0x467f84
movups xmm0, xmmword [0x5d2a48]
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
movups xmmword [0x5d2a48], xmm1
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0x189
push 0x5d3188
push 0x5d2a48
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54dba8], eax
mov eax, dword [0x5d26bc]
unpcklps xmm1, xmm0
movq qword [0x54dba0], xmm1
cmp eax, dword [esi + 4]
jle 0x468034
push 0x5d26bc
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d26bc], 0xffffffff
jne 0x468034
mov ax, word [esp + 0x80]
push 0x4edbf0
mov word [0x5d2734], ax
call fcn.004bfaea
add esp, 4
push 0x5d26bc
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2735]
test al, al
je 0x46804b
xor byte [0x5d2734], 0x5e
xor al, 0x5e
mov byte [0x5d2735], al
mov eax, dword [0x5d2c50]
cmp eax, dword [esi + 4]
jle 0x468096
push 0x5d2c50
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2c50], 0xffffffff
jne 0x468096
movaps xmm0, xmmword [0x53bb60]
push 0x4edc00
movups xmmword [0x5d3078], xmm0
call fcn.004bfaea
add esp, 4
push 0x5d2c50
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d3087], 0
je 0x4680b7
movups xmm0, xmmword [0x5d3078]
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
movups xmmword [0x5d3078], xmm1
push 0x1ea
push 0x5d2734
push 0x5d3078
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2fd8]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x46812a
push 0x5d2fd8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2fd8], 0xffffffff
jne 0x46812a
mov ax, word [esp + 0x80]
push 0x4edbd0
mov word [0x5d3174], ax
call fcn.004bfaea
add esp, 4
push 0x5d2fd8
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3175]
test al, al
je 0x468141
xor byte [0x5d3174], 0x5e
xor al, 0x5e
mov byte [0x5d3175], al
mov eax, dword [0x5d2f88]
cmp eax, dword [esi + 4]
jle 0x46818c
push 0x5d2f88
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2f88], 0xffffffff
jne 0x46818c
movaps xmm0, xmmword [0x53bb60]
push 0x4edbe0
movups xmmword [0x5d23e4], xmm0
call fcn.004bfaea
add esp, 4
push 0x5d2f88
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d23f3], 0
je 0x4681ad
movups xmm0, xmmword [0x5d23e4]
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
movups xmmword [0x5d23e4], xmm1
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0x1f4
push 0x5d3174
push 0x5d23e4
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54dc20], eax
mov eax, dword [0x5d2470]
unpcklps xmm1, xmm0
movq qword [0x54dc18], xmm1
cmp eax, dword [esi + 4]
jle 0x46825d
push 0x5d2470
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2470], 0xffffffff
jne 0x46825d
mov ax, word [esp + 0x80]
push 0x4edba0
mov word [0x5d271c], ax
call fcn.004bfaea
add esp, 4
push 0x5d2470
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d271d]
test al, al
je 0x468274
xor byte [0x5d271c], 0x5e
xor al, 0x5e
mov byte [0x5d271d], al
mov eax, dword [0x5d2e8c]
mov dword [esp + 0x90], 0xd11121d
mov dword [esp + 0x94], 0xb1c011b
mov dword [esp + 0x98], 0x10110a0a
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x468303
push 0x5d2e8c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2e8c], 0xffffffff
jne 0x468303
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d24a4], eax
mov al, byte [esp + 0x80]
push 0x4edbb0
movq qword [0x5d249c], xmm0
mov byte [0x5d24a8], al
call fcn.004bfaea
add esp, 4
push 0x5d2e8c
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d24a8], 0
je 0x46831d
xor eax, eax
nop
xor byte [eax + 0x5d249c], 0x5e
inc eax
cmp eax, 0xd
jb 0x468310
push 0x3b6
push 0x5d271c
push 0x5d249c
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d283c]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x468390
push 0x5d283c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d283c], 0xffffffff
jne 0x468390
mov ax, word [esp + 0x80]
push 0x4edb70
mov word [0x5d2d90], ax
call fcn.004bfaea
add esp, 4
push 0x5d283c
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2d91]
test al, al
je 0x4683a7
xor byte [0x5d2d90], 0x5e
xor al, 0x5e
mov byte [0x5d2d91], al
mov eax, dword [0x5d2eb4]
mov dword [esp + 0x90], 0xd11121d
mov dword [esp + 0x94], 0xb1c011b
mov dword [esp + 0x98], 0x10110a0a
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x468436
push 0x5d2eb4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2eb4], 0xffffffff
jne 0x468436
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d2348], eax
mov al, byte [esp + 0x80]
push 0x4edb80
movq qword [0x5d2340], xmm0
mov byte [0x5d234c], al
call fcn.004bfaea
add esp, 4
push 0x5d2eb4
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d234c], 0
je 0x46844e
xor eax, eax
xor byte [eax + 0x5d2340], 0x5e
inc eax
cmp eax, 0xd
jb 0x468441
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0xa
push 0x5d2d90
push 0x5d2340
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54dbf0], eax
mov eax, dword [0x5d2c00]
unpcklps xmm1, xmm0
movq qword [0x54dbe8], xmm1
cmp eax, dword [esi + 4]
jle 0x4684fb
push 0x5d2c00
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2c00], 0xffffffff
jne 0x4684fb
mov ax, word [esp + 0x80]
push 0x4edb30
mov word [0x5d2924], ax
call fcn.004bfaea
add esp, 4
push 0x5d2c00
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2925]
test al, al
je 0x468512
xor byte [0x5d2924], 0x5e
xor al, 0x5e
mov byte [0x5d2925], al
mov eax, dword [0x5d2f4c]
mov dword [esp + 0x90], 0x1d0d171a
mov dword [esp + 0x94], 0x11a0c11
mov dword [esp + 0x98], 0xa0a0b1c
mov word [esp + 0x9c], 0x1011
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x4685b9
push 0x5d2f4c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2f4c], 0xffffffff
jne 0x4685b9
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d2818], eax
mov ax, word [esp + 0x9c]
mov word [0x5d281c], ax
mov al, byte [esp + 0x80]
push 0x4edb40
movq qword [0x5d2810], xmm0
mov byte [0x5d281e], al
call fcn.004bfaea
add esp, 4
push 0x5d2f4c
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d281e], 0
je 0x4685d1
xor eax, eax
xor byte [eax + 0x5d2810], 0x5e
inc eax
cmp eax, 0xf
jb 0x4685c4
push 0x140
push 0x5d2924
push 0x5d2810
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2bd4]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x468644
push 0x5d2bd4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2bd4], 0xffffffff
jne 0x468644
mov ax, word [esp + 0x80]
push 0x4edaf0
mov word [0x5d2a28], ax
call fcn.004bfaea
add esp, 4
push 0x5d2bd4
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2a29]
test al, al
je 0x46865b
xor byte [0x5d2a28], 0x5e
xor al, 0x5e
mov byte [0x5d2a29], al
mov eax, dword [0x5d2d68]
mov dword [esp + 0x90], 0x1d0d171a
mov dword [esp + 0x94], 0x11a0c11
mov dword [esp + 0x98], 0xa0a0b1c
mov word [esp + 0x9c], 0x1011
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x468702
push 0x5d2d68
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2d68], 0xffffffff
jne 0x468702
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d2f1c], eax
mov ax, word [esp + 0x9c]
mov word [0x5d2f20], ax
mov al, byte [esp + 0x80]
push 0x4edb00
movq qword [0x5d2f14], xmm0
mov byte [0x5d2f22], al
call fcn.004bfaea
add esp, 4
push 0x5d2d68
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2f22], 0
je 0x46871d
xor eax, eax
nop dword [eax]
xor byte [eax + 0x5d2f14], 0x5e
inc eax
cmp eax, 0xf
jb 0x468710
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0x189
push 0x5d2a28
push 0x5d2f14
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54db78], eax
mov eax, dword [0x5d2a1c]
unpcklps xmm1, xmm0
movq qword [0x54db70], xmm1
cmp eax, dword [esi + 4]
jle 0x4687cd
push 0x5d2a1c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2a1c], 0xffffffff
jne 0x4687cd
mov ax, word [esp + 0x80]
push 0x4edac0
mov word [0x5d2d40], ax
call fcn.004bfaea
add esp, 4
push 0x5d2a1c
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2d41]
test al, al
je 0x4687e4
xor byte [0x5d2d40], 0x5e
xor al, 0x5e
mov byte [0x5d2d41], al
mov eax, dword [0x5d2998]
mov dword [esp + 0x90], 0xb0c1118
mov dword [esp + 0x94], 0xb1c0113
mov dword [esp + 0x98], 0x10110a0a
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x468873
push 0x5d2998
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2998], 0xffffffff
jne 0x468873
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d2afc], eax
mov al, byte [esp + 0x80]
push 0x4edad0
movq qword [0x5d2af4], xmm0
mov byte [0x5d2b00], al
call fcn.004bfaea
add esp, 4
push 0x5d2998
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2b00], 0
je 0x46888d
xor eax, eax
nop
xor byte [eax + 0x5d2af4], 0x5e
inc eax
cmp eax, 0xd
jb 0x468880
push 0xac
push 0x5d2d40
push 0x5d2af4
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2620]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x468900
push 0x5d2620
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2620], 0xffffffff
jne 0x468900
mov ax, word [esp + 0x80]
push 0x4eda90
mov word [0x5d2adc], ax
call fcn.004bfaea
add esp, 4
push 0x5d2620
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2add]
test al, al
je 0x468917
xor byte [0x5d2adc], 0x5e
xor al, 0x5e
mov byte [0x5d2add], al
mov eax, dword [0x5d318c]
mov dword [esp + 0x90], 0xb0c1118
mov dword [esp + 0x94], 0xb1c0113
mov dword [esp + 0x98], 0x10110a0a
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x4689a6
push 0x5d318c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d318c], 0xffffffff
jne 0x4689a6
mov eax, dword [esp + 0x98]
movq xmm0, qword [esp + 0x90]
mov dword [0x5d30e8], eax
mov al, byte [esp + 0x80]
push 0x4edaa0
movq qword [0x5d30e0], xmm0
mov byte [0x5d30ec], al
call fcn.004bfaea
add esp, 4
push 0x5d318c
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d30ec], 0
je 0x4689be
xor eax, eax
xor byte [eax + 0x5d30e0], 0x5e
inc eax
cmp eax, 0xd
jb 0x4689b1
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0x189
push 0x5d2adc
push 0x5d30e0
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54dbb4], eax
mov eax, dword [0x5d2d20]
unpcklps xmm1, xmm0
movq qword [0x54dbac], xmm1
cmp eax, dword [esi + 4]
jle 0x468a6e
push 0x5d2d20
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2d20], 0xffffffff
jne 0x468a6e
mov ax, word [esp + 0x80]
push 0x4eda70
mov word [0x5d2958], ax
call fcn.004bfaea
add esp, 4
push 0x5d2d20
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2959]
test al, al
je 0x468a85
xor byte [0x5d2958], 0x5e
xor al, 0x5e
mov byte [0x5d2959], al
mov eax, dword [0x5d2f68]
cmp eax, dword [esi + 4]
jle 0x468ad0
push 0x5d2f68
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2f68], 0xffffffff
jne 0x468ad0
movaps xmm0, xmmword [0x53bb70]
push 0x4eda80
movups xmmword [0x5d2fe8], xmm0
call fcn.004bfaea
add esp, 4
push 0x5d2f68
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2ff7], 0
je 0x468af1
movups xmm0, xmmword [0x5d2fe8]
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
movups xmmword [0x5d2fe8], xmm1
push 0x33e
push 0x5d2958
push 0x5d2fe8
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2dfc]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x468b64
push 0x5d2dfc
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2dfc], 0xffffffff
jne 0x468b64
mov ax, word [esp + 0x80]
push 0x4eda50
mov word [0x5d27d4], ax
call fcn.004bfaea
add esp, 4
push 0x5d2dfc
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d27d5]
test al, al
je 0x468b7b
xor byte [0x5d27d4], 0x5e
xor al, 0x5e
mov byte [0x5d27d5], al
mov eax, dword [0x5d2cb4]
cmp eax, dword [esi + 4]
jle 0x468bc6
push 0x5d2cb4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2cb4], 0xffffffff
jne 0x468bc6
movaps xmm0, xmmword [0x53bb70]
push 0x4eda60
movups xmmword [0x5d3178], xmm0
call fcn.004bfaea
add esp, 4
push 0x5d2cb4
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d3187], 0
je 0x468be7
movups xmm0, xmmword [0x5d3178]
movaps xmm1, xmmword [0x53bb90]
xorps xmm1, xmm0
movups xmmword [0x5d3178], xmm1
movd xmm0, edi
lea ecx, [esp + 0xd0]
cvtdq2ps xmm0, xmm0
push 0x185
push 0x5d27d4
push 0x5d3178
movups xmmword [esp + 0xbc], xmm0
call fcn.0045e850
movups xmm1, xmmword [esp + 0xb0]
mov dword [esp + 0x98], 0
mov word [esp + 0x80], 0x5e06
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54dc14], eax
mov eax, dword [0x5d2920]
unpcklps xmm1, xmm0
movq qword [0x54dc0c], xmm1
cmp eax, dword [esi + 4]
jle 0x468c97
push 0x5d2920
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2920], 0xffffffff
jne 0x468c97
mov ax, word [esp + 0x80]
push 0x4eda20
mov word [0x5d2a44], ax
call fcn.004bfaea
add esp, 4
push 0x5d2920
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2a45]
test al, al
je 0x468cae
xor byte [0x5d2a44], 0x5e
xor al, 0x5e
mov byte [0x5d2a45], al
mov eax, dword [0x5d2574]
mov dword [esp + 0x90], 0x19110c0e
mov dword [esp + 0x94], 0xd0d1b0c
mov dword [esp + 0x98], 0x5e0c1f1c
cmp eax, dword [esi + 4]
jle 0x468d29
push 0x5d2574
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2574], 0xffffffff
jne 0x468d29
movq xmm0, qword [esp + 0x90]
mov eax, dword [esp + 0x98]
push 0x4eda30
movq qword [0x5d2dbc], xmm0
mov dword [0x5d2dc4], eax
call fcn.004bfaea
add esp, 4
push 0x5d2574
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d2dc7], 0
je 0x468d41
xor eax, eax
xor byte [eax + 0x5d2dbc], 0x5e
inc eax
cmp eax, 0xc
jb 0x468d34
push 7
push 0x5d2a44
push 0x5d2dbc
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d316c]
mov edi, eax
mov word [esp + 0x80], 0x5e07
cmp ecx, dword [esi + 4]
jle 0x468db1
push 0x5d316c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d316c], 0xffffffff
jne 0x468db1
mov ax, word [esp + 0x80]
push 0x4ed9f0
mov word [0x5d25f0], ax
call fcn.004bfaea
add esp, 4
push 0x5d316c
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d25f1]
test al, al
je 0x468dc8
xor byte [0x5d25f0], 0x5e
xor al, 0x5e
mov byte [0x5d25f1], al
mov eax, dword [0x5d25d8]
mov dword [esp + 0x90], 0x19110c0e
mov dword [esp + 0x94], 0xd0d1b0c
mov dword [esp + 0x98], 0x5e0c1f1c
cmp eax, dword [esi + 4]
jle 0x468e43
push 0x5d25d8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d25d8], 0xffffffff
jne 0x468e43
movq xmm0, qword [esp + 0x90]
mov eax, dword [esp + 0x98]
push 0x4eda00
movq qword [0x5d2634], xmm0
mov dword [0x5d263c], eax
call fcn.004bfaea
add esp, 4
push 0x5d25d8
call fcn.004bfb2a
add esp, 4
cmp byte [0x5d263f], 0
je 0x468e5d
xor eax, eax
nop
xor byte [eax + 0x5d2634], 0x5e
inc eax
cmp eax, 0xc
jb 0x468e50
push 0x1b0
push 0x5d25f0
push 0x5d2634
lea ecx, [esp + 0xdc]
call fcn.0045e850
movd xmm1, edi
cvtdq2ps xmm1, xmm1
mov dword [esp + 0x98], 0
mov dword [esp + 0x90], 0xa101118
mov dword [esp + 0x94], 0x4170d01
movd xmm0, eax
mov eax, dword [esp + 0x98]
cvtdq2ps xmm0, xmm0
mov dword [0x54db98], eax
mov eax, dword [0x5d27c4]
mov word [esp + 0x98], 0x5e1b
unpcklps xmm1, xmm0
movq qword [0x54db90], xmm1
cmp eax, dword [esi + 4]
jle 0x468f24
push 0x5d27c4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d27c4], 0xffffffff
jne 0x468f24
movq xmm0, qword [esp + 0x90]
mov ax, word [esp + 0x98]
push 0x4ed9b0
movq qword [0x5d282c], xmm0
mov word [0x5d2834], ax
call fcn.004bfaea
add esp, 4
push 0x5d27c4
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2835]
test al, al
je 0x468f73
xor byte [0x5d282c], 0x5e
xor byte [0x5d282d], 0x5e
xor byte [0x5d282e], 0x5e
xor byte [0x5d282f], 0x5e
xor byte [0x5d2830], 0x5e
xor byte [0x5d2831], 0x5e
xor byte [0x5d2832], 0x5e
xor byte [0x5d2833], 0x5e
xor byte [0x5d2834], 0x5e
xor al, 0x5e
mov byte [0x5d2835], al
mov eax, dword [0x5d30f0]
mov dword [esp + 0xc8], 0xa101118
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x468fdb
push 0x5d30f0
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d30f0], 0xffffffff
jne 0x468fdb
mov eax, dword [esp + 0xc8]
mov dword [0x5d3094], eax
mov al, byte [esp + 0x80]
push 0x4ed9d0
mov byte [0x5d3098], al
call fcn.004bfaea
add esp, 4
push 0x5d30f0
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3098]
test al, al
je 0x469007
xor byte [0x5d3094], 0x5e
xor byte [0x5d3095], 0x5e
xor byte [0x5d3096], 0x5e
xor byte [0x5d3097], 0x5e
xor al, 0x5e
mov byte [0x5d3098], al
push 0xa
push 0x5d282c
push 0x5d3094
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov ecx, dword [0x5d2a68]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xb0], 0x3a2c3b08
mov dword [esp + 0xb4], 0x5e3f303f
cmp ecx, dword [esi + 4]
jle 0x469093
push 0x5d2a68
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2a68], 0xffffffff
jne 0x469093
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push 0x4ed960
mov dword [0x5d3130], eax
mov dword [0x5d3134], ecx
call fcn.004bfaea
add esp, 4
push 0x5d2a68
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3137]
test al, al
je 0x4690d4
xor byte [0x5d3130], 0x5e
xor byte [0x5d3131], 0x5e
xor byte [0x5d3132], 0x5e
xor byte [0x5d3133], 0x5e
xor byte [0x5d3134], 0x5e
xor byte [0x5d3135], 0x5e
xor byte [0x5d3136], 0x5e
xor al, 0x5e
mov byte [0x5d3137], al
mov eax, dword [0x5d2b10]
mov dword [esp + 0xb0], 0x17131f18
mov word [esp + 0xb4], 0x712
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x469154
push 0x5d2b10
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2b10], 0xffffffff
jne 0x469154
mov eax, dword [esp + 0xb0]
mov dword [0x5d27b8], eax
mov ax, word [esp + 0xb4]
mov word [0x5d27bc], ax
mov al, byte [esp + 0x80]
push 0x4ed970
mov byte [0x5d27be], al
call fcn.004bfaea
add esp, 4
push 0x5d2b10
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d27be]
test al, al
je 0x46918e
xor byte [0x5d27b8], 0x5e
xor byte [0x5d27b9], 0x5e
xor byte [0x5d27ba], 0x5e
xor byte [0x5d27bb], 0x5e
xor byte [0x5d27bc], 0x5e
xor byte [0x5d27bd], 0x5e
xor al, 0x5e
mov byte [0x5d27be], al
mov eax, dword [0x5d2fe4]
mov dword [esp + 0xb0], 0xa101118
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x4691f6
push 0x5d2fe4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2fe4], 0xffffffff
jne 0x4691f6
mov eax, dword [esp + 0xb0]
mov dword [0x5d235c], eax
mov al, byte [esp + 0x80]
push 0x4ed990
mov byte [0x5d2360], al
call fcn.004bfaea
add esp, 4
push 0x5d2fe4
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2360]
test al, al
je 0x469222
xor byte [0x5d235c], 0x5e
xor byte [0x5d235d], 0x5e
xor byte [0x5d235e], 0x5e
xor byte [0x5d235f], 0x5e
xor al, 0x5e
mov byte [0x5d2360], al
push ecx
lea eax, [esp + 0xf4]
push eax
push 0x5d3130
push 0x5d27b8
push 0x5d235c
lea ecx, [esp + 0xe4]
call fcn.0045eab0
mov eax, dword [0x5d2e44]
mov word [esp + 0x80], 0x5e06
cmp eax, dword [esi + 4]
jle 0x46929b
push 0x5d2e44
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2e44], 0xffffffff
jne 0x46929b
mov ax, word [esp + 0x80]
push 0x4ed930
mov word [0x5d2a34], ax
call fcn.004bfaea
add esp, 4
push 0x5d2e44
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2a35]
test al, al
je 0x4692b2
xor byte [0x5d2a34], 0x5e
xor al, 0x5e
mov byte [0x5d2a35], al
mov eax, dword [0x5d2ad8]
mov dword [esp + 0x90], 0x11181017
mov dword [esp + 0x94], 0x61b0a01
mov word [esp + 0x98], 0x5e0a
cmp eax, dword [esi + 4]
jle 0x46932e
push 0x5d2ad8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2ad8], 0xffffffff
jne 0x46932e
movq xmm0, qword [esp + 0x90]
mov ax, word [esp + 0x98]
push 0x4ed940
movq qword [0x5d2ea4], xmm0
mov word [0x5d2eac], ax
call fcn.004bfaea
add esp, 4
push 0x5d2ad8
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2ead]
test al, al
je 0x46937d
xor byte [0x5d2ea4], 0x5e
xor byte [0x5d2ea5], 0x5e
xor byte [0x5d2ea6], 0x5e
xor byte [0x5d2ea7], 0x5e
xor byte [0x5d2ea8], 0x5e
xor byte [0x5d2ea9], 0x5e
xor byte [0x5d2eaa], 0x5e
xor byte [0x5d2eab], 0x5e
xor byte [0x5d2eac], 0x5e
xor al, 0x5e
mov byte [0x5d2ead], al
push 0xa
push 0x5d2a34
push 0x5d2ea4
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov dword [0x551f64], eax
mov eax, dword [0x5d2b60]
mov word [esp + 0x80], 0x5e07
cmp eax, dword [esi + 4]
jle 0x4693ef
push 0x5d2b60
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2b60], 0xffffffff
jne 0x4693ef
mov ax, word [esp + 0x80]
push 0x4ed900
mov word [0x5d2550], ax
call fcn.004bfaea
add esp, 4
push 0x5d2b60
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2551]
test al, al
je 0x469406
xor byte [0x5d2550], 0x5e
xor al, 0x5e
mov byte [0x5d2551], al
mov eax, dword [0x5d2824]
mov dword [esp + 0x90], 0x11181017
mov dword [esp + 0x94], 0x61b0a01
mov word [esp + 0x98], 0x5e0a
cmp eax, dword [esi + 4]
jle 0x469482
push 0x5d2824
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2824], 0xffffffff
jne 0x469482
movq xmm0, qword [esp + 0x90]
mov ax, word [esp + 0x98]
push 0x4ed910
movq qword [0x5d2f00], xmm0
mov word [0x5d2f08], ax
call fcn.004bfaea
add esp, 4
push 0x5d2824
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2f09]
test al, al
je 0x4694d1
xor byte [0x5d2f00], 0x5e
xor byte [0x5d2f01], 0x5e
xor byte [0x5d2f02], 0x5e
xor byte [0x5d2f03], 0x5e
xor byte [0x5d2f04], 0x5e
xor byte [0x5d2f05], 0x5e
xor byte [0x5d2f06], 0x5e
xor byte [0x5d2f07], 0x5e
xor byte [0x5d2f08], 0x5e
xor al, 0x5e
mov byte [0x5d2f09], al
push 0x1b3
push 0x5d2550
push 0x5d2f00
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov dword [0x551ebc], eax
mov eax, dword [0x54db60]
mov dword [0x551ec0], eax
mov eax, dword [0x54db9c]
mov dword [0x551ec4], eax
mov eax, dword [0x5d26a4]
mov word [esp + 0x80], 0x5e06
cmp eax, dword [esi + 4]
jle 0x46955a
push 0x5d26a4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d26a4], 0xffffffff
jne 0x46955a
mov ax, word [esp + 0x80]
push 0x4ed8d0
mov word [0x5d27a0], ax
call fcn.004bfaea
add esp, 4
push 0x5d26a4
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d27a1]
test al, al
je 0x469571
xor byte [0x5d27a0], 0x5e
xor al, 0x5e
mov byte [0x5d27a1], al
mov eax, dword [0x5d30f8]
mov dword [esp + 0x90], 0x1b191f0e
mov dword [esp + 0x94], 0x61b0a01
mov word [esp + 0x98], 0x5e0a
cmp eax, dword [esi + 4]
jle 0x4695ed
push 0x5d30f8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d30f8], 0xffffffff
jne 0x4695ed
movq xmm0, qword [esp + 0x90]
mov ax, word [esp + 0x98]
push 0x4ed8e0
movq qword [0x5d300c], xmm0
mov word [0x5d3014], ax
call fcn.004bfaea
add esp, 4
push 0x5d30f8
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3015]
test al, al
je 0x46963c
xor byte [0x5d300c], 0x5e
xor byte [0x5d300d], 0x5e
xor byte [0x5d300e], 0x5e
xor byte [0x5d300f], 0x5e
xor byte [0x5d3010], 0x5e
xor byte [0x5d3011], 0x5e
xor byte [0x5d3012], 0x5e
xor byte [0x5d3013], 0x5e
xor byte [0x5d3014], 0x5e
xor al, 0x5e
mov byte [0x5d3015], al
push 0x1b
push 0x5d27a0
push 0x5d300c
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov eax, dword [0x5d2670]
mov word [esp + 0x80], 0x5e07
cmp eax, dword [esi + 4]
jle 0x4696a9
push 0x5d2670
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2670], 0xffffffff
jne 0x4696a9
mov ax, word [esp + 0x80]
push 0x4ed8a0
mov word [0x5d3088], ax
call fcn.004bfaea
add esp, 4
push 0x5d2670
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d3089]
test al, al
je 0x4696c0
xor byte [0x5d3088], 0x5e
xor al, 0x5e
mov byte [0x5d3089], al
mov eax, dword [0x5d27c8]
mov dword [esp + 0x90], 0x1b191f0e
mov dword [esp + 0x94], 0x61b0a01
mov word [esp + 0x98], 0x5e0a
cmp eax, dword [esi + 4]
jle 0x46973c
push 0x5d27c8
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d27c8], 0xffffffff
jne 0x46973c
movq xmm0, qword [esp + 0x90]
mov ax, word [esp + 0x98]
push 0x4ed8b0
movq qword [0x5d2b50], xmm0
mov word [0x5d2b58], ax
call fcn.004bfaea
add esp, 4
push 0x5d27c8
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2b59]
test al, al
je 0x46978b
xor byte [0x5d2b50], 0x5e
xor byte [0x5d2b51], 0x5e
xor byte [0x5d2b52], 0x5e
xor byte [0x5d2b53], 0x5e
xor byte [0x5d2b54], 0x5e
xor byte [0x5d2b55], 0x5e
xor byte [0x5d2b56], 0x5e
xor byte [0x5d2b57], 0x5e
xor byte [0x5d2b58], 0x5e
xor al, 0x5e
mov byte [0x5d2b59], al
push 0x226
push 0x5d3088
push 0x5d2b50
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov eax, dword [0x5d2e14]
mov dword [esp + 0xb0], 0xc1f0a0d
mov dword [esp + 0xb4], 0x5e06010a
cmp eax, dword [esi + 4]
jle 0x469812
push 0x5d2e14
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2e14], 0xffffffff
jne 0x469812
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push 0x4ed880
mov dword [0x5d2490], eax
mov dword [0x5d2494], ecx
call fcn.004bfaea
add esp, 4
push 0x5d2e14
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2497]
test al, al
je 0x469853
xor byte [0x5d2490], 0x5e
xor byte [0x5d2491], 0x5e
xor byte [0x5d2492], 0x5e
xor byte [0x5d2493], 0x5e
xor byte [0x5d2494], 0x5e
xor byte [0x5d2495], 0x5e
xor byte [0x5d2496], 0x5e
xor al, 0x5e
mov byte [0x5d2497], al
mov eax, dword [0x5d309c]
mov dword [esp + 0xb0], 0x170a1110
mov dword [esp + 0xb4], 0x5e0d1b1d
cmp eax, dword [esi + 4]
jle 0x4698bf
push 0x5d309c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d309c], 0xffffffff
jne 0x4698bf
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push 0x4ed890
mov dword [0x5d2514], eax
mov dword [0x5d2518], ecx
call fcn.004bfaea
add esp, 4
push 0x5d309c
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d251b]
test al, al
je 0x469900
xor byte [0x5d2514], 0x5e
xor byte [0x5d2515], 0x5e
xor byte [0x5d2516], 0x5e
xor byte [0x5d2517], 0x5e
xor byte [0x5d2518], 0x5e
xor byte [0x5d2519], 0x5e
xor byte [0x5d251a], 0x5e
xor al, 0x5e
mov byte [0x5d251b], al
push 0x1e0
push 0x5d2490
push 0x5d2514
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov dword [0x551ec8], eax
mov eax, dword [0x5d29ec]
mov dword [esp + 0xb0], 0xc1f0a0d
mov dword [esp + 0xb4], 0x5e07010a
cmp eax, dword [esi + 4]
jle 0x46998c
push 0x5d29ec
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d29ec], 0xffffffff
jne 0x46998c
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push 0x4ed860
mov dword [0x5d2e4c], eax
mov dword [0x5d2e50], ecx
call fcn.004bfaea
add esp, 4
push 0x5d29ec
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2e53]
test al, al
je 0x4699cd
xor byte [0x5d2e4c], 0x5e
xor byte [0x5d2e4d], 0x5e
xor byte [0x5d2e4e], 0x5e
xor byte [0x5d2e4f], 0x5e
xor byte [0x5d2e50], 0x5e
xor byte [0x5d2e51], 0x5e
xor byte [0x5d2e52], 0x5e
xor al, 0x5e
mov byte [0x5d2e53], al
mov eax, dword [0x5d2f80]
mov dword [esp + 0xb0], 0x170a1110
mov dword [esp + 0xb4], 0x5e0d1b1d
cmp eax, dword [esi + 4]
jle 0x469a39
push 0x5d2f80
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2f80], 0xffffffff
jne 0x469a39
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push 0x4ed870
mov dword [0x5d2e00], eax
mov dword [0x5d2e04], ecx
call fcn.004bfaea
add esp, 4
push 0x5d2f80
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2e07]
test al, al
je 0x469a7a
xor byte [0x5d2e00], 0x5e
xor byte [0x5d2e01], 0x5e
xor byte [0x5d2e02], 0x5e
xor byte [0x5d2e03], 0x5e
xor byte [0x5d2e04], 0x5e
xor byte [0x5d2e05], 0x5e
xor byte [0x5d2e06], 0x5e
xor al, 0x5e
mov byte [0x5d2e07], al
push 0xc8
push 0x5d2e4c
push 0x5d2e00
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov dword [0x551ecc], eax
mov eax, dword [0x5d2c38]
mov dword [esp + 0xb0], 0xd181811
mov dword [esp + 0xb4], 0x7010a1b
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x469b12
push 0x5d2c38
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2c38], 0xffffffff
jne 0x469b12
movq xmm0, qword [esp + 0xb0]
mov al, byte [esp + 0x80]
push 0x4ed830
movq qword [0x5d2fb8], xmm0
mov byte [0x5d2fc0], al
call fcn.004bfaea
add esp, 4
push 0x5d2c38
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d2fc0]
test al, al
je 0x469b5a
xor byte [0x5d2fb8], 0x5e
xor byte [0x5d2fb9], 0x5e
xor byte [0x5d2fba], 0x5e
xor byte [0x5d2fbb], 0x5e
xor byte [0x5d2fbc], 0x5e
xor byte [0x5d2fbd], 0x5e
xor byte [0x5d2fbe], 0x5e
xor byte [0x5d2fbf], 0x5e
xor al, 0x5e
mov byte [0x5d2fc0], al
mov eax, dword [0x5d2fc4]
mov dword [esp + 0xb0], 0x170a1110
mov dword [esp + 0xb4], 0x5e0d1b1d
cmp eax, dword [esi + 4]
jle 0x469bc6
push 0x5d2fc4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d2fc4], 0xffffffff
jne 0x469bc6
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push 0x4ed850
mov dword [0x5d2968], eax
mov dword [0x5d296c], ecx
call fcn.004bfaea
add esp, 4
push 0x5d2fc4
call fcn.004bfb2a
add esp, 4
mov al, byte [0x5d296f]
test al, al
je 0x469c07
xor byte [0x5d2968], 0x5e
xor byte [0x5d2969], 0x5e
xor byte [0x5d296a], 0x5e
xor byte [0x5d296b], 0x5e
xor byte [0x5d296c], 0x5e
xor byte [0x5d296d], 0x5e
xor byte [0x5d296e], 0x5e
xor al, 0x5e
mov byte [0x5d296f], al
push 0x17
push 0x5d2fb8
push 0x5d2968
lea ecx, [esp + 0xdc]
call fcn.0045e850
mov eax, dword [0x54db9c]
mov dword [0x551ed4], eax
mov eax, dword [0x54db60]
mov dword [0x551ed0], eax
mov eax, dword [0x5d233c]
cmp eax, dword [esi + 4]
jle 0x469c63
push 0x5d233c
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d233c], 0xffffffff
jne 0x469c63
push 0x5d233c
call fcn.004bfb2a
add esp, 4
push 0
mov dword [esp + 0x54], 0x30
mov dword [esp + 0x58], 0x3000
mov dword [esp + 0x5c], 0x46cb10
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push 0x65
push dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x80], 0x53b6dc
mov dword [esp + 0x84], 0
call dword [sym.imp.USER32.dll_LoadIconA]
mov dword [esp + 0x68], eax
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.USER32.dll_RegisterClassExA]
mov eax, dword [0x5d29f4]
mov ecx, dword [0x54db60]
mov edi, dword [0x54db9c]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x90], 0x302b3f12
mov dword [esp + 0x94], 0x2c3b363d
mov byte [esp + 0x80], 0x5e
cmp eax, dword [esi + 4]
jle 0x469d72
push 0x5d29f4
call fcn.004bfb7b
add esp, 4
cmp dword [0x5d29f4], 0xffffffff
jne 0x469d6b
movq xmm0, qword [esp + 0x90]
mov al, byte [esp + 0x80]
push 0x4ed810
movq qword [0x5d2c28], xmm0
mov byte [0x5d2c30], al
call fcn.004bfaea
add esp, 4
push 0x5d29f4
call fcn.004bfb2a
add esp, 4
mov ecx, dword [esp + 0xb0]
mov al, byte [0x5d2c30]
test al, al
je 0x469dba
xor byte [0x5d2c28], 0x5e
xor byte [0x5d2c29], 0x5e
xor byte [0x5d2c2a], 0x5e
xor byte [0x5d2c2b], 0x5e
xor byte [0x5d2c2c], 0x5e
xor byte [0x5d2c2d], 0x5e
xor byte [0x5d2c2e], 0x5e
xor byte [0x5d2c2f], 0x5e
xor al, 0x5e
mov byte [0x5d2c30], al
push 0
push dword [esp + 0x68]
push 0
push 0
push edi
push ecx
push 0x64
push 0x64
push closesocket
push 0x5d2c28
push dword [esp + 0xa0]
push 0
call dword [sym.imp.USER32.dll_CreateWindowExA]
mov esi, dword [0x54db9c]
mov edi, dword [0x54db60]
mov dword [esp + 0xb0], eax
call dword [sym.imp.USER32.dll_GetDesktopWindow]
lea ecx, [esp + 0x90]
push ecx
push eax
call dword [sym.imp.USER32.dll_GetClientRect]
mov eax, dword [esp + 0x9c]
sub eax, dword [esp + 0x94]
sub eax, esi
cdq
push 1
sub eax, edx
push esi
mov esi, dword [esp + 0xb8]
sar eax, 1
push edi
push eax
mov eax, dword [esp + 0xa8]
sub eax, dword [esp + 0xa0]
sub eax, edi
cdq
sub eax, edx
sar eax, 1
push eax
push esi
call dword [sym.imp.USER32.dll_MoveWindow]
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_GetWindowLongA]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push esi
call dword [sym.imp.USER32.dll_SetWindowLongA]
push 1
push 0
push 0xea00ff
push esi
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
mov ecx, esi
mov dword [0x551e18], esi
call fcn.0046a830
test al, al
jne 0x469eb8
mov ecx, dword [0x552224]
test ecx, ecx
je 0x469e9c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x552224], 0
mov ecx, dword [0x55220c]
test ecx, ecx
je 0x469f0c
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x55220c], 0
jmp 0x469f0c
push 0xa
push esi
call dword [sym.imp.USER32.dll_ShowWindow]
push esi
call dword [sym.imp.USER32.dll_UpdateWindow]
call fcn.0045fda0
test al, al
jne 0x469f21
mov ecx, dword [0x552224]
test ecx, ecx
je 0x469eeb
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x552224], 0
mov ecx, dword [0x55220c]
test ecx, ecx
je 0x469f05
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x55220c], 0
push esi
call dword [sym.imp.USER32.dll_DestroyWindow]
push dword [esp + 0x64]
push dword [esp + 0x7c]
call dword [sym.imp.USER32.dll_UnregisterClassA]
xor esi, esi
jmp 0x46a763
mov eax, dword [esp + 0xc]
xorps xmm0, xmm0
push 0x1a4
mov dword [0x551e88], eax
movups xmmword [0x551e58], xmm0
mov dword [0x551e68], 0
mov dword [0x551e6c], 0
call fcn.004bf83f
add esp, 4
mov esi, eax
push 0x1a4
push 0
push esi
call fcn.004c1310
add esp, 0xc
mov ecx, esi
call fcn.0046d260
mov edi, dword [esp + 0x34]
mov edx, edi
mov ecx, dword [0x551e18]
mov dword [0x551fac], eax
mov dword [eax + 0x5c], ecx
lea ecx, [eax + 0x68]
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x469f88
sub edx, esi
push edx
push edi
call fcn.00442d40
cmp dword [0x551e78], 0
jne 0x46a089
lea eax, [esp + 0xf0]
push eax
lea ecx, [esp + 0x94]
call fcn.00446870
push 0x400
lea eax, [esp + 0x13c]
push 0
push eax
call fcn.004c1310
add esp, 0xc
lea eax, [esp + 0x90]
cmp dword [esp + 0xa4], 0x10
cmovae eax, dword [esp + 0x90]
push eax
lea eax, [esp + 0x13c]
push 0x400
push eax
call fcn.004cb5e4
mov ecx, dword [esp + 0xb0]
add esp, 0xc
cmp ecx, 0x10
jb 0x46a039
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46a02f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46a819
push ecx
push edx
call fcn.004bf874
add esp, 8
push 0x551e78
lea eax, [esp + 0x13c]
mov dword [esp + 0xa4], 0
push eax
push 8
push 6
push 0
push 1
push 0
push 0
push 0x2bc
push 0
push dword [esp + 0xf0]
mov dword [esp + 0xd0], 0xf
push dword [0x552224]
mov byte [esp + 0xc0], 0
call fcn.004027c8
push 0
push 0
push 0
push 0x45fd80
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CreateThread]
mov esi, dword [sym.imp.USER32.dll_LoadCursorA]
push 0x7f00
push 0
call esi
push 0x7f00
push 0
mov dword [0x552210], eax
call esi
push 0x7f00
push 0
mov dword [0x552200], eax
call esi
push dword [0x552210]
mov dword [0x5521fc], eax
call dword [sym.imp.USER32.dll_SetCursor]
push 0x104
lea eax, [esp + 0x13c]
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameA]
push eax
lea eax, [esp + 0x13c]
mov dword [esp + 0xa4], 0
xorps xmm0, xmm0
mov dword [esp + 0xa8], 0
push eax
lea ecx, [esp + 0x98]
movaps xmmword [esp + 0x98], xmm0
call fcn.00448670
cmp dword [esp + 0xa4], 0x10
lea ecx, [esp + 0x90]
mov esi, dword [esp + 0xa0]
mov edx, esi
cmovae ecx, dword [esp + 0x90]
setae byte [esp + 0x80]
push 1
push 0x536c80
push ecx
call fcn.00448310
mov ecx, eax
mov dword [esp + 0x2c], 0
add esp, 0xc
mov dword [esp + 0x24], 0
cmp esi, ecx
lea eax, [esp + 0x90]
xorps xmm0, xmm0
cmovb ecx, esi
movaps xmmword [esp + 0x10], xmm0
cmp byte [esp + 0x80], 0
push ecx
cmovne eax, dword [esp + 0x94]
lea ecx, [esp + 0x14]
push eax
call fcn.00448670
mov ecx, dword [esp + 0xa4]
cmp ecx, 0x10
jb 0x46a1da
mov edx, dword [esp + 0x90]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46a1d0
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46a81e
push ecx
push edx
call fcn.004bf874
add esp, 8
mov ecx, dword [0x551fac]
lea eax, [esp + 0x10]
push eax
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0xf
lea ecx, [ecx + 0x2c]
mov byte [esp + 0x94], 0
call fcn.004467b0
mov ecx, dword [esp + 0x24]
cmp ecx, 0x10
jb 0x46a241
mov edx, dword [esp + 0x10]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46a237
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46a823
push ecx
push edx
call fcn.004bf874
add esp, 8
push 1
call fcn.004bf83f
xorps xmm0, xmm0
mov dword [0x551fc8], eax
add esp, 4
movaps xmmword [esp + 0x110], xmm0
movq qword [esp + 0x120], xmm0
mov dword [esp + 0x128], 0
nop
push 1
push 0
push 0
push 0
lea eax, [esp + 0x120]
push eax
call dword [sym.imp.USER32.dll_PeekMessageA]
test eax, eax
je 0x46a2ab
lea eax, [esp + 0x110]
push eax
call dword [sym.imp.USER32.dll_TranslateMessage]
lea eax, [esp + 0x110]
push eax
call dword [sym.imp.USER32.dll_DispatchMessageA]
jmp 0x46a6fe
push 1
call dword [sym.imp.USER32.dll_GetAsyncKeyState]
test ax, ax
je 0x46a2c0
push dword [0x5521fc]
jmp 0x46a2c6
push dword [0x552210]
call dword [sym.imp.USER32.dll_SetCursor]
mov eax, dword [0x552224]
push 0
push 7
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x552224]
push 1
push 0x1b
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x552224]
push 0
push 0xae
push eax
mov ecx, dword [eax]
call dword [ecx + 0xe4]
mov eax, dword [0x552224]
push 0
mov ecx, dword [eax]
push ecx
mov dword [esp], 0x3f800000
push 0xffffffffffffffff
push 1
push 0
push 0
push eax
call dword [ecx + 0xac]
mov eax, dword [0x552224]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xa4]
test eax, eax
js 0x46a6c1
mov eax, dword [0x551fac]
mov dword [0x551fb0], 0
push 0x10
movzx ecx, byte [eax + 0x1a0]
mov eax, 0x51eb851f
imul ecx, dword [0x551f20]
mov dword [0x551fb4], 0
mul ecx
mov eax, dword [0x551f24]
mov dword [0x551fbc], eax
mov eax, dword [0x551f2c]
shr edx, 5
mov dword [0x551fb8], edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x20]
mov eax, dword [0x551f2c]
push 0xffffffffffffffff
push 0x552214
push 0
mov ecx, dword [eax]
push 0
push dword [0x551fc0]
push eax
call dword [ecx + 0x24]
mov edx, dword [0x551f2c]
mov ecx, dword [0x551e58]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x46a3c1
mov eax, dword [0x551e54]
jmp 0x46a3d0
mov eax, dword [0x551e80]
cmp ecx, 2
cmove eax, dword [0x551fc4]
push 0xffffffffffffffff
push 0x54db64
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x551f2c]
mov ecx, dword [0x551e5c]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x46a3fb
mov eax, dword [0x551fa8]
jmp 0x46a40a
mov eax, dword [0x551fcc]
cmp ecx, 2
cmove eax, dword [0x551e74]
push 0xffffffffffffffff
push 0x54dba0
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x551f2c]
mov ecx, dword [0x551e60]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x46a435
mov eax, dword [0x551e44]
jmp 0x46a444
mov eax, dword [0x551e40]
cmp ecx, 2
cmove eax, dword [0x551edc]
push 0xffffffffffffffff
push 0x54dc18
push 0
push 0
push eax
push edx
call esi
mov edx, dword [0x551f2c]
mov ecx, dword [0x551e64]
mov eax, dword [edx]
mov esi, dword [eax + 0x24]
test ecx, ecx
jne 0x46a46f
mov ecx, dword [0x552224]
push 0
push 0
push 0
mov eax, dword [ecx]
push 0
push ecx
call dword [eax + 0x44]
cmp eax, 0x88760868
jne 0x46a6fe
mov eax, dword [0x552224]
push eax
mov ecx, dword [eax]
call dword [ecx + 0xc]
cmp eax, 0x88760869
jne 0x46a6fe
mov eax, dword [0x552224]
push 0x552238
push eax
mov ecx, dword [eax]
call dword [ecx + 0x40]
cmp dword [esp + 0x114], 0x12
jne 0x46a270
mov ecx, dword [0x552224]
test ecx, ecx
je 0x46a726
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [0x552224], 0
mov ecx, dword [0x55220c]
test ecx, ecx
je 0x46a740
mov ecx, dword [esp + 0x104]
cmp ecx, 0x10
jb 0x46a79f
mov edx, dword [esp + 0xf0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46a795
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46a823
push ecx
push edx
call fcn.004bf874
add esp, 8
mov eax, dword [esp + 0xe8]
push dword [eax + 4]
lea eax, [esp + 0xec]
push eax
mov ecx, eax
call fcn.0045f7f0
push 0x30
push dword [esp + 0xec]
call fcn.004bf874
mov ecx, dword [esp + 0xec]
add esp, 8
cmp ecx, 0x10
jb 0x46a801
mov edx, dword [esp + 0xd0]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x46a7f7
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x46a823
push ecx
push edx
call fcn.004bf874
add esp, 8
mov ecx, dword [esp + 0x53c]
mov eax, esi
pop edi
pop esi
xor ecx, esp
call fcn.004bf82c
mov esp, ebp
pop ebp
ret 0x10
call fcn.004c7a60
call fcn.004c7a60
call fcn.004c7a60
int3