Function at 0x46a260
Capabilities:
Contain obfuscated stackstrings
Get common file path

Disassembly:
push ebx
mov ebx, esp
sub esp, 8
and esp, 0xfffffff8
add esp, 4
push ebp
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x49f2e6
mov eax, dword fs:[0]
push eax
push ebx
sub esp, 0x3c8
mov eax, dword [0x4d7200]
xor eax, ebp
mov dword [ebp - 0x14], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
mov dword [ebp - 0x364], esi
mov eax, dword [esi + 0xbc]
lea ecx, [esi + 0x2e8]
cmp eax, 0xffffffff
jne 0x46a2bc
mov eax, dword [ecx]
mov edx, dword [esi + 0x2e4]
test edx, edx
je 0x46e639
cmp eax, 1
jl 0x46e639
cmp eax, dword [ecx]
jg 0x46e639
lea eax, [eax + eax*8]
cmp dword [edx + eax*8 + 0xc], 0
je 0x46e639
cmp dword [edx + eax*8], 0xf
jne 0x46e639
push 2
push 0xffffffffffffffff
push 0x100c
push dword [edx + eax*8 + 4]
call dword [sym.imp.USER32.dll_SendMessageW]
mov edi, eax
test edi, edi
js 0x46e639
push ecx
push dword [esi + 0xd8]
lea ecx, [esi + 0x2a8]
call fcn.00416520
lea ecx, [esi + 0x2a8]
test eax, eax
jns 0x46a344
push ecx
push 0x1c2
push 0x96
push ecx
push 0
push 0x4c93b8
jmp 0x46e652
xorps xmm0, xmm0
mov dword [ebp - 0x20], 0
movq qword [ebp - 0x28], xmm0
mov dword [ebp - 0x24], 0
mov dword [ebp - 0x28], 0
mov byte [ebp - 0x20], 1
mov dword [ebp - 4], 0
movq qword [ebp - 0x84], xmm0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
mov dword [ebp - 0x84], 0
mov byte [ebp - 0x7c], 1
movq qword [ebp - 0x64], xmm0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x64], 0
mov byte [ebp - 0x5c], 1
movq qword [ebp - 0x78], xmm0
mov dword [ebp - 0x70], 0
mov dword [ebp - 0x74], 0
mov dword [ebp - 0x78], 0
mov byte [ebp - 0x70], 1
push 4
push eax
mov byte [ebp - 4], 3
push dword [esi + 0xd8]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x84]
test esi, esi
jne 0x46a447
test eax, eax
je 0x46a3f7
push eax
call fcn.00489ed3
add esp, 4
push 2
mov byte [ebp - 0x7c], 0
mov dword [ebp - 0x80], 0
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov dword [ebp - 0x84], edx
test eax, eax
jle 0x46a436
nop dword [eax]
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x84]
cmp ecx, eax
jl 0x46a420
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x80]
mov esi, dword [ebp - 0x84]
jmp 0x46a45f
test eax, eax
je 0x46a454
push eax
call fcn.00489ed3
add esp, 4
xor eax, eax
mov dword [ebp - 0x84], esi
mov dword [ebp - 0x80], eax
mov byte [ebp - 0x7c], 1
test esi, esi
je 0x46e5c7
test eax, eax
jne 0x46a481
cmp word [esi], ax
je 0x46a47c
inc eax
cmp word [esi + eax*2], 0
jne 0x46a474
mov dword [ebp - 0x80], eax
test eax, eax
jle 0x46e5c7
push esi
mov byte [ebp - 0x7c], 1
call fcn.0048e06c
add esp, 4
mov dword [ebp - 0x35c], eax
cmp eax, 1
jl 0x46e5cb
push 3
push edi
mov edi, dword [ebp - 0x364]
push dword [edi + 0xbc]
lea ecx, [edi + 0x2a8]
call fcn.00416470
mov esi, eax
mov eax, dword [ebp - 0x28]
test esi, esi
jne 0x46a517
test eax, eax
je 0x46a4d3
push eax
call fcn.00489ed3
add esp, 4
push 2
mov byte [ebp - 0x20], 0
mov dword [ebp - 0x24], 0
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46a509
mov ax, word [ecx + ecx]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46a4f6
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x24]
mov esi, dword [ebp - 0x28]
jmp 0x46a52c
test eax, eax
je 0x46a524
push eax
call fcn.00489ed3
add esp, 4
xor eax, eax
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 1
test esi, esi
je 0x46a560
test eax, eax
jne 0x46a54d
cmp word [esi], ax
je 0x46a548
nop dword [eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x46a540
mov dword [ebp - 0x24], eax
test eax, eax
jle 0x46a560
push esi
mov byte [ebp - 0x20], 1
call fcn.0048e06c
add esp, 4
mov esi, eax
jmp 0x46a566
mov byte [ebp - 0x20], 0
xor esi, esi
mov ecx, edi
call fcn.0042eef0
push 1
push dword [ebp - 0x35c]
add edi, 0x2a8
push esi
mov esi, dword [ebp - 0x364]
mov ecx, esi
call fcn.0042f260
test eax, eax
jne 0x46a5a6
push ecx
push 0x1c2
push 0x96
push edi
push eax
push 0x4cb120
mov ecx, esi
jmp 0x46e5ea
xorps xmm0, xmm0
movups xmmword [ebp - 0x328], xmm0
movups xmmword [ebp - 0x318], xmm0
mov eax, dword [esi + 0x54]
mov ecx, dword [esi + 0x44]
mov dword [ebp - 0x328], 0
push ecx
push 0
mov byte [ebp - 4], 4
movaps xmm0, xmmword [0x4cd010]
push eax
push ecx
push edi
lea ecx, [ebp - 0x328]
mov dword [ebp - 0x310], 0xd
movups xmmword [ebp - 0x320], xmm0
mov dword [ebp - 0x30c], 0
call fcn.00417480
push 0x4c2178
lea ecx, [esi + 0x168]
mov byte [ebp - 4], 5
call fcn.0041b170
cmp byte [esi + 0x198], 0
mov edi, 2
je 0x46a6e7
cmp word [esi + 0x178], 8
jne 0x46a641
push dword [esi + 0x180]
call fcn.0048e06c
add esp, 4
movzx esi, ax
jmp 0x46a648
movzx esi, word [esi + 0x180]
xor eax, eax
cmp ax, si
je 0x46a6e7
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x46a663
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x5c], 0
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c0540], 0
jne 0x46a670
mov dword [ebp - 0x60], eax
xor ecx, ecx
inc eax
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x60]
xor ecx, ecx
mov dword [ebp - 0x64], edx
test eax, eax
jle 0x46a6b9
mov ax, word [ecx*2 + 0x4c0540]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
cmp ecx, eax
jl 0x46a6a2
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x64]
mov byte [ebp - 0x5c], 1
test eax, eax
jne 0x46a6e2
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x64], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x60], ecx
mov word [eax], si
jmp 0x46a6ef
lea ecx, [ebp - 0x64]
call fcn.0041e280
mov esi, dword [ebp - 0x364]
push dword [esi + 0x4d8]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x46a70d
mov edi, dword [esi + 0x4d8]
jmp 0x46a70f
xor edi, edi
push 0x268
lea eax, [ebp - 0x308]
push 0
push eax
call fcn.0048b9e0
add esp, 0xc
mov word [ebp - 0x2d0], 0
mov dword [ebp - 0x1f4], 0
mov dword [ebp - 0x1f8], 0
mov byte [ebp - 0x1f0], 1
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x308]
push 1
mov dword [ebp - 0x1ec], 0
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xbc], 0
call fcn.00417000
push ecx
push edi
push 0xffffffffffffffff
push SysReAllocString
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0x1c2
push 0x258
add esi, 0x22c
lea eax, [ebp - 0x308]
push 0x4cb1a4
cmovne eax, esi
lea ecx, [ebp - 0x308]
push 0x4c3cf8
mov dword [ebp - 0x148], eax
call fcn.0040bf80
push ecx
push 0xc
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xff000000
push 0x1c2
push 0x258
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 7
call fcn.004167f0
mov eax, dword [ebp - 0xd8]
test edi, edi
mov edi, dword [ebp - 0x364]
mov dword [ebp - 0x35c], eax
je 0x46a84a
xor esi, esi
add edi, 0x2f8
mov eax, dword [edi]
test eax, eax
je 0x46a828
push eax
call dword [sym.imp.USER32.dll_IsWindow]
test eax, eax
je 0x46a828
inc esi
add edi, 4
cmp esi, 0x30
jl 0x46a806
mov edi, dword [ebp - 0x364]
jmp 0x46a84a
mov edi, dword [ebp - 0x364]
mov eax, dword [ebp - 0x35c]
mov dword [edi + esi*4 + 0x2f8], eax
inc esi
cmp esi, dword [edi + 0x2f4]
jle 0x46a84a
mov dword [edi + 0x2f4], esi
movsd xmm0, qword [0x4cc778]
xor eax, eax
mov dword [ebp - 0xe4], 0
mov dword [ebp - 0xe0], 0xffffff
movsd qword [ebp - 0x198], xmm0
mov dword [ebp - 0x190], 0x2bc
mov byte [ebp - 0x18c], 1
mov byte [ebp - 0x14a], 0
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x46a890
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x18a]
push 0x20
push eax
call fcn.0048d183
add esp, 0x10
mov dword [ebp - 0x118], 0x1400
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46a93a
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x1c
push 0x24e
push 5
and eax, 1
push 5
shl eax, 0x11
add eax, 0x50000300
push eax
push 0x4cb1c4
push 0x4c018c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x46a93a
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cce70]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
movsd xmm0, qword [0x4cc768]
xor eax, eax
movsd qword [ebp - 0x198], xmm0
mov dword [ebp - 0x190], 0x190
mov byte [ebp - 0x18c], 1
mov byte [ebp - 0x14a], 0
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x46a964
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x18a]
push 0x20
push eax
call fcn.0048d183
add esp, 0x10
mov dword [ebp - 0x118], 0x400
lea ecx, [edi + 0x1a0]
push 0
push 0x4c2124
call fcn.0041b250
mov esi, eax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46a9b6
push eax
call fcn.00489ed3
add esp, 4
xor eax, eax
mov byte [ebp - 0x20], 0
test esi, esi
je 0x46a9cd
cmp word [esi], ax
je 0x46a9cd
inc eax
cmp word [esi + eax*2], 0
jne 0x46a9c5
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46aa13
nop dword [eax + eax]
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46aa00
xor ecx, ecx
mov word [edx + eax*2], cx
mov edi, dword [ebp - 0x28]
mov byte [ebp - 0x20], 1
cmp edi, 0x4c80b4
jne 0x46aa34
mov byte [ebp - 0x380], 1
jmp 0x46aab3
test edi, edi
je 0x46aaad
mov esi, 0x4c80b4
nop dword [eax]
movzx eax, word [edi]
mov ecx, eax
test ax, ax
jne 0x46aa51
cmp word [esi], ax
je 0x46aa28
jmp 0x46aa56
cmp ax, word [esi]
je 0x46aa9c
xor edx, edx
cmp dx, ax
jne 0x46aa65
mov dword [ebp - 0x37c], edx
jmp 0x46aa77
push ecx
call fcn.0048e154
movzx eax, ax
add esp, 4
mov dword [ebp - 0x37c], eax
movzx eax, word [esi]
xor edx, edx
mov ecx, eax
cmp dx, ax
jne 0x46aa87
xor eax, eax
jmp 0x46aa93
push ecx
call fcn.0048e154
add esp, 4
movzx eax, ax
cmp word [ebp - 0x37c], ax
jne 0x46aaa4
add edi, 2
add esi, 2
jmp 0x46aa40
mov byte [ebp - 0x380], 0
jmp 0x46aab3
mov byte [ebp - 0x380], cl
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46ab2c
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x12
push 0x37
push 0x32
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4cb1ec
push 0x4c018c
push 0
call dword [sym.imp.USER32.dll_CreateWindowExW]
test eax, eax
je 0x46ab2c
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc970]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov ecx, dword [ebp - 0x364]
push 0
push 0x4c2fe4
add ecx, 0x1a0
call fcn.0041b250
mov esi, eax
mov eax, dword [ebp - 0x78]
test eax, eax
je 0x46ab56
push eax
call fcn.00489ed3
add esp, 4
xor eax, eax
mov byte [ebp - 0x70], 0
test esi, esi
je 0x46ab6d
cmp word [esi], ax
je 0x46ab6d
inc eax
cmp word [esi + eax*2], 0
jne 0x46ab65
mov dword [ebp - 0x74], eax
xor ecx, ecx
inc eax
mov edi, 2
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x74]
xor ecx, ecx
mov dword [ebp - 0x78], edx
test eax, eax
jle 0x46abb3
nop dword [eax + eax]
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x74]
mov edx, dword [ebp - 0x78]
cmp ecx, eax
jl 0x46aba0
xor ecx, ecx
mov word [edx + eax*2], cx
mov esi, dword [ebp - 0x78]
mov byte [ebp - 0x70], 1
test esi, esi
jne 0x46abdc
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x78], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x74], ecx
mov eax, dword [ebp - 0x28]
mov byte [ebp - 0x70], 1
test eax, eax
je 0x46abf0
push eax
call fcn.00489ed3
add esp, 4
xor eax, eax
mov byte [ebp - 0x20], 0
test esi, esi
je 0x46ac08
cmp word [esi], ax
je 0x46ac08
nop
inc eax
cmp word [esi + eax*2], 0
jne 0x46ac00
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46ac43
nop
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46ac30
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x24]
mov byte [ebp - 0x20], cl
test eax, eax
jne 0x46ac6b
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x46ac68
cmp word [ecx], ax
je 0x46ac68
nop
inc eax
cmp word [ecx + eax*2], 0
jne 0x46ac60
mov dword [ebp - 0x24], eax
xor ecx, ecx
nop dword [eax]
inc ecx
cmp word [ecx*2 + 0x4bffa0], 0
jne 0x46ac70
add eax, ecx
xor ecx, ecx
mov dword [ebp - 0x37c], eax
inc eax
mul edi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, dword [ebp - 0x28]
mov edi, 0x4bffa0
add esp, 4
mov dword [ebp - 0x35c], eax
mov ecx, eax
mov esi, 0x20
sub edi, eax
mov word [ecx], si
add ecx, 2
movzx eax, word [ecx + edi]
mov esi, eax
test ax, ax
jne 0x46acb0
cmp dword [ebp - 0x28], 0
je 0x46ace2
movzx eax, word [edx]
mov esi, eax
test ax, ax
je 0x46ace2
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x46acd1
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46acf7
push eax
call fcn.00489ed3
add esp, 4
mov eax, dword [ebp - 0x37c]
lea ecx, [ebp - 0x308]
mov esi, dword [ebp - 0x35c]
mov dword [ebp - 0x28], esi
mov dword [ebp - 0x24], eax
mov byte [ebp - 0x20], 1
call fcn.00416d40
test al, al
je 0x46ad8e
test byte [ebp - 0xc0], 1
mov eax, 0x50020880
push 0
push dword [ebp - 0x1ec]
mov ecx, 0x50000880
cmovne ecx, eax
mov eax, dword [ebp - 0x2c8]
inc eax
push eax
push dword [ebp - 0xd4]
push 0x16
push 0x13b
push 0x30
push 0x4b
push ecx
push esi
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x4c0220
push 0x200
call esi
test eax, eax
je 0x46ad94
push eax
push 0xc
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccd30]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
jmp 0x46ad94
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46ae0c
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x12
push 0x5a
push 0x32
and eax, 1
push 0x190
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4cb1fc
push 0x4c018c
push 0
call esi
test eax, eax
je 0x46ae0c
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc980]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
mov esi, dword [ebp - 0x364]
push 0x4cb20c
lea ecx, [esi + 0x1a0]
call fcn.0041b170
cmp byte [esi + 0x1d0], 0
mov ecx, 3
jne 0x46ae34
xor esi, esi
jmp 0x46ae64
cmp word [esi + 0x1b0], 8
jne 0x46ae56
push dword [esi + 0x1b8]
call fcn.0048e06c
add esp, 4
movzx esi, ax
mov ecx, 3
jmp 0x46ae5d
movzx esi, word [esi + 0x1b8]
xor eax, eax
cmp ax, si
jne 0x46aedc
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46ae74
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x20], 0
xor eax, eax
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4cb228], 0
jne 0x46ae80
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46b049
nop dword [eax + eax]
mov ax, word [ecx*2 + 0x4cb228]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46aec0
jmp 0x46b049
mov eax, 1
cmp ax, si
jne 0x46af5c
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46aef6
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x20], 0
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c8184], 0
jne 0x46af00
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46b049
nop dword [eax + eax]
mov ax, word [ecx*2 + 0x4c8184]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46af40
jmp 0x46b049
mov edx, 2
cmp dx, si
jne 0x46afd9
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46af7b
push eax
call fcn.00489ed3
add esp, 4
mov edx, 2
mov byte [ebp - 0x20], 0
xor eax, eax
inc eax
cmp word [eax*2 + 0x4c819c], 0
jne 0x46af81
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46b049
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4c819c]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46afc0
jmp 0x46b049
cmp cx, si
jne 0x46b053
mov eax, dword [ebp - 0x28]
test eax, eax
je 0x46aff3
push eax
call fcn.00489ed3
add esp, 4
mov edx, 2
mov byte [ebp - 0x20], 0
xor eax, eax
nop dword [eax]
inc eax
cmp word [eax*2 + 0x4c81bc], 0
jne 0x46b000
mov dword [ebp - 0x24], eax
xor ecx, ecx
inc eax
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x24]
xor ecx, ecx
mov dword [ebp - 0x28], edx
test eax, eax
jle 0x46b049
mov ax, word [ecx*2 + 0x4c81bc]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x28]
cmp ecx, eax
jl 0x46b032
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x20], 1
mov edi, dword [ebp - 0x28]
test edi, edi
jne 0x46b072
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x28], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x24], ecx
lea ecx, [ebp - 0x308]
mov byte [ebp - 0x20], 1
call fcn.00416d40
test al, al
je 0x46b0f5
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x16
push 0x82
push 0x30
and eax, 1
push 0x1c2
shl eax, 0x11
add eax, 0x50800301
push eax
push edi
mov edi, dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x4c018c
push 0
call edi
test eax, eax
je 0x46b0fb
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccd20]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
jmp 0x46b0fb
mov edi, dword [sym.imp.USER32.dll_CreateWindowExW]
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b170
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x12
push 0x78
push 0x55
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4cb23c
push 0x4c018c
push 0
call edi
test eax, eax
je 0x46b170
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccaa0]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
movsd xmm0, qword [0x4cc768]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
push 0x2bc
push ecx
lea ecx, [ebp - 0x308]
call fcn.00413b20
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
jne 0x46b1ad
mov dword [ebp - 0x378], 0
jmp 0x46b224
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x82
push 0x73
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4cb258
push 0x4c019c
push 0
call edi
test eax, eax
jne 0x46b1fb
mov dword [ebp - 0x378], eax
jmp 0x46b224
push eax
push 0x15
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4cc850]
mov dword [ebp - 0x378], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb27c
push 0xffffffffffffffff
call fcn.00415120
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
jne 0x46b254
mov dword [ebp - 0x38c], 0
jmp 0x46b2cb
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x64
push 0x73
and eax, 1
push 0xe6
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4cb2ac
push 0x4c019c
push 0
call edi
test eax, eax
jne 0x46b2a2
mov dword [ebp - 0x38c], eax
jmp 0x46b2cb
push eax
push 0x15
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4cc840]
mov dword [ebp - 0x38c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb2c8
push 0xffffffffffffffff
call fcn.00415120
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
jne 0x46b2fe
mov dword [ebp - 0x388], 0
jmp 0x46b378
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x9b
push 0x73
and eax, 1
push 0x1a9
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4cb308
push 0x4c019c
push 0
call edi
test eax, eax
jne 0x46b34f
mov dword [ebp - 0x388], eax
jmp 0x46b378
push eax
push 0x15
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4cc860]
mov dword [ebp - 0x388], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb330
push 0xffffffffffffffff
call fcn.00415120
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
jne 0x46b3ab
mov dword [ebp - 0x370], 0
jmp 0x46b425
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0xa0
push 0x91
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4cb388
push 0x4c019c
push 0
call edi
test eax, eax
jne 0x46b3fc
mov dword [ebp - 0x370], eax
jmp 0x46b425
push eax
push 0x15
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4cc870]
mov dword [ebp - 0x370], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb3b8
push 0xffffffffffffffff
call fcn.00415120
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
jne 0x46b458
mov dword [ebp - 0x3b8], 0
jmp 0x46b4d5
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0xa0
push 0x91
and eax, 1
push 0xe6
shl eax, 0x11
add eax, 0x50010009
push eax
push 0x4cb40c
push 0x4c019c
push 0
call edi
test eax, eax
jne 0x46b4ac
mov dword [ebp - 0x3b8], eax
jmp 0x46b4d5
push eax
push 0x15
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4cc880]
mov dword [ebp - 0x3b8], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb438
push 0xffffffffffffffff
call fcn.00415120
cmp si, 2
jae 0x46b509
cmp byte [ebp - 0x380], 0
mov eax, dword [ebp - 0x38c]
cmovne eax, dword [ebp - 0x388]
push 4
push eax
jmp 0x46b52f
mov eax, 2
cmp ax, si
jne 0x46b51d
push 4
push dword [ebp - 0x370]
jmp 0x46b52f
mov eax, 3
cmp ax, si
jne 0x46b53a
push 4
push dword [ebp - 0x378]
lea ecx, [ebp - 0x308]
call fcn.00414360
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b5b2
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x12
push 0x78
push 0xb4
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4cb48c
push 0x4c018c
push 0
call edi
test eax, eax
je 0x46b5b2
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccac0]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
movsd xmm0, qword [0x4cc768]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
push 0x2bc
push ecx
lea ecx, [ebp - 0x308]
call fcn.00413b20
movsd xmm0, qword [0x4cc760]
xor eax, eax
movsd qword [ebp - 0x198], xmm0
mov dword [ebp - 0x190], 0x190
mov byte [ebp - 0x18c], 1
mov byte [ebp - 0x14a], 0
nop
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x46b600
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x18a]
push 0x20
push eax
call fcn.0048d183
add esp, 0x10
cmp dword [ebp - 0xd8], 0
je 0x46b6ba
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b6ba
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x104
push 0xd2
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cb4b0
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46b6ba
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc890]
mov dword [ebp - 0x368], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46b6c4
mov dword [ebp - 0x368], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb4f8
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46b772
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b772
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x136
push 0xd2
and eax, 1
push 0x118
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cb5b0
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46b772
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc8e0]
mov dword [ebp - 0x3b4], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46b77c
mov dword [ebp - 0x3b4], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb600
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46b827
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b827
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x104
push 0xeb
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cb6ec
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46b827
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc8a0]
mov dword [ebp - 0x3b0], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46b831
mov dword [ebp - 0x3b0], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb730
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46b8df
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b8df
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x136
push 0xeb
and eax, 1
push 0x118
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cb7b0
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46b8df
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc8f0]
mov dword [ebp - 0x3ac], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46b8e9
mov dword [ebp - 0x3ac], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb800
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46b994
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46b994
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x104
push 0x104
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cb878
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46b994
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc8b0]
mov dword [ebp - 0x3a8], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46b99e
mov dword [ebp - 0x3a8], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cb8c0
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46ba4c
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46ba4c
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x136
push 0x104
and eax, 1
push 0x118
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cba40
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46ba4c
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc900]
mov dword [ebp - 0x3a4], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46ba56
mov dword [ebp - 0x3a4], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cbaa0
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46bb01
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46bb01
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x104
push 0x11d
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cbbb8
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46bb01
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc8c0]
mov dword [ebp - 0x3a0], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46bb0b
mov dword [ebp - 0x3a0], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cbc08
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46bbb9
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46bbb9
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x136
push 0x11d
and eax, 1
push 0x118
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cbc88
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46bbb9
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc910]
mov dword [ebp - 0x39c], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46bbc3
mov dword [ebp - 0x39c], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cbcf0
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46bc6e
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46bc6e
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x104
push 0x136
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cbd88
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46bc6e
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc8d0]
mov dword [ebp - 0x398], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46bc78
mov dword [ebp - 0x398], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cbdd0
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46bd26
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46bd26
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x136
push 0x136
and eax, 1
push 0x118
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cbea8
push 0x4c019c
push 0
call edi
test eax, eax
je 0x46bd26
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4cc920]
mov dword [ebp - 0x394], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46bd30
mov dword [ebp - 0x394], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cbf08
push 0xffffffffffffffff
call fcn.00415120
xorps xmm0, xmm0
mov dword [ebp - 0x94], 0
movq qword [ebp - 0x9c], xmm0
mov dword [ebp - 0x9c], 0
movq qword [ebp - 0x90], xmm0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x90], 0
mov byte [ebp - 0x88], 1
mov byte [ebp - 4], 9
push 0x20a
mov byte [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
call fcn.0048a28e
add esp, 4
mov esi, eax
xor eax, eax
mov dword [ebp - 0x9c], esi
push esi
push eax
push eax
push 0x25
mov word [esi + 0x208], ax
push eax
mov word [esi], ax
call dword [sym.imp.SHELL32.dll_SHGetFolderPathW]
test esi, esi
mov byte [ebp - 0x94], 1
setne byte [ebp - 0x88]
test esi, esi
je 0x46be6d
mov edi, dword [ebp - 0x90]
xorps xmm0, xmm0
movlpd qword [ebp - 0x6c], xmm0
mov dword [ebp - 0x6c], edi
mov byte [ebp - 4], 0xa
push 6
mov dword [ebp - 0x8c], 0
call fcn.0048a28e
mov ecx, dword [ebp - 0x8c]
add esp, 4
mov edx, eax
mov dword [ebp - 0x90], edx
cmp ecx, 2
jge 0x46be56
movzx eax, word [esi + ecx*2]
mov esi, eax
test ax, ax
je 0x46be56
mov word [edx + ecx*2], si
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x90]
inc ecx
mov dword [ebp - 0x8c], ecx
cmp ecx, 2
jge 0x46be56
mov esi, dword [ebp - 0x9c]
jmp 0x46be27
xor eax, eax
mov byte [ebp - 4], 9
mov word [edx + ecx*2], ax
test edi, edi
je 0x46be6d
push edi
call fcn.00489ed3
add esp, 4
mov esi, dword [ebp - 0x90]
xorps xmm0, xmm0
movq qword [ebp - 0x4c], xmm0
mov dword [ebp - 0x44], 0
test esi, esi
jne 0x46bea7
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x90], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x90]
mov dword [ebp - 0x8c], ecx
xor eax, eax
mov byte [ebp - 0x88], 1
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x4c], 0
mov byte [ebp - 0x44], 0
test esi, esi
je 0x46bed8
cmp word [esi], ax
je 0x46bed8
nop dword [eax + eax]
inc eax
cmp word [esi + eax*2], 0
jne 0x46bed0
mov dword [ebp - 0x48], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov dword [ebp - 0x4c], edx
test eax, eax
jle 0x46bf16
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
cmp ecx, eax
jl 0x46bf03
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x44], 1
mov byte [ebp - 4], 0xb
xorps xmm0, xmm0
movq qword [ebp - 0x40], xmm0
xor eax, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x40], ecx
mov byte [ebp - 0x38], cl
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4cbfc4], 0
jne 0x46bf40
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mov esi, 2
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46bf97
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4cbfc4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46bf80
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x38], 1
xorps xmm0, xmm0
mov dword [ebp - 0x50], ecx
movq qword [ebp - 0x58], xmm0
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x58], ecx
mov byte [ebp - 0x50], 1
push 4
push dword [ebp - 0x388]
lea ecx, [ebp - 0x308]
mov byte [ebp - 4], 0xd
call fcn.00415560
test eax, eax
je 0x46c044
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46bfe1
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
nop word [eax + eax]
inc eax
cmp word [eax*2 + 0x4cbfc4], 0
jne 0x46bff0
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46c039
mov ax, word [ecx*2 + 0x4cbfc4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46c022
mov edi, dword [ebp - 0x378]
jmp 0x46c139
push 4
push dword [ebp - 0x370]
lea ecx, [ebp - 0x308]
call fcn.00415560
test eax, eax
je 0x46c0c2
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46c06b
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
inc eax
cmp word [eax*2 + 0x4cbfd4], 0
jne 0x46c071
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46c039
mov ax, word [ecx*2 + 0x4cbfd4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46c0a3
mov edi, dword [ebp - 0x378]
jmp 0x46c139
mov edi, dword [ebp - 0x378]
lea ecx, [ebp - 0x308]
push 4
push edi
call fcn.00415560
test eax, eax
je 0x46c143
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46c0ea
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
inc eax
cmp word [eax*2 + 0x4cbfe8], 0
jne 0x46c0f0
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mul esi
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46c139
mov ax, word [ecx*2 + 0x4cbfe8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46c122
xor ecx, ecx
mov word [edx + eax*2], cx
mov byte [ebp - 0x38], 1
lea ecx, [ebp - 0x308]
call fcn.00416d40
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
test al, al
je 0x46c1c4
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x12
push 0x23a
push 0x154
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4cbff0
push 0x4c018c
push 0
call esi
test eax, eax
je 0x46c1c4
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4ccc40]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
movsd xmm0, qword [0x4cc768]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
push 0x2bc
push ecx
lea ecx, [ebp - 0x308]
call fcn.00413b20
movsd xmm0, qword [0x4cc768]
xor eax, eax
movsd qword [ebp - 0x198], xmm0
mov dword [ebp - 0x190], 0x190
mov byte [ebp - 0x18c], 1
mov byte [ebp - 0x14a], 0
inc eax
cmp word [eax*2 + 0x4bff50], 0
jne 0x46c210
inc eax
push eax
push 0x4bff50
lea eax, [ebp - 0x18a]
push 0x20
push eax
call fcn.0048d183
add esp, 0x10
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46c2ac
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x12
push 0x5a
push 0x174
and eax, 1
push 0xa
shl eax, 0x11
add eax, 0x50000100
push eax
push 0x4cc088
push 0x4c018c
push 0
call esi
test eax, eax
je 0x46c2ac
push eax
push 0xd
lea ecx, [ebp - 0x308]
call fcn.00416ab0
movaps xmm0, xmmword [0x4cc9e0]
lea ecx, [eax + eax*8]
mov eax, dword [ebp - 0x2cc]
movups xmmword [eax + ecx*8 + 0x24], xmm0
movsd xmm0, qword [0x4cc768]
sub esp, 0x14
movsd qword [esp + 0xc], xmm0
push 0x190
push ecx
lea ecx, [ebp - 0x308]
call fcn.00413b20
mov esi, dword [ebp - 0x64]
test esi, esi
jne 0x46c2ed
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x64], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x60], ecx
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x5c], 1
test eax, eax
je 0x46c301
push eax
call fcn.00489ed3
add esp, 4
xor eax, eax
mov byte [ebp - 0x44], 0
test esi, esi
je 0x46c318
cmp word [esi], ax
je 0x46c318
inc eax
cmp word [esi + eax*2], 0
jne 0x46c310
mov dword [ebp - 0x48], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x48]
xor ecx, ecx
mov dword [ebp - 0x4c], edx
test eax, eax
jle 0x46c356
mov ax, word [esi + ecx*2]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x4c]
cmp ecx, eax
jl 0x46c343
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 0x44], 1
test eax, eax
jne 0x46c380
xor eax, eax
test ecx, ecx
je 0x46c37d
cmp word [ecx], ax
je 0x46c37d
inc eax
cmp word [ecx + eax*2], 0
jne 0x46c375
mov dword [ebp - 0x48], eax
cmp eax, 4
jge 0x46c3c3
test eax, eax
jne 0x46c39f
test ecx, ecx
je 0x46c39a
cmp word [ecx], ax
je 0x46c39a
inc eax
cmp word [ecx + eax*2], 0
jne 0x46c392
mov dword [ebp - 0x48], eax
test eax, eax
setg byte [ebp - 0x44]
test eax, eax
jle 0x46c3c3
cmp word [ecx + eax*2 - 2], 0x5c
jne 0x46c3c3
dec eax
xor edx, edx
mov dword [ebp - 0x48], eax
mov word [ecx + eax*2], dx
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
test eax, eax
jne 0x46c3a7
test ecx, ecx
jne 0x46c3df
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x4c]
push dword [ebp - 0x380]
lea eax, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push eax
push dword [ebp - 0x368]
lea eax, [ebp - 0x308]
push edi
push ecx
mov ecx, dword [ebp - 0x364]
push eax
call 0x46e690
cmp dword [ebp - 0x58], 0
xorps xmm0, xmm0
movq qword [ebp - 0x34], xmm0
mov dword [ebp - 0x2c], 0
jne 0x46c431
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x50], 1
test edi, edi
jne 0x46c454
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test esi, esi
jne 0x46c477
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
xor ecx, ecx
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
test esi, esi
je 0x46c4a0
cmp word [esi], cx
je 0x46c4a0
inc ecx
cmp word [esi + ecx*2], 0
jne 0x46c498
xor eax, eax
test edi, edi
je 0x46c4b8
cmp word [edi], ax
je 0x46c4b8
nop dword [eax + eax]
inc eax
cmp word [edi + eax*2], 0
jne 0x46c4b0
mov edx, dword [ebp - 0x58]
add ecx, eax
test edx, edx
je 0x46c4d2
xor eax, eax
cmp word [edx], ax
je 0x46c4d0
inc eax
cmp word [edx + eax*2], 0
jne 0x46c4c8
add ecx, eax
lea eax, [ecx + 1]
mov dword [ebp - 0x37c], ecx
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 0x35c], eax
mov ecx, eax
test edx, edx
je 0x46c521
movzx eax, word [edx]
test ax, ax
je 0x46c521
nop dword [eax + eax]
mov word [ecx], ax
lea edx, [edx + 2]
movzx eax, word [edx]
add ecx, 2
test ax, ax
jne 0x46c510
test esi, esi
je 0x46c542
movzx eax, word [esi]
mov edx, eax
test ax, ax
je 0x46c542
sub esi, ecx
mov word [ecx], dx
add ecx, 2
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x46c531
test edi, edi
je 0x46c563
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x46c563
sub edi, ecx
mov word [ecx], dx
add ecx, 2
movzx eax, word [ecx + edi]
mov edx, eax
test ax, ax
jne 0x46c552
mov edi, dword [ebp - 0x58]
test edi, edi
je 0x46c591
movzx eax, word [edi]
mov edx, eax
test ax, ax
je 0x46c591
mov esi, edi
sub esi, ecx
nop dword [eax + eax]
mov word [ecx], dx
add ecx, 2
movzx eax, word [esi + ecx]
mov edx, eax
test ax, ax
jne 0x46c580
xor eax, eax
mov word [ecx], ax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x46c5a6
push eax
call fcn.00489ed3
add esp, 4
mov esi, dword [ebp - 0x35c]
mov eax, dword [ebp - 0x37c]
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x308]
mov byte [ebp - 0x2c], 1
call fcn.00416d40
test al, al
jne 0x46c5e4
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
mov dword [ebp - 0x360], 0
jmp 0x46c66b
test byte [ebp - 0xc0], 1
mov eax, 0x50020080
push 0
push dword [ebp - 0x1ec]
mov ecx, 0x50000080
cmovne ecx, eax
mov eax, dword [ebp - 0x2c8]
inc eax
or ecx, 0x10000
push eax
push dword [ebp - 0xd4]
push 0x14
push 0x1e0
push 0x172
push 0x64
push ecx
push esi
mov esi, dword [sym.imp.USER32.dll_CreateWindowExW]
push 0x4c0220
push 0x200
call esi
test eax, eax
jne 0x46c642
mov dword [ebp - 0x360], eax
jmp 0x46c66b
push eax
push 0xc
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4ccd00]
mov dword [ebp - 0x360], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
cmp dword [ebp - 0xd8], 0
je 0x46c6fb
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46c6fb
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x10
push 0x13f
push 0x1a4
and eax, 1
push 0x14
shl eax, 0x11
add eax, 0x50010003
push eax
push 0x4cc0a0
push 0x4c019c
push 0
call esi
test eax, eax
je 0x46c6fb
push eax
push 4
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4cc930]
mov dword [ebp - 0x37c], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46c705
mov dword [ebp - 0x37c], 0
push 4
push 0xffffffffffffffff
lea ecx, [ebp - 0x308]
call fcn.00414360
cmp dword [ebp - 0xd8], 0
je 0x46c7a4
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46c7a4
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x1e
push 0x64
push 0x19a
and eax, 1
push 0x154
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4c033c
push 0x4c019c
push 0
call esi
test eax, eax
je 0x46c7a4
push eax
push 3
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
movaps xmm0, xmmword [0x4ccf00]
mov dword [ebp - 0x390], eax
lea edx, [eax + eax*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46c7ae
mov dword [ebp - 0x390], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4c4258
push 0xffffffffffffffff
call fcn.00415120
cmp dword [ebp - 0xd8], 0
je 0x46c855
lea ecx, [ebp - 0x308]
call fcn.00416d40
test al, al
je 0x46c855
mov eax, dword [ebp - 0x2c8]
push 0
push dword [ebp - 0x1ec]
inc eax
push eax
push dword [ebp - 0xd4]
movzx eax, byte [ebp - 0xc0]
push 0x20
push 0x78
push 0x19a
and eax, 1
push 0x1cc
shl eax, 0x11
add eax, 0x50010000
push eax
push 0x4cc104
push 0x4c019c
push 0
call esi
test eax, eax
je 0x46c855
push eax
push 3
lea ecx, [ebp - 0x308]
call fcn.00416ab0
mov ecx, dword [ebp - 0x2cc]
mov esi, eax
movaps xmm0, xmmword [0x4ccf80]
mov dword [ebp - 0x384], esi
lea edx, [esi + esi*8]
movups xmmword [ecx + edx*8 + 0x24], xmm0
jmp 0x46c85f
mov dword [ebp - 0x384], 0
sub esp, 8
lea ecx, [ebp - 0x308]
push 0x4cc11c
push 0xffffffffffffffff
call fcn.00415120
mov eax, 0x1b
mov byte [ebp - 0x1c], 1
mov word [ebp - 0x1a], ax
mov eax, dword [ebp - 0x390]
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0xc4]
test eax, eax
je 0x46c89c
push eax
call dword [sym.imp.USER32.dll_DestroyAcceleratorTable]
push 1
lea eax, [ebp - 0x1c]
push eax
call dword [sym.imp.USER32.dll_CreateAcceleratorTableW]
xor ecx, ecx
cmp eax, 0xffffffff
push 1
cmove eax, ecx
lea ecx, [ebp - 0x308]
push 1
mov dword [ebp - 0xc4], eax
call fcn.0040db40
mov esi, dword [ebp - 0x364]
mov ecx, esi
push 0
call fcn.004284d0
test eax, eax
je 0x46e4c6
nop dword [eax]
mov eax, dword [esi + 0x22c]
cmp eax, 0xfffffffa
je 0x46e5bf
lea ecx, [ebp - 0x308]
cmp dword [esi + 0x25c], ecx
jne 0x46d859
cmp eax, dword [ebp - 0x390]
je 0x46e5bf
cmp eax, dword [ebp - 0x378]
jne 0x46cb9d
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46c929
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
nop
inc eax
cmp word [eax*2 + 0x4cbfe8], 0
jne 0x46c930
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46c987
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4cbfe8]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46c970
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test eax, eax
jne 0x46c9b0
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
push dword [ebp - 0x380]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push ecx
push dword [ebp - 0x368]
mov ecx, esi
push dword [ebp - 0x378]
push eax
lea eax, [ebp - 0x308]
push eax
call 0x46e690
cmp dword [ebp - 0x58], 0
jne 0x46c9f4
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x50], 1
mov dword [ebp - 0x36c], edi
test edi, edi
jne 0x46ca23
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x36c], edi
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test esi, esi
jne 0x46ca46
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
test esi, esi
je 0x46ca78
cmp word [esi], cx
je 0x46ca78
nop dword [eax]
inc ecx
cmp word [esi + ecx*2], 0
jne 0x46ca70
xor eax, eax
test edi, edi
je 0x46ca8b
cmp word [edi], ax
je 0x46ca8b
mov edx, dword [ebp - 0x58]
add ecx, eax
test edx, edx
je 0x46caaa
cmp eax, dword [ebp - 0x38c]
jne 0x46cdb6
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46cbb9
push eax
call fcn.00489ed3
add esp, 4
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x40], 0
mov dword [ebp - 0x3c], 0
mov byte [ebp - 0x38], 1
test eax, eax
jne 0x46cbea
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
push dword [ebp - 0x380]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push ecx
push dword [ebp - 0x368]
mov ecx, esi
push dword [ebp - 0x378]
push eax
lea eax, [ebp - 0x308]
push eax
call 0x46e690
cmp dword [ebp - 0x58], 0
jne 0x46cc2e
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x50], 1
mov dword [ebp - 0x36c], edi
test edi, edi
jne 0x46cc5d
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x36c], edi
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test esi, esi
jne 0x46cc80
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
test esi, esi
je 0x46ccb8
cmp word [esi], cx
je 0x46ccb8
nop word [eax + eax]
inc ecx
cmp word [esi + ecx*2], 0
jne 0x46ccb0
xor eax, eax
test edi, edi
je 0x46cccb
cmp word [edi], ax
je 0x46cccb
inc eax
cmp word [edi + eax*2], 0
jne 0x46ccc3
mov edx, dword [ebp - 0x58]
add ecx, eax
test edx, edx
je 0x46ccea
xor eax, eax
cmp word [edx], ax
je 0x46cce8
lea eax, [ecx + 1]
mov dword [ebp - 0x35c], ecx
xor ecx, ecx
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, dword [ebp - 0x34]
add esp, 4
mov dword [ebp - 0x68], eax
mov ecx, eax
test edx, edx
je 0x46cd39
cmp eax, dword [ebp - 0x388]
jne 0x46d026
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46cdd2
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4cbfc4], 0
jne 0x46cde0
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46ce37
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4cbfc4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46ce20
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test eax, eax
jne 0x46ce60
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
push dword [ebp - 0x380]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push ecx
push dword [ebp - 0x368]
mov ecx, esi
push dword [ebp - 0x378]
push eax
lea eax, [ebp - 0x308]
push eax
call 0x46e690
cmp dword [ebp - 0x58], 0
jne 0x46cea4
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x50], 1
mov dword [ebp - 0x36c], edi
test edi, edi
jne 0x46ced3
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x36c], edi
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test esi, esi
jne 0x46cef6
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
test esi, esi
je 0x46cf28
cmp eax, dword [ebp - 0x370]
jne 0x46d296
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46d042
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4cbfd4], 0
jne 0x46d050
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46d0a7
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4cbfd4]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46d090
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test eax, eax
jne 0x46d0d0
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
push dword [ebp - 0x380]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push ecx
push dword [ebp - 0x368]
mov ecx, esi
push dword [ebp - 0x378]
push eax
lea eax, [ebp - 0x308]
push eax
call 0x46e690
cmp dword [ebp - 0x58], 0
jne 0x46d114
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x50], 1
mov dword [ebp - 0x36c], edi
test edi, edi
jne 0x46d143
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x36c], edi
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test esi, esi
jne 0x46d166
cmp eax, dword [ebp - 0x3b8]
jne 0x46d506
mov eax, dword [ebp - 0x40]
test eax, eax
je 0x46d2b2
push eax
call fcn.00489ed3
add esp, 4
mov byte [ebp - 0x38], 0
xor eax, eax
nop dword [eax + eax]
inc eax
cmp word [eax*2 + 0x4cc148], 0
jne 0x46d2c0
mov dword [ebp - 0x3c], eax
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0048a28e
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x3c]
xor ecx, ecx
mov dword [ebp - 0x40], edx
test eax, eax
jle 0x46d317
nop word [eax + eax]
mov ax, word [ecx*2 + 0x4cc148]
mov word [edx + ecx*2], ax
inc ecx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
cmp ecx, eax
jl 0x46d300
xor ecx, ecx
mov word [edx + eax*2], cx
mov eax, dword [ebp - 0x4c]
mov byte [ebp - 0x38], 1
test eax, eax
jne 0x46d340
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
push dword [ebp - 0x380]
lea ecx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push ecx
push dword [ebp - 0x368]
mov ecx, esi
push dword [ebp - 0x378]
push eax
lea eax, [ebp - 0x308]
push eax
call 0x46e690
cmp dword [ebp - 0x58], 0
jne 0x46d384
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov byte [ebp - 0x50], 1
mov dword [ebp - 0x36c], edi
test edi, edi
jne 0x46d3b3
mov ecx, dword [ebp - 0x368]
cmp eax, ecx
je 0x46d5ff
cmp eax, dword [ebp - 0x3b4]
je 0x46d5ff
cmp eax, dword [ebp - 0x3b0]
je 0x46d5ff
cmp eax, dword [ebp - 0x3ac]
je 0x46d5ff
cmp eax, dword [ebp - 0x3a8]
je 0x46d5ff
cmp eax, dword [ebp - 0x3a4]
je 0x46d5ff
mov eax, dword [ebp - 0x4c]
test eax, eax
jne 0x46d624
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
mov ecx, dword [ebp - 0x368]
push dword [ebp - 0x380]
lea edx, [ebp - 0x58]
mov byte [ebp - 0x44], 1
push edx
push ecx
push dword [ebp - 0x378]
mov ecx, esi
push eax
lea eax, [ebp - 0x308]
push eax
call 0x46e690
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x36c], edi
test edi, edi
jne 0x46d673
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x40], eax
xor ecx, ecx
mov word [eax], cx
mov edi, dword [ebp - 0x40]
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x36c], edi
cmp dword [ebp - 0x58], 0
mov byte [ebp - 0x38], 1
jne 0x46d692
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [ebp - 0x54], ecx
mov word [eax], cx
mov esi, dword [ebp - 0x4c]
mov byte [ebp - 0x50], 1
test esi, esi
jne 0x46d6b5
push 2
call fcn.0048a28e
add esp, 4
mov dword [ebp - 0x4c], eax
xor ecx, ecx
mov word [eax], cx
mov esi, dword [ebp - 0x4c]
mov dword [ebp - 0x48], ecx
mov eax, dword [ebp - 0x34]
xor ecx, ecx
mov byte [ebp - 0x44], 1
mov dword [ebp - 0x374], eax
mov dword [ebp - 0x34], 0
mov byte [ebp - 0x2c], 0
mov dword [ebp - 0x30], 0
test esi, esi
je 0x46d6e8
push 0
mov ecx, esi
call fcn.004284d0
test eax, eax
jne 0x46c8e0
jmp 0x46e4c6
pop edi
pop esi
pop ebx
leave
ret
push es
add eax, dword [ebp + 8]
jmp 0x46e485
push esp
invalid
xor edx, edx
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 8]
div ecx
test edx, edx
je 0x46e5de
je 0x46e5cc
invalid
invalid
inc dword [ebp - 0x8c]
imul ecx, dword [ebp - 0x8c]
mov dword [ebp + 0xc], ecx
mov byte [ebp - 0x40], bl
mov byte [ebp - 0x3f], bl
mov byte [ebp - 0x3e], 0xec
ror byte [eax + 0x45c6c15d], 0xc2
in al, dx
mov byte [ebp - 0x3d], bl
mov byte [ebp - 0x3c], 0x45
mov byte [ebp - 0x3b], 0x7a
mov byte [ebp - 0x3a], 0x61
mov byte [ebp - 0x39], 0x67
mov byte [ebp - 0x38], 0x66
mov byte [ebp - 0x37], 0x72
mov byte [ebp - 0x36], 0x7f
mov byte [ebp - 0x35], 0x52
mov byte [ebp - 0x34], 0x7f
mov byte [ebp - 0x33], 0x7f
mov byte [ebp - 0x32], 0x7c
mov byte [ebp - 0x31], 0x70
mov byte [ebp - 0x30], 0x13
call fcn.0046e2f0
idiv byte [edi - 0x40]
scasd eax, dword es:[edi]
lea eax, [ebp - 0x40]
push eax
call fcn.0046e300
push eax
push esi
push dword [ebp + 8]
call fcn.0046e2b5
add esp, 0x10
mov dword [ebp - 0x88], eax
call fcn.0046e2f0
mov ecx, 0x8ded0013
inc ebp
call 0x512f43e6
mov byte [ebp - 0x17], bl
mov byte [ebp - 0x16], 0x40
mov byte [ebp - 0x15], bl
mov byte [ebp - 0x14], 0xe9
mov byte [ebp - 0x13], 0xd6
mov byte [ebp - 0x12], 0xcd
mov byte [ebp - 0x11], 0xcb
mov byte [ebp - 0x10], 0xca
mov byte [ebp - 0xf], 0xde
mov byte [ebp - 0xe], 0xd3
mov byte [ebp - 0xd], 0xf9
mov byte [ebp - 0xc], 0xcd
mov byte [ebp - 0xb], 0xda
mov byte [ebp - 0xa], 0xda
mov byte [ebp - 9], 0xbf
call fcn.0046e300
push eax
push esi
push dword [ebp + 8]
call fcn.0046e2b5
mov dword [ebp - 8], eax
lea eax, [ebp - 0x6c]
push eax
mov byte [ebp - 0x6c], bl
mov byte [ebp - 0x6b], bl
mov byte [ebp - 0x6a], 0xbe
mov byte [ebp - 0x69], bl
mov byte [ebp - 0x68], 0x17
mov byte [ebp - 0x67], 0x28
mov byte [ebp - 0x66], 0x33
mov byte [ebp - 0x65], 0x35
mov byte [ebp - 0x64], 0x34
mov byte [ebp - 0x63], 0x20
mov byte [ebp - 0x62], 0x2d
mov byte [ebp - 0x61], 0x11
mov byte [ebp - 0x60], 0x33
mov byte [ebp - 0x5f], 0x2e
mov byte [ebp - 0x5e], 0x35
mov byte [ebp - 0x5d], 0x24
mov byte [ebp - 0x5c], 0x22
mov byte [ebp - 0x5b], 0x35
mov byte [ebp - 0x5a], 0x41
call fcn.0046e300
push eax
push esi
push dword [ebp + 8]
call fcn.0046e2b5
mov dword [ebp - 0xbc], eax
lea eax, [ebp - 0x2c]
mov byte [ebp - 0x2c], bl
push eax
mov byte [ebp - 0x2b], bl
mov byte [ebp - 0x2a], 0xd4
mov byte [ebp - 0x29], bl
mov byte [ebp - 0x28], 0x67
mov byte [ebp - 0x27], 0x44
mov byte [ebp - 0x26], 0x4a
mov byte [ebp - 0x25], 0x4f
mov byte [ebp - 0x24], 0x67
mov byte [ebp - 0x23], 0x42
mov byte [ebp - 0x22], 0x49
mov byte [ebp - 0x21], 0x59
mov byte [ebp - 0x20], 0x4a
mov byte [ebp - 0x1f], 0x59
mov byte [ebp - 0x1e], 0x52
mov byte [ebp - 0x1d], 0x6a
mov byte [ebp - 0x1c], 0x2b
call fcn.0046e300
push eax
push esi
push dword [ebp + 8]
call fcn.0046e2b5
add esp, 0x30
mov dword [ebp - 0xb8], eax
call fcn.0046e2f0
salc
inc ecx
mov ebp, 0xff7c9d88
invalid
invalid
invalid