Function at 0x412431
Capabilities:
Encrypt data using rc4 ksa

Disassembly:
mov eax, 0x455dd0
call fcn.00434704
sub esp, 0x130
push ebx
mov ebx, ecx
cmp dword [ebx + 0xaa0], 0
jne 0x412454
xor eax, eax
jmp 0x4154e6
mov eax, dword [0x467d30]
push esi
push edi
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x38]
push eax
lea ecx, [ebx + 0xa94]
call fcn.0041561b
mov esi, eax
lea edi, [ebp - 0x2c]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov eax, dword [ebp - 0x2c]
cmp eax, 0x12
jg 0x4146b4
je 0x414607
add eax, 0xfffffff6
cmp eax, 7
ja case.default.0x412497
jmp dword [eax*4 + 0x4154f3]
mov esi, dword [ebp - 0x24]
movzx eax, byte [esi + 0x55]
movzx edi, byte [esi + 0x54]
cmp dword [0x46aee4], eax
mov dword [0x46aee0], edi
movzx eax, byte [esi + 0x55]
mov dword [0x46aee4], eax
mov eax, dword [ebx + 0xb1c]
sete byte [ebp - 0x11]
lea edx, [eax - 1]
test edx, edx
jl 0x41262b
mov edi, dword [ebx + 0xb18]
mov ecx, eax
shl ecx, 5
lea ecx, [ecx + edi - 0x20]
mov dword [ebp - 0x18], ecx
mov ecx, dword [ecx + 4]
shr ecx, 0xa
test cl, 1
je 0x412530
test edx, edx
jle 0x412530
cmp byte [ebp - 0x11], 0
je 0x41250f
lea ecx, [eax - 2]
lea eax, [esi + 0x34]
shl ecx, 5
add ecx, edi
push eax
call fcn.00415525
test al, al
jne 0x41256c
mov eax, dword [ebp - 0x24]
push 8
pop ecx
lea edi, [ebp - 0xdc]
lea esi, [eax + 0x34]
push 8
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x18]
pop ecx
lea esi, [ebp - 0xdc]
rep movsd dword es:[edi], dword [esi]
jmp 0x412569
cmp byte [ebp - 0x11], 0
je 0x412546
mov ecx, dword [ebp - 0x18]
lea eax, [esi + 0x34]
push eax
call fcn.00415525
test al, al
jne 0x41256c
mov eax, dword [ebp - 0x24]
push 8
pop ecx
lea edi, [ebp - 0x13c]
lea esi, [eax + 0x34]
lea eax, [ebp - 0x13c]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebx + 0xb14]
call fcn.00407028
mov esi, dword [ebp - 0x24]
cmp byte [0x46aeec], 0
je 0x41261e
mov eax, dword [ebx + 0xb1c]
mov ecx, dword [ebx + 0xb18]
shl eax, 5
mov eax, dword [eax + ecx - 0x1c]
shr eax, 0xa
test al, 1
jne 0x41261e
push 4
lea eax, [ebp - 0x11c]
pop ecx
and dword [eax], 0
and dword [eax + 4], 0
add eax, 8
dec ecx
jne 0x4125a0
lea eax, [ebp - 0x11c]
lea ecx, [ebx + 0xb14]
push eax
call fcn.00407028
xor ecx, ecx
cmp dword [0x46679c], ecx
jle 0x4125ea
mov eax, dword [ebx + 0xb1c]
mov edx, dword [ebx + 0xb18]
lea eax, [ecx + eax*4]
or byte [edx + eax*8 - 0x1b], 4
lea eax, [edx + eax*8 - 0x20]
inc ecx
cmp ecx, dword [0x46679c]
jl 0x4125c9
cmp byte [0x46aeec], 0
je 0x412603
mov eax, dword [0x46aee4]
shl eax, 4
mov eax, dword [eax + 0x45a474]
jmp 0x412606
push 3
pop eax
mov ecx, dword [ebx + 0xb1c]
lea eax, [eax + ecx*4]
mov ecx, dword [ebx + 0xb18]
or byte [ecx + eax*8 - 0x1b], 2
lea eax, [ecx + eax*8 - 0x20]
mov ecx, ebx
call fcn.00422135
mov edi, dword [0x46aee0]
cmp dword [0x46679c], 0
jle 0x4126a5
mov dword [ebp - 0x1c], 0xffffffdc
lea ecx, [esi + 0x18]
sub dword [ebp - 0x1c], esi
and dword [ebp - 0x14], 0
lea eax, [esi + 0x24]
mov dword [ebp - 0x18], 0x46adc0
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 0x1c]
mov dl, byte [eax - 4]
add ecx, eax
mov byte [ecx + 0x46adb4], dl
mov dl, byte [eax]
mov byte [ecx + 0x46adb0], dl
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + 4]
inc eax
mov byte [edx + 0x46adac], cl
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x18]
add dword [ebp - 0x20], 2
mov cx, word [ecx]
add dword [ebp - 0x18], 2
mov word [edx], cx
mov edx, dword [ebp - 0x14]
mov cl, byte [eax + 7]
inc dword [ebp - 0x14]
mov byte [edx + 0x46ada8], cl
mov ecx, dword [ebp - 0x1c]
add ecx, eax
cmp ecx, dword [0x46679c]
jl 0x412652
mov al, byte [esi + 0x30]
cmp edi, 2
mov byte [0x46adb9], al
jl 0x4126b6
xor edi, edi
jmp 0x4126b7
inc edi
test edi, edi
sete al
mov byte [0x46ad7c], al
mov byte [0x46adb8], 1
xor esi, esi
cmp byte [0x46aeec], 0
je 0x4126e4
mov eax, dword [0x46aee4]
lea eax, [esi + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4126e6
mov eax, esi
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.00418589
inc esi
cmp esi, 3
jl 0x4126ca
mov eax, dword [ebp - 0x24]
xor esi, esi
and dword [ebp - 0x1c], 0
mov edi, eax
xor ecx, ecx
mov dword [ebp - 0x20], ecx
mov dl, byte [edi]
push 1
pop eax
shl eax, cl
test dl, al
je 0x412750
mov al, byte [ebp - 0x1c]
cmp byte [0x46aeec], 0
mov byte [ebp - 0x18], cl
mov byte [ebp - 0x17], al
je 0x41273a
mov eax, dword [0x46aee4]
lea eax, [esi + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x41273c
mov eax, esi
lea ecx, [ebp - 0x18]
push ecx
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.00418359
mov ecx, dword [ebp - 0x20]
inc ecx
cmp ecx, 5
mov dword [ebp - 0x20], ecx
jle 0x41270c
inc dword [ebp - 0x1c]
inc edi
cmp dword [ebp - 0x1c], 4
jl 0x412707
inc esi
mov eax, edi
cmp esi, 3
jl 0x412701
mov eax, dword [ebx + 0x11c]
xor ecx, ecx
mov dword [ebx + 0x118], eax
mov dword [ebx + 0x120], ecx
mov ax, word [0x46ae90]
mov edi, 0x46aec8
mov dx, ax
or dword [0x46aea4], 0xffffffff
shl edx, 0x10
mov dx, ax
or dword [0x46aea0], 0xffffffff
mov eax, edx
or dword [0x46ae94], 0xffffffff
stosd dword es:[edi], eax
stosw word es:[edi], ax
xor eax, eax
mov edi, 0x46aea8
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov edi, 0x46aeb4
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov dword [0x46ae9c], ecx
mov dword [0x46ae98], ecx
mov dword [ebx + 0x100], ecx
mov eax, dword [0x469688]
mov ecx, dword [0x46968c]
mov edx, dword [0x466510]
mov edi, dword [0x466514]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
add eax, edx
add ecx, edi
cmp byte [0x46aeec], 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
je 0x412816
mov eax, dword [0x46aee4]
shl eax, 4
mov eax, dword [eax + 0x45a468]
jmp 0x412818
xor eax, eax
imul eax, eax, 0x9c
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + ebx + 0x378]
call fcn.00407611
mov eax, dword [0x469690]
mov ecx, dword [0x469694]
mov edx, dword [0x466510]
mov edi, dword [0x466514]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
add eax, edx
add ecx, edi
cmp byte [0x46aeec], 0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
je 0x41286e
mov eax, dword [0x46aee4]
shl eax, 4
mov eax, dword [eax + 0x45a46c]
jmp 0x412871
push 1
pop eax
imul eax, eax, 0x9c
lea ecx, [ebp - 0x78]
push ecx
lea ecx, [eax + ebx + 0x378]
call fcn.00407611
mov eax, dword [0x469698]
mov ecx, dword [0x46969c]
mov edx, dword [0x466510]
mov edi, dword [0x466514]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
add eax, edx
add ecx, edi
cmp byte [0x46aeec], 0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
je 0x4128c7
mov eax, dword [0x46aee4]
shl eax, 4
mov eax, dword [eax + 0x45a470]
jmp 0x4128ca
push 2
pop eax
imul eax, eax, 0x9c
lea ecx, [ebp - 0x58]
push ecx
lea ecx, [eax + ebx + 0x378]
call fcn.00407611
cmp byte [0x46aeec], 0
je 0x412934
mov eax, dword [0x4696a0]
mov edx, dword [0x466510]
mov dword [ebp - 0x68], eax
add eax, edx
mov dword [ebp - 0x60], eax
mov eax, dword [0x46aee4]
mov ecx, dword [0x4696a4]
mov edi, dword [0x466514]
shl eax, 4
mov dword [ebp - 0x64], ecx
add ecx, edi
mov eax, dword [eax + 0x45a474]
mov dword [ebp - 0x5c], ecx
imul eax, eax, 0x9c
lea ecx, [ebp - 0x68]
push ecx
lea ecx, [eax + ebx + 0x378]
call fcn.00407611
xor esi, esi
lea ecx, [ebx + 0x750]
push esi
call fcn.00447bc3
push esi
push esi
mov ecx, ebx
call fcn.00422bcb
mov dword [ebx + 0x108], esi
mov dword [ebx + 0xe8], 1
jmp 0x414c7e
test byte [0x46a82b], 1
mov esi, dword [ebp - 0x24]
mov dword [ebp - 0x14], 0xa
je 0x412a3e
cmp dword [esi], 0x64
jne 0x412a3e
mov eax, dword [0x46aee0]
cmp eax, 2
jge 0x412993
inc eax
test eax, eax
jne 0x412a3e
mov eax, dword [0x46679c]
xor edi, edi
test eax, eax
jle 0x4129b7
mov ecx, 0x46adc0
mov dx, word [ecx]
cmp dx, word [0x46a83e]
jne 0x4129b2
push 1
pop edi
inc ecx
inc ecx
dec eax
jne 0x4129a3
test byte [0x46a828], 1
mov eax, dword [0x46aee4]
mov dl, byte [0x46aeec]
je 0x4129ef
test dl, dl
je 0x4129dc
mov ecx, eax
shl ecx, 4
mov ecx, dword [ecx + 0x45a468]
jmp 0x4129de
xor ecx, ecx
mov cx, word [ecx*2 + 0x46adc0]
cmp cx, word [0x46a82c]
jl 0x412a25
mov cl, byte [0x46a836]
test cl, 8
je 0x412a1c
test dl, dl
je 0x412a09
shl eax, 4
mov eax, dword [eax + 0x45a468]
jmp 0x412a0b
xor eax, eax
mov ax, word [eax*2 + 0x46adc0]
cmp ax, word [0x46a838]
jl 0x412a25
test cl, 0x10
jne 0x412a65
test edi, edi
je 0x412a65
and byte [0x46ad7c], 0
push 1
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [esi + 8], 0
je 0x412a7f
push 0x1d
lea ecx, [ebp - 0x10]
call fcn.00448dec
xor edi, edi
push edi
push 0x24
push dword [ebp - 0x10]
call fcn.0044b298
cmp eax, 6
jne 0x412a81
mov dword [ebp - 0x14], edi
jmp 0x412a81
mov esi, dword [ebp - 0x24]
push 5
lea edi, [ebx + 0xb3c]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
call fcn.00421a9c
jmp case.default.0x412497
xor edi, edi
cmp word [ebp - 0x14], 0xa
jne 0x412b18
cmp dword [esi + 0xc], edi
je 0x412ac5
movsx eax, word [0x46a830]
push eax
lea eax, [ebp - 0x10]
push 0x1e
push eax
call fcn.0044217b
add esp, 0xc
push edi
push 0x24
push dword [ebp - 0x10]
call fcn.0044b298
cmp eax, 6
jne 0x412abe
mov dword [ebp - 0x14], 1
cmp word [ebp - 0x14], 0xa
jne 0x412b18
mov eax, dword [esi + 0x10]
cmp eax, edi
je 0x412b0e
cmp eax, 0xffffffff
jne 0x412ad9
cmp dword [0x46a400], edi
jne 0x412ae6
mov cx, word [esi + 0x10]
cmp cx, 0xa
mov dword [ebp - 0x14], ecx
jne 0x412b18
cmp eax, edi
je 0x412b0e
cmp eax, 0xffffffff
jne 0x412b18
test byte [0x46a829], 0x80
je 0x412b0e
cmp byte [0x46adb9], 0
jl 0x412b0e
mov cx, word [esi + 0x10]
cmp cx, 0xa
mov dword [ebp - 0x14], ecx
jne 0x412b18
cmp eax, 0xffffffff
jne 0x412b18
push 1
pop eax
jmp 0x412b1a
xor eax, eax
cmp word [ebp - 0x14], 0xa
mov dword [ebx + 0xa34], eax
mov dword [ebx + 0xec], edi
jne 0x412b41
mov eax, dword [esi]
push edi
mov dword [0x46ae98], eax
mov ecx, ebx
call fcn.0040eae1
jmp case.default.0x412497
lea eax, [ebp - 0x14]
push 2
push eax
push 0xc
jmp 0x414b1b
mov eax, dword [ebp - 0x24]
mov dl, byte [0x46ad7c]
test byte [0x46a82b], 1
mov cx, word [eax]
je 0x412b99
mov eax, dword [0x46aee0]
cmp eax, 2
jl 0x412b71
xor eax, eax
jmp 0x412b72
inc eax
cmp eax, dword [ebx + 0xec]
jne 0x412b8c
cmp cx, 0xff88
jne 0x412b92
push 0x78
mov byte [0x46ad7c], 1
pop ecx
jmp 0x412b9f
cmp cx, 0x78
jle 0x412b99
and byte [0x46ad7c], 0
cmp cx, 0x64
jl 0x412bbc
mov eax, dword [ebx + 0xec]
movsx ecx, cx
mov dword [0x46ae94], eax
mov dword [eax*4 + 0x46aea8], ecx
mov dword [0x46ae98], ecx
jmp 0x412bcc
movsx eax, cx
mov ecx, dword [ebx + 0xec]
mov dword [ecx*4 + 0x46aea8], eax
cmp dl, byte [0x46ad7c]
push 1
pop edi
je 0x412bdf
push edi
mov ecx, ebx
call fcn.0040b9bc
xor esi, esi
cmp dword [ebx + 0xa78], esi
je 0x412c1a
mov eax, dword [ebx + 0xec]
lea ecx, [ebx + 0xab0]
mov dword [ebp - 0xb8], eax
mov dword [ebp - 0xbc], edi
mov eax, dword [eax*4 + 0x46aea8]
mov dword [ebp - 0xb4], eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00406ff6
mov eax, dword [ebx + 0xec]
mov ecx, dword [eax*4 + 0x46aea8]
cmp ecx, esi
jne 0x412d2a
mov ecx, eax
mov dword [ebx + 0x118], eax
shl edi, cl
mov ecx, ebx
push edi
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call esi
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0xec]
je 0x412c6b
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
xor edi, edi
cmp eax, edi
je 0x412cb4
push 0x1f
lea ecx, [ebp - 0x10]
call fcn.00448dec
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0xec]
je 0x412c9a
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
cmp dword [ebx + 0xa78], edi
jle 0x412cd1
mov eax, dword [ebx + 0xec]
mov ecx, ebx
push eax
push dword [eax*4 + 0x46aea8]
call fcn.0041fb58
push 0xffff
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov dword [ebx + 0x108], edi
call esi
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0xec]
je 0x412d07
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea eax, [eax + eax*2]
push edi
shl eax, 5
inc dword [eax + 0x46a6e4]
push edi
lea eax, [eax + 0x46a6e4]
mov eax, dword [0x46aee0]
mov dword [0x46aedc], eax
jmp 0x414aad
cmp ecx, edi
jne 0x412e11
mov ecx, dword [ebx + 0xec]
mov dword [ebx + 0x118], eax
mov eax, edi
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call esi
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0xec]
je 0x412d76
mov ecx, dword [0x46aee4]
lea ecx, [eax + ecx*4]
mov ecx, dword [ecx*4 + 0x45a468]
jmp 0x412d78
mov ecx, eax
test ecx, ecx
je 0x412de0
and dword [eax*4 + 0x46aea8], 0
movsx eax, word [0x46a830]
push eax
lea eax, [ebp - 0x10]
push 0x20
push eax
call fcn.0044217b
mov eax, dword [ebx + 0xec]
add esp, 0xc
cmp byte [0x46aeec], 0
je 0x412db9
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
mov eax, dword [ebx + 0xec]
mov dword [eax*4 + 0x46aea8], edi
cmp dword [ebx + 0xa78], 0
jle 0x412dfe
mov eax, dword [ebx + 0xec]
mov ecx, ebx
push eax
push dword [eax*4 + 0x46aea8]
call fcn.0041fb58
push 0xffff
mov ecx, ebx
call fcn.0040b9bc
xor edi, edi
jmp 0x412cdd
cmp dword [ebx + 0xa78], esi
jle 0x412e22
push eax
push ecx
mov ecx, ebx
call fcn.0041fb58
mov ecx, dword [ebx + 0xec]
push 8
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebx + 0xec]
cmp eax, 2
jl 0x412e4d
xor eax, eax
jmp 0x412e4e
inc eax
push esi
push 0x1f4
push edi
mov dword [ebx + 0xec], eax
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebx + 0x54], eax
jmp case.default.0x412497
mov esi, dword [ebp - 0x24]
mov edi, dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [eax*4 + 0x46aea8], ecx
cmp dword [esi + 4], 0
jne 0x412ee2
mov eax, dword [esi]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [esi]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call edi
push 0x1f
lea ecx, [ebp - 0x10]
call fcn.00448dec
cmp byte [0x46aeec], 0
mov eax, dword [esi]
je 0x412ec8
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
cmp dword [esi + 4], 1
jne 0x412f4f
mov eax, dword [esi]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [esi]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call edi
movsx eax, word [0x46a830]
push eax
lea eax, [ebp - 0x10]
push 0x20
push eax
call fcn.0044217b
mov eax, dword [esi]
add esp, 0xc
cmp byte [0x46aeec], 0
je 0x412f35
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
mov esi, dword [esi + 4]
test esi, esi
je case.default.0x412497
cmp esi, 1
je case.default.0x412497
mov al, byte [0x46ad7c]
mov esi, dword [ebp - 0x24]
push 8
mov byte [ebp - 0x11], al
mov ecx, dword [esi]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
cmp dword [esi + 4], 0
jle 0x412f9e
cmp byte [esi + 8], 0
je 0x412f90
mov byte [0x46ad7c], 1
mov eax, dword [esi + 4]
mov dword [ebx + 0xec], eax
mov dword [0x46ae98], eax
mov eax, dword [0x46aee0]
cmp eax, 2
jl 0x412fac
xor eax, eax
jmp 0x412fad
inc eax
cmp eax, dword [esi]
jne 0x412fb9
cmp dword [esi + 4], 0x78
jle 0x412fcf
jmp 0x412fbf
cmp dword [esi + 4], 0x78
jl 0x412fcf
test byte [0x46a82b], 1
je 0x412fcf
and byte [0x46ad7c], 0
mov al, byte [0x46ad7c]
cmp byte [ebp - 0x11], al
je 0x412fe2
push 1
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
jmp 0x414780
mov esi, dword [ebp - 0x24]
push 6
mov edi, 0x46aec0
lea eax, [esi + 4]
push eax
push edi
call fcn.00434970
mov eax, dword [esi]
add esp, 0xc
cmp byte [0x46aeec], 0
mov dword [0x46ae94], eax
je 0x413047
mov eax, dword [0x46aee4]
push 6
shl eax, 4
push edi
mov esi, dword [eax + 0x45a474]
add esi, 2
imul esi, esi, 0x94
add esi, ebx
lea eax, [esi + 0x74]
push eax
mov dword [ebp - 0x18], eax
call fcn.00434970
push dword [ebp - 0x18]
call fcn.0042493e
add esp, 0x10
mov dword [esi + 0x7c], eax
xor esi, esi
cmp dword [ebx + 0xa78], esi
jne 0x4130f6
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xbc], esi
mov dword [ebp - 0x18], eax
cmp byte [0x46aeec], 0
je 0x41307e
mov eax, dword [0x46aee4]
lea eax, [esi + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413080
mov eax, esi
lea ecx, [eax + 2]
push 4
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
push eax
push dword [ebp - 0x18]
call fcn.00434970
add dword [ebp - 0x18], 4
add esp, 0xc
inc esi
cmp esi, 3
jl 0x413064
push 6
lea eax, [ebp - 0xac]
push edi
push eax
call fcn.00434970
add esp, 0xc
lea eax, [ebp - 0xbc]
lea ecx, [ebx + 0xab0]
push eax
call fcn.00406ff6
mov eax, 0x46ad8c
mov esi, edi
mov cl, byte [esi + 1]
mov dl, byte [esi]
and cl, 3
shl dl, 2
or cl, dl
inc esi
mov byte [eax], cl
inc esi
add eax, 9
cmp esi, 0x46aec6
jl 0x4130d3
mov byte [0x46ad80], 0xf
mov esi, 0x100
mov ecx, ebx
push esi
mov dword [ebx + 0xe8], 0xc
mov dword [ebx + 0x108], 2
call fcn.0040b9bc
mov eax, dword [0x46a82a]
test ah, 4
je 0x41312a
cmp dword [0x46ae98], 0x64
je 0x41313d
test ah, 8
je 0x413146
test si, ax
je 0x413146
cmp byte [0x46ad7c], 0
je 0x413146
mov byte [0x46adb8], 1
jmp 0x41314d
and byte [0x46adb8], 0
push 6
push edi
push 0x46aec8
call fcn.00434970
add esp, 0xc
mov ecx, ebx
push 0x6040
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov edi, dword [sym.imp.USER32.dll_UpdateWindow]
call edi
xor esi, esi
xor ecx, ecx
mov eax, 0x46aea8
cmp ecx, dword [0x46ae94]
je 0x413187
mov dword [eax], esi
add eax, 4
inc ecx
cmp eax, 0x46aeb4
jl 0x41317d
push 0x38
mov ecx, ebx
call fcn.0040b9bc
cmp dword [0x46ae94], esi
jne 0x4131b5
cmp byte [0x46ad7c], 0
je 0x4131b5
push 1
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call edi
cmp dword [0x46a3dc], esi
je 0x4131e5
cmp byte [0x46aeec], 0
je 0x4131e5
mov eax, dword [0x46aee4]
shl eax, 4
cmp dword [eax + 0x45a474], esi
jne 0x4131e5
push 0x12c
jmp 0x414cdf
cmp dword [0x46a3e8], esi
je case.default.0x412497
push dword [0x46a3e0]
jmp 0x414cdf
mov edi, 0x46aec0
xor eax, eax
mov ecx, edi
mov esi, 0x46aec6
movsx edx, byte [ecx]
add eax, dword [edx*4 + 0x4667b0]
inc ecx
inc ecx
cmp ecx, esi
jl 0x41320a
movsx ecx, word [0x46a82e]
cmp eax, ecx
jge 0x41328c
test byte [0x46a828], 2
je 0x41328c
cmp dword [0x46ae98], 0x64
je 0x413240
test byte [0x46a82a], 2
jne 0x41328c
push ecx
lea eax, [ebp - 0x10]
push 0x21
push eax
call fcn.0044217b
add esp, 0xc
mov ecx, ebx
push 0x24
push 0x469684
push dword [ebp - 0x10]
call fcn.00421f9f
cmp eax, 6
jne 0x41357c
push 3
lea eax, [ebp - 0x34]
pop ecx
or byte [eax], 0xff
or byte [eax + 1], 0xff
inc eax
inc eax
dec ecx
jne 0x41326f
mov byte [ebp - 0x2e], 0x31
push 0xc
lea eax, [ebp - 0x38]
push eax
push 0x10
jmp 0x414b1b
and dword [ebp - 0x18], 0
mov eax, edi
movsx ecx, byte [eax]
xor edx, edx
cmp dword [ecx*4 + 0x4667b0], edx
sete dl
add dword [ebp - 0x18], edx
inc eax
inc eax
cmp eax, esi
jl 0x413292
cmp dword [ebp - 0x18], 1
jle 0x41330f
test byte [0x46a829], 2
je 0x41330f
cmp dword [0x46ae98], 0x64
je 0x4132cb
test byte [0x46a82a], 2
jne 0x41330f
push 0x22
lea ecx, [ebp - 0x10]
call fcn.00448dec
push 0x24
push 0x469684
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.00421f9f
cmp eax, 6
jne 0x41357c
push 3
lea eax, [ebp - 0x34]
pop ecx
or byte [eax], 0xff
or byte [eax + 1], 0xff
inc eax
inc eax
dec ecx
jne 0x4132f5
mov byte [ebp - 0x2e], 0x33
push 0xc
lea eax, [ebp - 0x38]
jmp 0x413284
mov eax, edi
cmp byte [eax], 0
je 0x41336e
inc eax
inc eax
cmp eax, esi
jl 0x413311
mov eax, edi
cmp byte [eax], 0
je 0x413481
inc eax
inc eax
cmp eax, esi
jl 0x41331e
cmp byte [0x46ad7c], 0
je 0x413481
test byte [0x46a828], 4
je 0x413481
cmp byte [0x46aeec], 0
je 0x413410
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413415
test byte [0x46a82b], 2
je 0x41331c
cmp byte [0x46aeec], 0
je 0x413397
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x41339c
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
push 0
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041ac9f
test al, al
je 0x41331c
cmp dword [0x46ae98], 0x64
je 0x4133cc
test byte [0x46a82a], 2
jne 0x41331c
push 0x1d
lea ecx, [ebp - 0x10]
call fcn.00448dec
push 0x24
push 0x469684
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.00421f9f
cmp eax, 6
jne 0x41357c
push 3
lea eax, [ebp - 0x34]
pop ecx
or byte [eax], 0xff
or byte [eax + 1], 0xff
inc eax
inc eax
dec ecx
jne 0x4133f6
mov byte [ebp - 0x2e], 0x34
push 0xc
lea eax, [ebp - 0x38]
jmp 0x413284
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
push 0
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041ac9f
test al, al
je 0x413481
cmp dword [0x46ae98], 0x64
je 0x41343d
test byte [0x46a82a], 2
jne 0x413481
push 0x1d
lea ecx, [ebp - 0x10]
call fcn.00448dec
push 0x24
push 0x469684
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.00421f9f
cmp eax, 6
jne 0x41357c
push 3
lea eax, [ebp - 0x34]
pop ecx
or byte [eax], 0xff
or byte [eax + 1], 0xff
inc eax
inc eax
dec ecx
jne 0x413467
mov byte [ebp - 0x2e], 0x36
push 0xc
lea eax, [ebp - 0x38]
jmp 0x413284
xor esi, esi
mov dword [ebp - 0x14], esi
and dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0x4667b0
cmp byte [0x46aeec], 0
je 0x4134b1
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4134b6
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
mov ecx, dword [ebp - 0x18]
push 1
pop edx
shl edx, cl
mov ecx, dword [ebp - 0x14]
test byte [eax + ecx], dl
je 0x4134db
mov eax, dword [ebp - 0x1c]
add esi, dword [eax]
add dword [ebp - 0x1c], 4
inc dword [ebp - 0x18]
cmp dword [ebp - 0x1c], 0x4667c4
jle 0x413491
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x413486
movsx eax, byte [edi]
sub esi, dword [eax*4 + 0x4667b0]
inc edi
inc edi
cmp edi, 0x46aec6
jl 0x4134f4
cmp byte [0x46ad7c], 0
je 0x41357c
test byte [0x46a828], 0x10
je 0x41357c
movsx eax, word [0x46a830]
cmp esi, eax
jge 0x41357c
cmp dword [0x46ae98], 0x64
je 0x413537
test byte [0x46a82a], 2
jne 0x41357c
push eax
lea eax, [ebp - 0x10]
push 0x1e
push eax
call fcn.0044217b
add esp, 0xc
mov ecx, ebx
push 0x24
push 0x469684
push dword [ebp - 0x10]
call fcn.00421f9f
cmp eax, 6
jne 0x41357c
push 3
lea eax, [ebp - 0x34]
pop ecx
or byte [eax], 0xff
or byte [eax + 1], 0xff
inc eax
inc eax
dec ecx
jne 0x413562
mov byte [ebp - 0x2e], 0x35
push 0xc
lea eax, [ebp - 0x38]
jmp 0x413284
xor esi, esi
mov dword [ebx + 0xe8], 2
cmp dword [0x46679c], esi
jle 0x4135ac
lea edi, [ebx + 0x128]
mov ecx, edi
call fcn.00417541
inc esi
add edi, 0x94
cmp esi, dword [0x46679c]
jl 0x413596
mov ax, word [0x46ae92]
mov edi, 0x46aec8
mov cx, ax
push 0x147
shl ecx, 0x10
mov cx, ax
mov eax, ecx
mov ecx, ebx
stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebx + 0x108], 5
call fcn.0040b9bc
push 0x38
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 1
jmp 0x412b35
mov esi, dword [ebp - 0x24]
mov al, byte [esi + 0xa]
cmp al, 0x31
jne 0x4136b5
cmp dword [ebx + 0xa78], 0
jle 0x413620
push 0x31
mov ecx, ebx
push dword [0x46ae98]
push dword [0x46ae94]
call fcn.0041fd75
push 6
push 0x46aec0
push 0x46aec8
call fcn.00434970
add esp, 0xc
mov ecx, ebx
push 0x40
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
movsx eax, word [0x46a82e]
push eax
push 0x23
lea eax, [ebp - 0x10]
push eax
call fcn.0044217b
add esp, 0xc
cmp byte [0x46aeec], 0
je 0x413bd5
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413bda
mov eax, dword [0x46ae94]
lea eax, [eax + eax*2]
shl eax, 5
inc dword [eax + 0x46a6e4]
lea eax, [eax + 0x46a6e4]
xor eax, eax
mov dword [ebx + 0x108], eax
mov ecx, dword [0x46aee0]
mov dword [0x46aedc], ecx
push eax
push eax
jmp 0x414aad
cmp al, 0x32
jne 0x41391b
cmp dword [ebx + 0xa78], 0
jle 0x4136db
push 0x32
mov ecx, ebx
push dword [0x46ae98]
push dword [0x46ae94]
call fcn.0041fd75
mov ax, word [0x46ae92]
mov edi, 0x46aec8
mov cx, ax
push 0x40
shl ecx, 0x10
mov cx, ax
mov eax, ecx
mov ecx, ebx
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp byte [0x46aeec], 0
je 0x413726
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x41372b
mov eax, dword [0x46ae94]
lea eax, [eax + eax*2]
push 0x24
shl eax, 5
inc dword [eax + 0x46a6e0]
lea ecx, [ebp - 0x10]
lea eax, [eax + 0x46a6e0]
call fcn.00448dec
cmp byte [0x46aeec], 0
je 0x413767
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x41376c
mov eax, dword [0x46ae94]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
test byte [0x46a829], 1
je 0x413794
push 0x3c
pop eax
jmp 0x4137ac
mov esi, dword [esi]
push 0xa
mov eax, esi
pop ecx
cdq
idiv ecx
lea eax, [esi + 5]
test edx, edx
jne 0x4137a7
mov eax, esi
cdq
sub eax, edx
sar eax, 1
mov ecx, dword [0x46ae94]
xor edi, edi
mov esi, 0x46aeb4
cmp edi, ecx
jne 0x4137cc
mov dl, byte [0x46a82a]
and dl, 0x10
neg dl
sbb edx, edx
jmp 0x4137ce
mov edx, eax
mov dword [esi], edx
add esi, 4
inc edi
cmp esi, 0x46aec0
jl 0x4137b9
cmp byte [0x46aeec], 0
je 0x4137f4
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov ecx, dword [eax*4 + 0x45a468]
inc byte [ecx + 0x46ada8]
test byte [0x46a82a], 0x40
je 0x413846
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x413823
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413825
mov eax, ecx
movzx eax, byte [eax + 0x46ada8]
push 3
cdq
pop esi
idiv esi
test edx, edx
jne 0x413846
movsx eax, word [0x46a83a]
neg eax
mov dword [ecx*4 + 0x46aeb4], eax
push 1
mov ecx, ebx
call fcn.00403061
cmp dword [ebx + 0xa78], 0
je 0x41389d
push 8
lea eax, [ebp - 0xac]
push 0x46adc0
push eax
mov dword [ebp - 0xbc], 4
call fcn.00434970
push 0xc
lea eax, [ebp - 0xb8]
push 0x46aeb4
push eax
call fcn.00434970
add esp, 0x18
lea eax, [ebp - 0xbc]
lea ecx, [ebx + 0xab0]
push eax
call fcn.00406ff6
mov eax, dword [0x46aee4]
mov edx, dword [0x46679c]
lea ecx, [eax + 1]
cmp ecx, edx
jl 0x4138b8
push 1
pop ecx
sub ecx, edx
add eax, ecx
jmp 0x4138ba
mov eax, ecx
cmp byte [0x46aeec], 0
mov dword [0x46aee4], eax
je 0x4138f3
shl eax, 4
mov ecx, dword [eax + 0x45a474]
lea esi, [ecx + 1]
cmp esi, edx
jl 0x4138da
sub ecx, edx
inc ecx
xor edx, edx
lea eax, [eax + 0x45a468]
cmp ecx, dword [eax]
je 0x413917
inc edx
add eax, 4
cmp edx, 4
jl 0x4138e3
or eax, 0xffffffff
mov dword [0x46aee0], eax
mov dword [0x46aedc], eax
cmp dword [ebx + 0xa78], 0
jle case.default.0x412497
xor eax, eax
mov dword [ebx + 0x108], eax
jmp 0x4136ae
mov eax, edx
jmp 0x4138f3
cmp al, 0x33
jne 0x41396a
cmp dword [ebx + 0xa78], 0
jle 0x41393d
push 0x33
mov ecx, ebx
push dword [0x46ae98]
push dword [0x46ae94]
call fcn.0041fd75
push 6
push 0x46aec0
push 0x46aec8
call fcn.00434970
add esp, 0xc
mov ecx, ebx
push 0x40
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x25
jmp 0x413aa8
cmp al, 0x34
jne 0x413995
cmp dword [ebx + 0xa78], 0
jle 0x413a7f
push 0x34
mov ecx, ebx
push dword [0x46ae98]
push dword [0x46ae94]
call fcn.0041fd75
jmp 0x413a7f
cmp al, 0x36
jne 0x413ab5
cmp dword [ebx + 0xa78], 0
jle 0x4139bb
push 0x36
mov ecx, ebx
push dword [0x46ae98]
push dword [0x46ae94]
call fcn.0041fd75
mov edi, 0x46aec0
cmp byte [0x46aeec], 0
je 0x4139e0
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4139e5
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
movsx ecx, byte [edi + 1]
lea esi, [eax + ecx]
mov al, 1
movsx ecx, byte [edi]
shl al, cl
not al
and byte [esi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x413a27
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413a29
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x14c]
je 0x413a5c
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413a5e
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x140]
inc edi
lea eax, [ebx + eax*4 + 0x140]
inc edi
cmp edi, 0x46aec6
jl 0x4139c0
mov eax, dword [0x46ae94]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [0x46ae94]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x1f
lea ecx, [ebp - 0x10]
call fcn.00448dec
jmp 0x41365c
cmp al, 0x35
jne 0x413c28
cmp dword [ebx + 0xa78], 0
jle 0x413adb
push 0x35
mov ecx, ebx
push dword [0x46ae98]
push dword [0x46ae94]
call fcn.0041fd75
mov edi, 0x46aec0
cmp byte [0x46aeec], 0
je 0x413b00
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413b05
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
movsx ecx, byte [edi + 1]
lea esi, [eax + ecx]
mov al, 1
movsx ecx, byte [edi]
shl al, cl
not al
and byte [esi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x413b47
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413b49
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x14c]
je 0x413b7c
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413b7e
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x140]
inc edi
lea eax, [ebx + eax*4 + 0x140]
inc edi
cmp edi, 0x46aec6
jl 0x413ae0
mov eax, dword [0x46ae94]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [0x46ae94]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
movsx eax, word [0x46a830]
push eax
push 0x20
jmp 0x413650
mov eax, dword [0x46ae94]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
cmp dword [ebx + 0xa78], 0
jle case.default.0x412497
cmp byte [0x46aeec], 0
je 0x413683
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413688
mov eax, dword [0x46ae94]
xor edx, edx
mov dword [ebp - 0x14], edx
lea edi, [eax + eax]
mov ecx, dword [ebp - 0x14]
sub ecx, eax
mov ecx, edx
jns 0x413c45
sub ecx, edi
add ecx, 6
jmp 0x413c47
sub ecx, edi
mov cx, word [ecx + esi + 4]
inc dword [ebp - 0x14]
mov word [edx + 0x46aec8], cx
inc edx
inc edx
cmp edx, 6
jl 0x413c35
cmp eax, 2
jl 0x413c66
xor edx, edx
jmp 0x413c69
lea edx, [eax + 1]
cmp byte [0x46aeec], 0
je 0x413c82
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x25
add eax, edx
inc dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
lea eax, [ebx + eax*4 + 0x14c]
je 0x413cb5
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413cba
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
add eax, edx
inc dword [ebx + eax*4 + 0x140]
cmp byte [0x46aeec], 0
lea eax, [ebx + eax*4 + 0x140]
je 0x413ced
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413cf2
mov eax, dword [0x46ae94]
movsx ecx, byte [esi + 7]
imul eax, eax, 0x25
mov edi, ebx
add eax, edx
add edi, ecx
movsx ecx, byte [esi + 6]
lea edi, [edi + eax*4 + 0x130]
mov al, 1
shl al, cl
or byte [edi], al
cmp edx, 2
jl 0x413d19
xor edx, edx
jmp 0x413d1a
inc edx
cmp byte [0x46aeec], 0
je 0x413d3a
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413d3f
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
add eax, edx
inc dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
lea eax, [ebx + eax*4 + 0x14c]
je 0x413d72
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413d77
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
add eax, edx
inc dword [ebx + eax*4 + 0x140]
cmp byte [0x46aeec], 0
lea eax, [ebx + eax*4 + 0x140]
je 0x413daa
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413daf
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
movsx ecx, byte [esi + 9]
add eax, edx
mov edx, ebx
add edx, ecx
movsx ecx, byte [esi + 8]
lea edi, [edx + eax*4 + 0x130]
mov al, 1
shl al, cl
or byte [edi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x413ded
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413def
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
mov edx, ebx
movsx ecx, byte [esi + 7]
add edx, ecx
movsx ecx, byte [esi + 6]
lea edi, [edx + eax*4 + 0x130]
mov al, 1
shl al, cl
not al
and byte [edi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x413e2f
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413e31
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x14c]
je 0x413e64
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413e66
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x140]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x140]
je 0x413e99
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413e9b
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
mov edx, ebx
movsx ecx, byte [esi + 9]
add edx, ecx
movsx ecx, byte [esi + 8]
lea edi, [edx + eax*4 + 0x130]
mov al, 1
shl al, cl
not al
and byte [edi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x413edb
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413edd
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x14c]
je 0x413f10
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x413f12
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x140]
mov ecx, ebx
lea eax, [ebx + eax*4 + 0x140]
mov al, byte [esi + 0xa]
push eax
push dword [esi]
push dword [0x46ae94]
call fcn.0041fd75
xor eax, eax
mov edi, 0x46aea8
mov dword [ebx + 0xe8], 4
mov ecx, dword [0x46ae94]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov edi, 0x46aeb4
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 1
stosd dword es:[edi], eax
mov esi, dword [esi]
pop eax
shl eax, cl
mov dword [ecx*4 + 0x46aea8], esi
mov ecx, ebx
mov dword [0x46ae98], esi
or al, 0x40
push eax
call fcn.0040b9bc
push 0x38
mov ecx, ebx
call fcn.0040b9bc
push 0x100
mov ecx, ebx
mov dword [ebx + 0x108], 2
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [0x46a3dc], 0
je 0x413fc9
cmp byte [0x46aeec], 0
je 0x413fc9
mov eax, dword [0x46aee4]
shl eax, 4
cmp dword [eax + 0x45a474], 0
je 0x4131db
cmp dword [0x46a3e8], 0
jmp 0x4131eb
mov edi, dword [ebp - 0x24]
mov al, byte [edi + 0xa]
cmp al, 0x31
jne 0x414014
push 6
push 0x46aec0
push 0x46aec8
call fcn.00434970
add esp, 0xc
mov ecx, ebx
push 0x40
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
movsx eax, word [0x46a82e]
push eax
push 0x23
jmp 0x41427f
cmp al, 0x32
jne 0x414052
mov ax, word [0x46ae92]
mov edi, 0x46aec8
mov cx, ax
push 0x40
shl ecx, 0x10
mov cx, ax
mov eax, ecx
mov ecx, ebx
stosd dword es:[edi], eax
stosw word es:[edi], ax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x24
lea ecx, [ebp - 0x10]
call fcn.00448dec
jmp 0x41428b
cmp al, 0x33
jne 0x414080
push 6
push 0x46aec0
push 0x46aec8
call fcn.00434970
add esp, 0xc
mov ecx, ebx
push 0x40
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x25
jmp 0x414045
cmp al, 0x34
je 0x414154
cmp al, 0x36
jne 0x414182
mov edi, 0x46aec0
cmp byte [0x46aeec], 0
je 0x4140b5
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4140ba
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
movsx ecx, byte [edi + 1]
lea esi, [eax + ecx]
mov al, 1
movsx ecx, byte [edi]
shl al, cl
not al
and byte [esi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x4140fc
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4140fe
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x14c]
je 0x414131
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x414133
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x140]
inc edi
lea eax, [ebx + eax*4 + 0x140]
inc edi
cmp edi, 0x46aec6
jl 0x414095
mov eax, dword [0x46ae94]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [0x46ae94]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x1f
jmp 0x414045
cmp al, 0x35
jne 0x4142cf
mov edi, 0x46aec0
cmp byte [0x46aeec], 0
je 0x4141af
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4141b4
mov eax, dword [0x46ae94]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
movsx ecx, byte [edi + 1]
lea esi, [eax + ecx]
mov al, 1
movsx ecx, byte [edi]
shl al, cl
not al
and byte [esi], al
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x4141f6
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4141f8
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x14c]
je 0x41422b
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x41422d
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x140]
inc edi
lea eax, [ebx + eax*4 + 0x140]
inc edi
cmp edi, 0x46aec6
jl 0x41418f
mov eax, dword [0x46ae94]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [0x46ae94]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
movsx eax, word [0x46a830]
push eax
push 0x20
lea eax, [ebp - 0x10]
push eax
call fcn.0044217b
add esp, 0xc
cmp byte [0x46aeec], 0
je 0x4142ab
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4142b0
mov eax, dword [0x46ae94]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
jmp case.default.0x412497
mov eax, dword [0x46ae94]
cmp eax, 2
jl 0x4142dd
xor esi, esi
jmp 0x4142e0
lea esi, [eax + 1]
cmp byte [0x46aeec], 0
je 0x4142f9
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x25
add eax, esi
inc dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
lea eax, [ebx + eax*4 + 0x14c]
je 0x41432c
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x414331
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
add eax, esi
inc dword [ebx + eax*4 + 0x140]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x140]
je 0x414364
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x414366
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
mov edx, ebx
movsx ecx, byte [edi + esi*2 + 5]
add edx, ecx
movsx ecx, byte [edi + esi*2 + 4]
lea eax, [edx + eax*4 + 0x130]
mov dl, 1
shl dl, cl
not dl
and byte [eax], dl
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x4143a8
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4143aa
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
cmp esi, 2
lea eax, [ebx + eax*4 + 0x14c]
jl 0x4143c6
xor esi, esi
jmp 0x4143c7
inc esi
cmp byte [0x46aeec], 0
je 0x4143e7
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4143ec
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
add eax, esi
inc dword [ebx + eax*4 + 0x14c]
cmp byte [0x46aeec], 0
lea eax, [ebx + eax*4 + 0x14c]
je 0x41441f
mov eax, dword [0x46aee4]
mov ecx, dword [0x46ae94]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x414424
mov eax, dword [0x46ae94]
imul eax, eax, 0x25
add eax, esi
inc dword [ebx + eax*4 + 0x140]
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
lea eax, [ebx + eax*4 + 0x140]
je 0x414457
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x414459
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
mov edx, ebx
movsx ecx, byte [edi + esi*2 + 5]
add edx, ecx
movsx ecx, byte [edi + esi*2 + 4]
lea eax, [edx + eax*4 + 0x130]
mov dl, 1
shl dl, cl
not dl
and byte [eax], dl
cmp byte [0x46aeec], 0
mov ecx, dword [0x46ae94]
je 0x41449b
mov eax, dword [0x46aee4]
lea eax, [ecx + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x41449d
mov eax, ecx
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
push 6
mov esi, 0x46aec8
lea eax, [ebx + eax*4 + 0x14c]
lea eax, [edi + 4]
push eax
push esi
call fcn.00434970
mov eax, dword [0x46ae94]
mov ecx, dword [edi]
add esp, 0xc
xor edi, edi
mov dword [eax*4 + 0x46aea8], ecx
mov dword [0x46aedc], eax
or dword [ebx + 0xfc], 0xffffffff
push 9
mov dword [ebx + 0x104], eax
mov dword [ebx + 0x100], edi
mov ecx, dword [0x46ae94]
pop eax
shl eax, cl
mov ecx, ebx
or al, 0x40
push eax
call fcn.0040b9bc
push 0x100
mov ecx, ebx
mov dword [ebx + 0xe8], 0xd
mov dword [ebx + 0x108], 2
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [0x46a3dc], edi
je 0x414552
cmp byte [0x46aeec], 0
je 0x414552
mov eax, dword [0x46aee4]
shl eax, 4
cmp dword [eax + 0x45a474], edi
jne 0x414552
push 0x12c
jmp 0x414560
cmp dword [0x46a3e8], edi
je 0x414567
push dword [0x46a3e0]
mov ecx, ebx
call fcn.004239d0
cmp dword [ebx + 0xa78], edi
jne case.default.0x412497
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xbc], 2
xor edi, edi
mov dword [ebp - 0x18], eax
cmp byte [0x46aeec], 0
je 0x4145a2
mov eax, dword [0x46aee4]
lea eax, [edi + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x4145a4
mov eax, edi
lea ecx, [eax + 2]
push 4
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
push eax
push dword [ebp - 0x18]
call fcn.00434970
add dword [ebp - 0x18], 4
add esp, 0xc
inc edi
cmp edi, 3
jl 0x414588
push 6
lea eax, [ebp - 0xac]
push esi
push eax
call fcn.00434970
mov eax, dword [0x46ae94]
add esp, 0xc
lea ecx, [ebx + 0xab0]
mov eax, dword [eax*4 + 0x46aea8]
mov dword [ebp - 0xa4], eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00406ff6
jmp case.default.0x412497
cmp dword [ebx + 0xa30], 0
mov edi, dword [sym.imp.USER32.dll_UpdateWindow]
jne 0x414651
mov eax, dword [ebp - 0x24]
cmp dword [eax], 0
je 0x414651
cmp dword [ebx + 0x100], 7
jge 0x414651
push 6
mov ecx, ebx
mov dword [ebx + 0x118], 3
call fcn.0040b9bc
cmp byte [0x46aeec], 0
je 0x41464c
push 1
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call edi
mov eax, dword [ebp - 0x24]
and dword [ebx + 0x104], 0
push 5
mov eax, dword [eax]
pop esi
test eax, eax
mov dword [ebx + 0xa30], eax
je 0x414680
cmp dword [ebx + 0x100], 7
jge 0x414680
cmp dword [0x46aedc], 0
jne 0x414680
mov eax, esi
jmp 0x414682
xor eax, eax
push eax
lea ecx, [ebx + 0x750]
call fcn.00447bc3
push 0xffff
mov ecx, ebx
mov dword [ebx + 0xe8], esi
mov dword [ebx + 0x108], 1
call fcn.0040b9bc
push dword [ebx + 0x1c]
call edi
jmp 0x41496d
sub eax, 0x13
je 0x414eb7
dec eax
je 0x414cff
dec eax
je 0x414c92
dec eax
je 0x414b30
sub eax, 8
je 0x414ab9
dec eax
je 0x414867
dec eax
jne case.default.0x412497
mov esi, dword [ebp - 0x24]
cmp dword [esi], 0
jl 0x414787
and byte [0x46ad7c], 0
mov eax, dword [esi]
push 1
mov dword [ebx + 0x118], eax
mov ecx, dword [esi]
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov edi, dword [sym.imp.USER32.dll_UpdateWindow]
call edi
push 0x1f
lea ecx, [ebp - 0x10]
call fcn.00448dec
cmp byte [0x46aeec], 0
mov eax, dword [esi]
je 0x414743
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
push 0x100
mov ecx, ebx
mov dword [ebx + 0x108], 9
mov dword [ebx + 0xe8], 0xf
call fcn.0040b9bc
push dword [ebx + 0x1c]
call edi
jmp case.default.0x412497
cmp dword [ebx + 0xe8], 0x10
lea eax, [ebx + 0xe8]
jne case.default.0x412497
push 1
mov ecx, ebx
pop edi
mov dword [eax], 5
push 0x100
mov dword [ebx + 0x108], edi
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call esi
cmp dword [ebx + 0x100], 7
jge 0x414842
mov eax, dword [ebx + 0x104]
cmp eax, dword [0x46aedc]
jne 0x414842
cmp dword [ebx + 0x120], 0
jne 0x414842
cmp byte [0x46aeec], 0
je 0x4147f9
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041a8f5
neg eax
sbb eax, eax
neg eax
test eax, eax
mov dword [ebx + 0x120], eax
je 0x414842
push 6
mov ecx, ebx
mov dword [ebx + 0x118], 3
call fcn.0040b9bc
cmp byte [0x46aeec], 0
je 0x41483d
push edi
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call esi
xor eax, eax
cmp dword [ebx + 0x120], eax
je 0x414961
mov ecx, dword [0x46aedc]
cmp dword [ebx + 0x104], ecx
jne 0x414961
jmp 0x41495a
mov eax, dword [ebp - 0x24]
mov al, byte [eax]
cmp al, 0x30
jne 0x4149e6
push 0xffffffffffffffff
mov ecx, ebx
call fcn.0042068f
mov cl, byte [0x46aeec]
mov esi, dword [0x46aee4]
mov eax, dword [0x46ae94]
test cl, cl
je 0x41489e
lea edx, [eax + esi*4]
mov edx, dword [edx*4 + 0x45a468]
jmp 0x4148a0
mov edx, eax
xor edi, edi
cmp edx, edi
jne 0x414979
push 0x100
mov ecx, ebx
mov dword [ebx + 0xe8], 5
mov dword [ebx + 0x108], 1
call fcn.0040b9bc
push dword [ebx + 0x1c]
mov esi, dword [sym.imp.USER32.dll_UpdateWindow]
call esi
cmp dword [ebx + 0x100], 7
jge 0x414945
mov eax, dword [ebx + 0x104]
cmp eax, dword [0x46aedc]
jne 0x414945
cmp dword [ebx + 0x120], edi
jne 0x41494d
cmp byte [0x46aeec], 0
je 0x41490d
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041a8f5
neg eax
sbb eax, eax
neg eax
cmp eax, edi
mov dword [ebx + 0x120], eax
je 0x414945
push 6
mov ecx, ebx
mov dword [ebx + 0x118], 3
call fcn.0040b9bc
push dword [ebx + 0x1c]
call esi
cmp dword [ebx + 0x120], edi
je 0x41495f
mov eax, dword [0x46aedc]
cmp dword [ebx + 0x104], eax
jne 0x41495f
push 5
pop eax
jmp 0x414961
xor eax, eax
push eax
lea ecx, [ebx + 0x750]
call fcn.00447bc3
mov ecx, ebx
call fcn.0042377e
jmp case.default.0x412497
test cl, cl
je 0x414987
lea eax, [eax + esi*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.004169ac
test eax, eax
je 0x4149b7
cmp dword [ebx + 0xaa0], edi
je 0x4149cb
mov ecx, ebx
call fcn.00412401
test eax, eax
jne 0x4149cb
mov ecx, ebx
call fcn.00412431
jmp 0x41499b
push edi
push 0x1f4
push 3
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebx + 0x54], eax
cmp dword [ebx + 0xa78], edi
jge case.default.0x412497
push edi
push 1
mov ecx, ebx
call fcn.00402656
jmp case.default.0x412497
push dword [ebx + 0x124]
mov ecx, ebx
call fcn.0042068f
mov ecx, dword [ebx + 0x124]
xor esi, esi
cmp ecx, esi
je 0x414a5e
push 1
mov dword [ebx + 0x118], ecx
pop eax
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 0x1f
lea ecx, [ebp - 0x10]
call fcn.00448dec
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x124]
je 0x414a44
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
imul eax, eax, 0x94
push 0x30
mov ecx, ebx
mov eax, dword [eax + ebx + 0x16c]
push eax
push dword [ebp - 0x10]
call fcn.00421f9f
cmp dword [ebx + 0xa78], esi
je case.default.0x412497
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x124]
je 0x414a89
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea eax, [eax + eax*2]
push esi
shl eax, 5
inc dword [eax + 0x46a6e4]
mov dword [ebx + 0x108], esi
lea eax, [eax + 0x46a6e4]
push esi
mov eax, dword [0x46aee0]
mov dword [0x46aedc], eax
mov ecx, ebx
call fcn.004019d3
jmp case.default.0x412497
test byte [0x46a82b], 2
mov byte [ebp - 0x11], 0x30
je 0x414b13
push 0
lea ecx, [ebx + 0x128]
call fcn.0041ac9f
test al, al
push 0x1d
lea ecx, [ebp - 0x10]
je 0x414afd
call fcn.00448dec
push 0x24
push 0x469684
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.00421f9f
cmp eax, 6
jne 0x414b13
mov byte [ebp - 0x11], 0x31
jmp 0x414b13
call fcn.00448dec
push 0x20
push 0x469684
push dword [ebp - 0x10]
mov ecx, ebx
call fcn.00421f9f
lea eax, [ebp - 0x11]
push 1
push eax
push 0x1f
push dword [ebx + 0xa3c]
mov ecx, 0x46af08
call fcn.0043313d
jmp case.default.0x412497
xor eax, eax
mov edi, 0x46aea8
mov dword [ebx + 0xe8], 0xb
mov dword [ebx + 0x108], 7
stosd dword es:[edi], eax
stosd dword es:[edi], eax
or dword [0x46aea4], 0xffffffff
or dword [0x46aea0], 0xffffffff
and dword [0x46ae9c], 0
stosd dword es:[edi], eax
mov edi, dword [ebp - 0x24]
mov eax, dword [edi]
mov dword [0x46ae94], eax
mov eax, dword [ebx + 0xb1c]
lea ecx, [eax - 1]
test ecx, ecx
jl 0x414c00
mov esi, dword [ebx + 0xb18]
mov ecx, eax
shl ecx, 5
mov edx, dword [ecx + esi - 0x1c]
lea ecx, [ecx + esi - 0x20]
shr edx, 0xa
test dl, 1
mov dword [ebp - 0x18], ecx
je 0x414bd3
lea edx, [eax - 1]
test edx, edx
jle 0x414bd3
lea ecx, [eax - 2]
shl ecx, 5
add ecx, esi
lea esi, [edi + 4]
push esi
call fcn.00415525
test al, al
jne 0x414c00
push 8
lea edi, [ebp - 0xdc]
pop ecx
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0x18]
push 8
pop ecx
lea esi, [ebp - 0xdc]
rep movsd dword es:[edi], dword [esi]
jmp 0x414bfd
lea esi, [edi + 4]
push esi
call fcn.00415525
test al, al
jne 0x414c00
push 8
lea edi, [ebp - 0xfc]
pop ecx
lea eax, [ebp - 0xfc]
rep movsd dword es:[edi], dword [esi]
push eax
lea ecx, [ebx + 0xb14]
call fcn.00407028
mov edi, dword [ebp - 0x24]
mov ecx, ebx
call fcn.00422135
xor esi, esi
cmp dword [0x46679c], esi
jle 0x414c76
lea ecx, [edi + 0x24]
mov dword [ebp - 0x1c], 0xffffffd0
sub dword [ebp - 0x1c], edi
lea eax, [edi + 0x30]
mov dword [ebp - 0x20], 0x46adc0
mov dword [ebp - 0x18], ecx
mov ecx, dword [ebp - 0x1c]
mov dl, byte [eax - 4]
add ecx, eax
mov byte [ecx + 0x46adb4], dl
mov dl, byte [eax]
mov byte [ecx + 0x46adb0], dl
mov cl, byte [eax + 4]
mov edx, dword [ebp - 0x20]
mov byte [esi + 0x46adac], cl
mov ecx, dword [ebp - 0x18]
add dword [ebp - 0x18], 2
add dword [ebp - 0x20], 2
inc eax
mov cx, word [ecx]
inc esi
mov word [edx], cx
mov cl, byte [eax + 7]
mov byte [esi + 0x46ada7], cl
mov ecx, dword [ebp - 0x1c]
add ecx, eax
cmp ecx, dword [0x46679c]
jl 0x414c2b
mov al, byte [edi + 0x3c]
mov byte [0x46adb9], al
push 0xffff
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
jmp 0x4154c0
push 0x140
mov ecx, ebx
mov dword [ebx + 0x108], 2
mov dword [ebx + 0xe8], 7
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
cmp dword [0x46a3dc], eax
je 0x414ceb
cmp byte [0x46aeec], al
je 0x414ceb
mov ecx, dword [0x46aee4]
shl ecx, 4
cmp dword [ecx + 0x45a474], eax
jne 0x414ceb
push eax
mov ecx, ebx
call fcn.004239d0
jmp case.default.0x412497
cmp dword [0x46a3e8], eax
je case.default.0x412497
push dword [0x46a3e4]
jmp 0x414cdf
mov edi, dword [ebp - 0x24]
xor ecx, ecx
mov ax, word [edi + 4]
mov word [ebp - 0x12], ax
mov eax, dword [edi + 0xc]
mov dword [ebx + 0xa30], eax
mov eax, dword [edi]
mov dword [ebx + 0x104], eax
cmp dword [edi + 0xc], ecx
je 0x414d31
push 1
push eax
mov ecx, ebx
call fcn.00421301
jmp case.default.0x412497
cmp dword [edi + 8], ecx
mov esi, 0x80
je 0x414d60
movsx eax, byte [ebp - 0x11]
mov dword [0x46aea4], eax
mov eax, dword [ebx + 0x104]
push ecx
mov dword [0x46aea0], eax
call fcn.00424cb8
pop ecx
push esi
mov ecx, ebx
call fcn.0040b9bc
xor ecx, ecx
cmp dword [edi + 0x10], ecx
je 0x414d89
mov dword [0x46ae9c], 1
mov eax, dword [ebx + 0x104]
push ecx
mov dword [0x46aea0], eax
call fcn.00424cb8
pop ecx
push esi
mov ecx, ebx
call fcn.0040b9bc
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x104]
je 0x414da8
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
movsx ecx, byte [ebp - 0x11]
lea esi, [eax + ecx]
mov al, 1
movsx ecx, byte [ebp - 0x12]
shl al, cl
not al
and byte [esi], al
mov dl, byte [0x46aeec]
mov ecx, dword [ebx + 0x104]
mov esi, dword [0x46aee4]
test dl, dl
je 0x414ded
lea eax, [ecx + esi*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x414def
mov eax, ecx
test dl, dl
je 0x414dfd
lea ecx, [ecx + esi*4]
mov ecx, dword [ecx*4 + 0x45a468]
imul ecx, ecx, 0x94
test dl, dl
mov ecx, dword [ecx + ebx + 0x15c]
je 0x414e2d
shl esi, 4
xor edx, edx
add esi, 0x45a468
cmp ecx, dword [esi]
je 0x414ea7
inc edx
add esi, 4
cmp edx, 4
jl 0x414e19
or ecx, 0xffffffff
imul eax, eax, 0x25
add eax, ecx
dec dword [ebx + eax*4 + 0x14c]
mov cx, word [ebp - 0x12]
add edi, 0x14
lea eax, [ebx + eax*4 + 0x14c]
push 0xc
mov eax, dword [ebx + 0x104]
push edi
push 0x46aeb4
mov word [eax*2 + 0x46aec8], cx
mov eax, dword [0x46aea4]
mov dword [ebx + 0xfc], eax
call fcn.00434970
mov ecx, dword [ebx + 0x104]
add esp, 0xc
push 1
pop eax
shl eax, cl
mov ecx, ebx
or ax, 0x4040
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 2
call fcn.00424cb8
mov eax, dword [ebx + 0x104]
pop ecx
cmp eax, 2
jl 0x414eab
xor eax, eax
jmp 0x414eac
mov ecx, edx
jmp 0x414e2d
inc eax
mov dword [ebx + 0x104], eax
jmp case.default.0x412497
mov esi, dword [ebp - 0x24]
mov ax, word [esi]
cmp dword [esi + 0xc], 0
mov word [ebp - 0x14], ax
je 0x414ed4
push 1
push dword [ebx + 0x104]
jmp 0x414d25
mov eax, dword [ebx + 0x104]
mov edi, 0x4080
cmp dword [0x46aedc], eax
jne 0x414feb
cmp byte [ebp - 0x14], 5
jne 0x414feb
test byte [0x46a829], 4
je 0x414feb
cmp byte [0x46aeec], 0
je 0x414f1b
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
push eax
call fcn.00424c9f
test eax, eax
pop ecx
je 0x414feb
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x104]
je 0x414f59
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.00415513
cmp dword [eax], 8
jl 0x414f77
test byte [0x46a829], 0x20
je 0x414feb
cmp dword [esi + 8], 0
je 0x414feb
mov dword [0x46ae9c], 1
mov eax, dword [ebx + 0x104]
mov dword [0x46aea0], eax
mov eax, dword [ebx + 0x104]
add dword [eax*4 + 0x46aeb4], 0xc8
cmp byte [0x46aeec], 0
lea eax, [eax*4 + 0x46aeb4]
mov eax, dword [ebx + 0x104]
je 0x414fc9
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea eax, [eax + eax*2]
push 0
shl eax, 5
inc dword [eax + 0x46a6d0]
lea eax, [eax + 0x46a6d0]
call fcn.00424cb8
pop ecx
push edi
mov ecx, ebx
call fcn.0040b9bc
mov eax, dword [ebx + 0x104]
cmp dword [0x46aedc], eax
jne 0x4150fe
cmp byte [ebp - 0x14], 3
je 0x41500d
cmp byte [ebp - 0x14], 2
jne 0x4150fe
cmp byte [0x46aeec], 0
je 0x415026
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
movsx esi, byte [ebp - 0x13]
imul ecx, ecx, 0x94
push esi
add ecx, ebx
call fcn.00418714
mov al, byte [eax]
and al, 0xc
cmp al, 0xc
jne 0x4150fe
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x104]
je 0x415066
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.00415513
cmp dword [eax], 8
jl 0x415084
test byte [0x46a829], 0x20
je 0x4150fe
mov eax, dword [ebp - 0x24]
cmp dword [eax + 4], 0
je 0x4150fe
cmp byte [0x46aeec], 0
mov eax, esi
mov dword [0x46aea4], eax
mov ecx, dword [ebx + 0x104]
mov dword [0x46aea0], ecx
mov ecx, dword [ebx + 0x104]
je 0x4150bf
mov edx, dword [0x46aee4]
lea ecx, [ecx + edx*4]
mov ecx, dword [ecx*4 + 0x45a468]
lea ecx, [ecx + ecx*2]
push 0
lea eax, [eax + ecx*8]
inc dword [eax*4 + 0x46a6c0]
lea eax, [eax*4 + 0x46a6c0]
mov eax, dword [ebx + 0x104]
mov ecx, dword [esi*4 + str.__Pd]
add dword [eax*4 + 0x46aeb4], ecx
lea eax, [eax*4 + 0x46aeb4]
call fcn.00424cb8
pop ecx
push edi
mov ecx, ebx
call fcn.0040b9bc
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x104]
je 0x41511d
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041872e
movsx ecx, byte [ebp - 0x13]
lea esi, [eax + ecx]
mov al, 1
movsx ecx, byte [ebp - 0x14]
shl al, cl
not al
and byte [esi], al
mov cl, byte [0x46aeec]
mov edx, dword [ebx + 0x104]
mov eax, dword [0x46aee4]
test cl, cl
je 0x415161
lea esi, [edx + eax*4]
mov esi, dword [esi*4 + 0x45a468]
jmp 0x415163
mov esi, edx
test cl, cl
je 0x415171
lea edx, [edx + eax*4]
mov edx, dword [edx*4 + 0x45a468]
imul edx, edx, 0x94
test cl, cl
mov edx, dword [edx + ebx + 0x15c]
je 0x41519c
shl eax, 4
xor ecx, ecx
add eax, 0x45a468
cmp edx, dword [eax]
je 0x415203
inc ecx
add eax, 4
cmp ecx, 4
jl 0x41518c
or edx, 0xffffffff
imul esi, esi, 0x25
add esi, edx
dec dword [ebx + esi*4 + 0x14c]
cmp dword [ebx + 0xa78], 0
lea eax, [ebx + esi*4 + 0x14c]
jle 0x4151e2
mov eax, dword [ebp - 0x24]
mov ecx, dword [0x46aea4]
push 0
push dword [eax + 8]
xor eax, eax
cmp ecx, dword [ebx + 0xfc]
mov ecx, ebx
setne al
push eax
push dword [ebp - 0x14]
push dword [ebx + 0x104]
call fcn.0041fe8c
mov eax, dword [ebx + 0x104]
mov cx, word [ebp - 0x14]
mov word [eax*2 + 0x46aec8], cx
mov edi, dword [ebx + 0x104]
cmp edi, 2
jl 0x415207
xor esi, esi
jmp 0x41520a
mov edx, ecx
jmp 0x41519c
lea esi, [edi + 1]
cmp byte [0x46aeec], 0
je 0x415224
mov eax, dword [0x46aee4]
lea eax, [esi + eax*4]
mov eax, dword [eax*4 + 0x45a468]
jmp 0x415226
mov eax, esi
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebx + 0xfc]
push dword [ecx + 8]
xor ecx, ecx
cmp edx, dword [0x46aea4]
setne cl
push ecx
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
push edi
add ecx, ebx
push dword [0x46aedc]
call fcn.004183bd
cmp esi, 2
jl 0x41525e
xor esi, esi
jmp 0x41525f
inc esi
cmp byte [0x46aeec], 0
je 0x415277
mov eax, dword [0x46aee4]
lea eax, [esi + eax*4]
mov esi, dword [eax*4 + 0x45a468]
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebx + 0xfc]
push dword [eax + 8]
xor eax, eax
cmp ecx, dword [0x46aea4]
lea ecx, [esi + 2]
setne al
imul ecx, ecx, 0x94
push eax
add ecx, ebx
push dword [ebx + 0x104]
push dword [0x46aedc]
call fcn.004183bd
mov eax, dword [0x46aea4]
mov ecx, dword [ebx + 0x104]
push 1
mov dword [ebx + 0xfc], eax
pop edi
mov eax, edi
shl eax, cl
mov ecx, ebx
push eax
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
push 2
pop esi
push esi
call fcn.00424cb8
mov eax, dword [ebx + 0x104]
pop ecx
cmp eax, esi
jl 0x4152ec
xor eax, eax
jmp 0x4152ed
inc eax
mov dword [ebx + 0x104], eax
cmp eax, dword [0x46aedc]
jne 0x41535f
cmp dword [ebx + 0xa78], 0
jle 0x41530b
mov ecx, ebx
call fcn.00420054
xor eax, eax
mov dword [ebx + 0x108], esi
mov dword [ebx + 0xe8], 7
cmp dword [0x46a3dc], eax
je 0x41534b
cmp byte [0x46aeec], al
je 0x41534b
mov ecx, dword [0x46aee4]
shl ecx, 4
cmp dword [ecx + 0x45a474], eax
jne 0x41534b
push eax
mov ecx, ebx
call fcn.004239d0
jmp 0x4154b1
cmp dword [0x46a3e8], eax
je 0x4154b1
push dword [0x46a3e4]
jmp 0x41533f
cmp byte [0x46aeec], 0
je 0x415378
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.004169ac
test eax, eax
jne 0x4154b1
cmp byte [0x46aeec], 0
mov eax, dword [ebx + 0x104]
je 0x4153af
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
test eax, eax
je 0x4153ef
push 6
pop eax
push dword [ebx + 0x1c]
mov dword [ebx + 0x108], eax
mov dword [ebx + 0xe8], eax
call dword [sym.imp.USER32.dll_IsIconic]
neg eax
sbb eax, eax
push 0
and eax, 0x640
add eax, 0x190
push eax
push 3
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_SetTimer]
mov dword [ebx + 0x54], eax
jmp 0x4154b1
cmp dword [ebx + 0x100], 7
push 5
pop esi
mov dword [ebx + 0x108], edi
mov dword [ebx + 0xe8], esi
jge 0x415484
mov eax, dword [ebx + 0x104]
cmp eax, dword [0x46aedc]
jne 0x415484
cmp dword [ebx + 0x120], 0
jne 0x415484
cmp byte [0x46aeec], 0
je 0x415437
mov ecx, dword [0x46aee4]
lea eax, [eax + ecx*4]
mov eax, dword [eax*4 + 0x45a468]
lea ecx, [eax + 2]
imul ecx, ecx, 0x94
add ecx, ebx
call fcn.0041a8f5
neg eax
sbb eax, eax
neg eax
test eax, eax
mov dword [ebx + 0x120], eax
je 0x415484
push 6
mov ecx, ebx
mov dword [ebx + 0x118], 3
call fcn.0040b9bc
cmp byte [0x46aeec], 0
je 0x41547b
push edi
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
xor eax, eax
cmp dword [ebx + 0x120], eax
je 0x41549e
mov ecx, dword [0x46aedc]
cmp dword [ebx + 0x104], ecx
jne 0x41549e
mov eax, esi
push eax
lea ecx, [ebx + 0x750]
call fcn.00447bc3
mov ecx, ebx
call fcn.0042377e
push 0x140
mov ecx, ebx
call fcn.0040b9bc
push dword [ebx + 0x1c]
call dword [sym.imp.USER32.dll_UpdateWindow]
cmp dword [ebp - 0x24], 0
pop edi
pop esi
je 0x4154d7
push dword [ebp - 0x24]
call fcn.004354fe
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x10]
call fcn.00448a4a
push 1
pop eax
mov ecx, dword [ebp - 0xc]
pop ebx
mov dword fs:[0], ecx
leave
ret