Function at 0x100216e0
Capabilities:
Encode data using xor
Identify system language via api

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x36c
push ebx
push esi
push edi
mov byte [ebp - 0x46], 0x14
mov al, byte [0x1004419c]
mov byte [ebp - 5], al
mov cl, byte [0x10044110]
mov byte [ebp - 0xe], cl
mov dl, byte [0x10044198]
mov byte [ebp - 1], dl
mov al, byte [0x1004418c]
mov byte [ebp - 7], al
mov cx, word [0x100441b0]
mov byte [ebp - 0xd], cl
xor edx, edx
mov dword [ebp - 0x24], 0x7d0a10ef
mov dword [ebp - 0x20], edx
mov eax, 0x7f84
mov word [ebp - 0x14], ax
mov cl, byte [0x10044138]
mov byte [ebp - 4], cl
mov edx, 0x8fa2
mov word [ebp - 0x18], dx
mov eax, dword [0x10044194]
xor ecx, ecx
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
mov edx, 0x7b10
mov word [ebp - 0x30], dx
mov al, byte [0x10044124]
mov byte [ebp - 0xf], al
mov ecx, 0xffff86a5
mov word [ebp - 0x1c], cx
mov byte [ebp - 6], 0x3e
mov dx, word [0x10044110]
mov word [ebp - 0xc], dx
mov al, byte [0x1004418c]
mov byte [ebp - 3], al
mov dword [ebp - 0x28], 0xb961
mov eax, dword [0x10044148]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x2c], 0xdd
mov cl, byte [0x1004404f]
mov byte [ebp - 2], cl
xor edx, edx
mov dword [ebp - 0x34c], 0x44edcaf8
mov dword [ebp - 0x348], edx
mov eax, 0xc1eb
mov word [ebp - 0x28c], ax
mov ecx, dword [0x10044194]
xor edx, edx
mov dword [ebp - 0x354], ecx
mov dword [ebp - 0x350], edx
xor eax, eax
mov dword [ebp - 0x35c], 0x9c8c
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x308], 0xe9f80ede
mov byte [ebp - 0x47], 0xa0
mov ecx, dword [0x1004411c]
mov word [ebp - 0x288], cx
mov dl, byte [0x100440fb]
mov byte [ebp - 0x4a], dl
mov eax, dword [0x1004411c]
mov byte [ebp - 0x48], al
movsx ecx, word [0x10044180]
mov dword [ebp - 0x30c], ecx
xor edx, edx
mov dword [ebp - 0x364], 0x1f
mov dword [ebp - 0x360], edx
mov eax, dword [0x100441a8]
mov ecx, dword [0x100441ac]
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x368], ecx
mov dword [ebp - 0x310], 0x1c30
mov byte [ebp - 0x49], 0x6b
movzx edx, word [0x100441b0]
mov dword [ebp - 0x314], edx
mov eax, dword [0x10044148]
cdq
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], edx
mov eax, dword [ebp - 0x298]
cmp eax, dword [0x10044144]
jl 0x100218a1
jg 0x10021895
mov ecx, dword [ebp - 0x29c]
cmp ecx, dword [0x10044140]
jb 0x100218a1
mov dword [ebp - 0x1a0], 1
jmp 0x100218ab
mov dword [ebp - 0x1a0], 0
movsx edx, word [0x100440fc]
movzx eax, byte [0x100440fa]
cmp edx, eax
jg 0x100218c9
mov dword [ebp - 0x84], 1
jmp 0x100218d3
mov dword [ebp - 0x84], 0
mov ecx, dword [ebp - 0x1a0]
cmp ecx, dword [ebp - 0x84]
jle 0x10021979
mov dword [ebp - 0x50], 0
jmp 0x100218f7
mov edx, dword [ebp - 0x50]
add edx, 1
mov dword [ebp - 0x50], edx
cmp dword [ebp - 0x50], 0x352
jge 0x10021974
mov dword [0x1004416c], 0
mov eax, dword [0x10044138]
mov edx, dword [0x1004413c]
mov cl, 8
call fcn.10026570
mov dword [0x10044100], eax
mov dword [0x10044104], edx
mov eax, dword [0x1004416c]
mov dword [ebp - 0x290], eax
cmp dword [ebp - 0x290], 0
je 0x1002193d
jmp 0x10021953
movzx ecx, word [0x1004410c]
add ecx, 0x4cb0
movsx edx, byte [ebp - 1]
or edx, ecx
mov byte [ebp - 1], dl
mov eax, dword [0x10044150]
mov ecx, dword [0x10044154]
add eax, 1
adc ecx, 0
mov dword [0x10044150], eax
mov dword [0x10044154], ecx
jmp 0x100218ee
jmp 0x100219fe
movsx edx, word [0x1004419c]
test edx, edx
jne 0x10021990
mov dword [ebp - 0x88], 1
jmp 0x1002199a
mov dword [ebp - 0x88], 0
movzx eax, word [0x10044124]
test eax, eax
je 0x100219b7
cmp dword [ebp - 0x2c], 0
je 0x100219b7
mov dword [ebp - 0x8c], 1
jmp 0x100219c1
mov dword [ebp - 0x8c], 0
movsx ecx, word [ebp - 0x1c]
not ecx
mov edx, dword [ebp - 0x88]
sub edx, ecx
cmp edx, dword [ebp - 0x8c]
jle 0x100219e6
movsx eax, word [ebp - 0xc]
cdq
sub eax, 0x6540b22e
mov byte [ebp - 4], al
jmp 0x100219fe
movzx eax, byte [ebp - 2]
test eax, eax
je 0x100219fe
mov byte [ebp - 1], 0xce
mov ecx, 0xffffe6fa
mov word [0x1004419c], cx
mov edx, dword [0x10044ca8]
mov dword [ebp - 0x6c], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x10021a36
mov eax, dword [ebp - 0x54]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x318], eax
mov ecx, dword [ebp - 0x54]
push ecx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x344], eax
mov edx, dword [ebp - 0x6c]
add edx, 0x577
mov dword [ebp - 0x294], edx
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x234], eax
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x2ac], edx
mov dword [ebp - 0x2a8], esi
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x2a8]
jg 0x10021a92
jl 0x10021a86
mov ecx, dword [ebp - 0x234]
cmp ecx, dword [ebp - 0x2ac]
jae 0x10021a92
mov dword [ebp - 0x90], 1
jmp 0x10021a9c
mov dword [ebp - 0x90], 0
cmp dword [ebp - 0x2c], 0x45
jae 0x10021aae
mov dword [ebp - 0x94], 1
jmp 0x10021ab8
mov dword [ebp - 0x94], 0
mov edx, dword [ebp - 0x90]
cmp edx, dword [ebp - 0x94]
jge 0x10021c6a
movsx eax, word [ebp - 0x14]
cdq
mov ecx, dword [0x10044150]
mov esi, dword [0x10044154]
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], edx
mov dword [ebp - 0x2bc], ecx
mov dword [ebp - 0x2b8], esi
mov edx, dword [ebp - 0x2b0]
cmp edx, dword [ebp - 0x2b8]
jl 0x10021b1d
jg 0x10021b11
mov eax, dword [ebp - 0x2b4]
cmp eax, dword [ebp - 0x2bc]
jb 0x10021b1d
mov dword [ebp - 0x98], 1
jmp 0x10021b27
mov dword [ebp - 0x98], 0
movsx ecx, word [ebp - 0x14]
cmp ecx, 0x2e
jl 0x10021b3c
mov dword [ebp - 0x9c], 1
jmp 0x10021b46
mov dword [ebp - 0x9c], 0
mov edx, dword [ebp - 0x98]
cmp edx, dword [ebp - 0x9c]
je 0x10021ba8
mov eax, dword [0x10044190]
add eax, 1
mov dword [0x10044190], eax
mov eax, dword [0x10044158]
mov edx, dword [0x1004415c]
mov cl, 2
call fcn.10026570
mov word [ebp - 0x18], ax
cmp dword [0x10044164], 0
je 0x10021b8f
movsx ecx, byte [0x10044076]
mov dword [ebp - 0xa0], ecx
jmp 0x10021b98
mov edx, dword [ebp - 0x28]
mov dword [ebp - 0xa0], edx
mov eax, dword [ebp - 0xa0]
mov dword [0x10044160], eax
jmp 0x10021c68
movzx ecx, byte [ebp - 0xe]
test ecx, ecx
je 0x10021c1b
mov eax, dword [0x10044148]
cdq
add eax, dword [ebp - 0x3c]
mov dword [0x10044148], eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
xor edx, 0xc3
xor eax, 0
mov dword [ebp - 0x2c4], edx
mov dword [ebp - 0x2c0], eax
mov ecx, dword [ebp - 0x2c4]
or ecx, dword [ebp - 0x2c0]
jne 0x10021bf3
mov dword [ebp - 0xa4], 1
jmp 0x10021bfd
mov dword [ebp - 0xa4], 0
movzx edx, word [0x1004414c]
movsx eax, byte [0x1004403a]
xor edx, eax
mov ecx, dword [ebp - 0xa4]
sub ecx, edx
mov word [ebp - 0x14], cx
jmp 0x10021c68
mov edx, dword [0x10044100]
mov eax, dword [0x10044104]
mov dword [ebp - 0x2cc], edx
mov dword [ebp - 0x2c8], eax
mov ecx, dword [ebp - 0x2cc]
or ecx, dword [ebp - 0x2c8]
jne 0x10021c4f
movzx edx, byte [ebp - 7]
movzx eax, word [0x1004418c]
cmp edx, eax
jne 0x10021c68
mov cl, byte [0x10044ca8]
mov byte [0x10044077], cl
movsx edx, word [ebp - 0x14]
sub edx, 0xd2
mov byte [ebp - 4], dl
jmp 0x10021ca7
movzx eax, word [0x1004410c]
cdq
xor eax, 0x6ec756d2
mov byte [ebp - 3], al
movsx eax, word [ebp - 0x30]
mov ecx, dword [0x10044194]
add ecx, eax
mov edx, dword [0x10044194]
sub edx, ecx
mov dword [0x10044194], edx
movzx eax, word [0x1004418c]
movzx ecx, word [0x100441b0]
add eax, ecx
mov byte [ebp - 0xf], al
mov edx, dword [ebp - 0x6c]
add edx, 0x4ee
mov dword [ebp - 0x200], edx
call dword [sym.imp.USER32.dll_GetMessageTime]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x2c], 0
jae 0x10021d32
call dword [sym.imp.USER32.dll_GetCapture]
mov word [0x10044124], ax
movzx eax, word [0x10044124]
test eax, eax
je 0x10021d30
mov dword [ebp - 0x58], 0xc61
movsx ecx, byte [ebp - 5]
mov edx, dword [0x10044190]
imul edx, ecx
mov eax, dword [0x10044190]
imul eax, edx
mov dword [0x10044190], eax
cmp dword [ebp - 0x58], 0xb5f
jle 0x10021d30
movzx eax, word [0x1004418c]
cdq
push 0xbc04b
push 0xb17e1b2a
push edx
push eax
call fcn.10026530
mov word [0x100441b0], ax
mov ecx, dword [ebp - 0x58]
sub ecx, 1
mov dword [ebp - 0x58], ecx
jmp 0x10021cfd
jmp 0x10021d46
movzx edx, word [0x100441b0]
test edx, edx
je 0x10021d46
mov eax, 2
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x6c]
add ecx, 0x47e
mov dword [ebp - 0x1fc], ecx
mov dword [ebp - 0x5c], 0
jmp 0x10021d67
mov edx, dword [ebp - 0x5c]
add edx, 2
mov dword [ebp - 0x5c], edx
cmp dword [ebp - 0x5c], 0x17f
jge 0x10021e47
push 0
movzx ax, byte [ebp - 4]
movzx ecx, ax
push ecx
movzx edx, word [0x10044170]
push edx
push 0
movsx ax, byte [0x1004403b]
movzx ecx, ax
push ecx
mov edx, dword [0x10044108]
push edx
movzx eax, word [0x1004418c]
push eax
call fcn.1001cab0
add esp, 0x1c
mov byte [ebp - 2], al
movzx ecx, byte [ebp - 2]
test ecx, ecx
jge 0x10021e1b
mov dword [ebp - 0x60], 0x2c
movzx edx, byte [ebp - 7]
imul eax, edx, 0x7124
mov word [ebp - 0x1c], ax
mov ecx, dword [0x1004416c]
sub ecx, 0x41
mov word [0x100441b0], cx
movsx eax, word [ebp - 0xc]
cdq
xor eax, dword [ebp - 0x3c]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx edx, byte [ebp - 5]
mov eax, dword [0x10044108]
xor eax, edx
mov ecx, dword [0x10044108]
imul ecx, eax
mov dword [0x10044108], ecx
mov edx, dword [ebp - 0x60]
add edx, 1
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x60], 0x1812
jl 0x10021ddc
jmp 0x10021e33
cmp dword [0x10044120], 0
jne 0x10021e33
movzx eax, byte [ebp - 7]
add eax, 0x69706359
mov word [0x100441b0], ax
mov cl, byte [0x1004403a]
add cl, 1
mov byte [0x1004403a], cl
jmp 0x10021d5e
mov edx, dword [0x10044ca8]
mov dword [ebp - 0x64], edx
movzx eax, byte [ebp - 7]
movsx ecx, byte [0x100440fb]
cmp eax, ecx
jl 0x10021f77
movzx edx, byte [ebp - 3]
movsx eax, word [ebp - 0xc]
cmp edx, eax
jne 0x10021f64
mov byte [ebp - 1], 3
movzx ecx, byte [ebp - 0xe]
imul eax, ecx, 0x726f1eec
cdq
mov dword [0x10044110], eax
mov dword [0x10044114], edx
movsx edx, byte [ebp - 1]
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 3
ja case.default.0x10021eaa
mov eax, dword [ebp - 0xa8]
jmp dword [eax*4 + 0x10023dc8]
movsx eax, byte [ebp - 0xd]
cdq
mov ecx, eax
sub ecx, dword [0x10044110]
movsx eax, byte [ebp - 0xd]
cdq
and eax, ecx
mov byte [ebp - 0xd], al
movsx edx, word [ebp - 0x14]
movzx eax, word [0x1004410c]
add edx, eax
movsx ecx, word [ebp - 0x14]
sub ecx, edx
mov word [ebp - 0x14], cx
movsx edx, byte [0x100440bf]
movzx eax, byte [ebp - 2]
xor edx, eax
mov dword [ebp - 0x28], edx
jmp case.default.0x10021eaa
movzx ecx, byte [ebp - 2]
mov edx, dword [0x10044120]
sub edx, ecx
mov word [ebp - 0x1c], dx
jmp case.default.0x10021eaa
movsx eax, byte [ebp - 6]
add eax, 0x2b88c3b8
mov dword [0x1004411c], eax
imul ecx, dword [ebp - 0x28], 0x4a
mov byte [ebp - 7], cl
movzx eax, byte [ebp - 3]
not eax
cdq
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x31c], edx
sub ecx, eax
movsx eax, byte [ebp - 0xd]
mov edx, dword [0x10044148]
add edx, eax
movsx eax, byte [ebp - 1]
sub edx, eax
mov eax, edx
cdq
xor ecx, eax
mov byte [ebp - 3], cl
jmp case.default.0x10021eaa
mov ecx, dword [ebp - 0x2c]
add ecx, 0x1131c9bb
movzx edx, word [0x1004418c]
sub edx, ecx
mov word [0x1004418c], dx
jmp 0x10021f77
mov eax, dword [0x10044160]
not eax
movzx ecx, byte [ebp - 2]
imul eax, ecx
mov dword [0x10044184], eax
mov edx, dword [ebp - 0x64]
add edx, 0x3e8
mov dword [ebp - 0x144], edx
xor eax, eax
mov dword [ebp - 0x24], 2
mov dword [ebp - 0x20], eax
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x10021fae
xor edx, edx
mov dword [ebp - 0x1c8], 1
mov dword [ebp - 0x1c4], edx
jmp 0x10021fb9
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c8], xmm0
movsx eax, word [0x100441a0]
test eax, eax
jne 0x10021fd0
mov dword [ebp - 0xac], 1
jmp 0x10021fda
mov dword [ebp - 0xac], 0
mov ecx, dword [0x10044138]
xor ecx, dword [ebp - 0x1c8]
mov esi, dword [0x1004413c]
xor esi, dword [ebp - 0x1c4]
movsx eax, word [0x1004419c]
imul eax, dword [ebp - 0xac]
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x2d4], ecx
mov dword [ebp - 0x2d0], esi
mov edx, dword [ebp - 0x2d4]
or edx, dword [ebp - 0x2d0]
jne 0x10022033
xor eax, eax
mov dword [ebp - 0x1d0], 1
mov dword [ebp - 0x1cc], eax
jmp 0x1002203e
xorps xmm0, xmm0
movlpd qword [ebp - 0x1d0], xmm0
mov eax, dword [0x10044188]
not eax
movsx ecx, word [ebp - 0xc]
sub eax, ecx
cdq
mov esi, eax
mov edi, edx
mov edx, dword [ebp - 0x28]
xor eax, eax
mov ecx, dword [0x10044100]
mov ebx, dword [0x10044104]
push eax
push edx
push ebx
push ecx
call fcn.10026530
push edx
push eax
push edi
push esi
call fcn.10026530
push edx
push eax
mov edx, dword [ebp - 0x1cc]
push edx
mov eax, dword [ebp - 0x1d0]
push eax
call fcn.10026530
mov dword [ebp - 0x2c], eax
movsx ecx, byte [0x10044077]
test ecx, ecx
je 0x100220a5
movsx edx, byte [0x1004404e]
mov dword [ebp - 0xb0], edx
jmp 0x100220af
movzx eax, byte [ebp - 3]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0xb0]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
movzx ecx, byte [ebp - 2]
movzx edx, word [ebp - 0x18]
imul ecx, edx
test ecx, ecx
jne 0x100220d7
mov dword [ebp - 0xb4], 1
jmp 0x100220e1
mov dword [ebp - 0xb4], 0
movsx eax, byte [ebp - 5]
test eax, eax
jne 0x100220f5
mov dword [ebp - 0xb8], 1
jmp 0x100220ff
mov dword [ebp - 0xb8], 0
mov eax, dword [0x10044160]
add eax, dword [ebp - 0xb4]
cdq
mov ecx, eax
mov eax, dword [0x10044188]
add eax, dword [ebp - 0xb8]
cdq
mov esi, eax
mov eax, dword [0x10044160]
cdq
mov edx, dword [0x10044100]
mov edi, dword [0x10044104]
mov dword [ebp - 0x320], edi
not edx
and eax, edx
add esi, eax
add ecx, esi
mov word [0x100441b0], cx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov dword [ebp - 0x1a8], eax
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a8]
or edx, dword [ebp - 0x1a4]
je 0x10022176
cmp dword [ebp - 0x1a8], 1
jne 0x10022174
cmp dword [ebp - 0x1a4], 0
je 0x100221b7
jmp 0x100221c1
movsx eax, byte [0x100440bf]
cdq
add eax, 0x7af14a2d
mov dword [0x10044120], eax
movsx eax, word [0x1004419c]
imul ecx, eax, 0xb145
mov dword [0x10044170], ecx
movzx eax, word [0x10044124]
cdq
mov ecx, eax
add ecx, 0x24c89539
movzx eax, byte [ebp - 7]
cdq
add eax, ecx
mov byte [ebp - 7], al
jmp 0x100221c1
mov dword [0x10044120], 2
mov edx, dword [ebp - 0x64]
add edx, 0x403
mov dword [ebp - 0x140], edx
push 0xace9
push 0x2f516ec8
mov eax, dword [0x1004417c]
push eax
mov ecx, dword [0x10044178]
push ecx
call fcn.10026530
mov ecx, dword [0x10044150]
mov esi, dword [0x10044154]
add ecx, eax
adc esi, edx
mov dword [0x10044150], ecx
mov dword [0x10044154], esi
movzx edx, byte [0x100440fa]
shl edx, 1
mov byte [ebp - 0xf], dl
mov eax, dword [ebp - 0x64]
add eax, 0x4a9
mov dword [ebp - 0x324], eax
movsx ecx, word [ebp - 0xc]
movzx edx, byte [ebp - 2]
imul ecx, edx
movsx eax, word [ebp - 0xc]
add eax, ecx
mov word [ebp - 0xc], ax
call fcn.100148a0
movzx ecx, al
test ecx, ecx
jne 0x1002265a
movsx edx, byte [0x1004404e]
mov eax, dword [ebp - 0x28]
sub eax, edx
jne 0x100222a6
movsx eax, byte [ebp - 5]
not eax
cdq
mov ecx, dword [0x10044150]
mov esi, dword [0x10044154]
mov dword [ebp - 0x2dc], eax
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2e4], ecx
mov dword [ebp - 0x2e0], esi
mov edx, dword [ebp - 0x2d8]
cmp edx, dword [ebp - 0x2e0]
jl 0x100224f6
jg 0x100222a6
mov eax, dword [ebp - 0x2dc]
cmp eax, dword [ebp - 0x2e4]
jb 0x100224f6
movsx ecx, byte [0x1004403a]
cmp dword [ebp - 0x2c], ecx
jne 0x10022406
movsx edx, byte [0x10044076]
movzx eax, byte [0x1004409f]
cmp edx, eax
jl 0x100222d4
mov dword [ebp - 0xbc], 1
jmp 0x100222de
mov dword [ebp - 0xbc], 0
movsx ecx, byte [0x10044076]
cmp ecx, 0x54
jl 0x100222f6
mov dword [ebp - 0xc0], 1
jmp 0x10022300
mov dword [ebp - 0xc0], 0
mov edx, dword [ebp - 0xbc]
cmp edx, dword [ebp - 0xc0]
jl 0x10022394
movsx eax, byte [0x100440bf]
mov ecx, dword [ebp - 0x2c]
lea edx, [ecx + eax + 0x8f04]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x3c]
or eax, dword [ebp - 0x38]
jne 0x1002233a
mov dword [ebp - 0xc4], 1
jmp 0x10022344
mov dword [ebp - 0xc4], 0
movsx ecx, byte [ebp - 0xd]
add ecx, dword [ebp - 0xc4]
movsx edx, byte [0x1004403b]
movsx eax, word [ebp - 0xc]
sub edx, eax
imul ecx, edx
mov word [ebp - 0x30], cx
mov ecx, dword [0x10044130]
add ecx, dword [0x10044178]
mov edx, dword [0x10044134]
adc edx, dword [0x1004417c]
or ecx, dword [0x10044130]
or edx, dword [0x10044134]
mov dword [0x10044130], ecx
mov dword [0x10044134], edx
jmp 0x10022401
movsx eax, byte [ebp - 6]
cmp eax, 0xaaaa
jl 0x10022401
movzx ecx, byte [0x100440fa]
test ecx, ecx
je 0x100223b2
mov dl, byte [ebp - 0xe]
mov byte [ebp - 0x31], dl
jmp 0x100223b8
mov al, byte [ebp - 2]
mov byte [ebp - 0x31], al
mov cl, byte [ebp - 0x31]
mov byte [ebp - 7], cl
mov edx, dword [0x10044158]
or edx, dword [0x1004415c]
jne 0x100223e0
xor eax, eax
mov dword [ebp - 0x2ec], 1
mov dword [ebp - 0x2e8], eax
jmp 0x100223eb
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ec], xmm0
mov ecx, dword [0x10044138]
sub ecx, 0x33aa
sub ecx, dword [ebp - 0x2ec]
mov word [ebp - 0x18], cx
jmp 0x100224f6
cmp dword [0x10044108], 0
jne 0x10022426
movsx edx, byte [0x1004404d]
test edx, edx
je 0x10022426
mov dword [ebp - 0xc8], 0
jmp 0x10022430
mov dword [ebp - 0xc8], 1
movzx eax, word [0x1004414c]
movsx ecx, byte [ebp - 5]
cmp eax, ecx
jne 0x1002244b
mov dword [ebp - 0xcc], 1
jmp 0x10022455
mov dword [ebp - 0xcc], 0
mov edx, dword [ebp - 0xc8]
cmp edx, dword [ebp - 0xcc]
jge 0x100224f6
movsx eax, byte [ebp - 1]
movzx ecx, byte [ebp - 0xe]
imul eax, ecx
movsx edx, byte [ebp - 1]
add edx, eax
mov byte [ebp - 1], dl
mov eax, dword [0x10044130]
or eax, dword [0x10044134]
je 0x10022494
movsx ecx, word [ebp - 0x30]
mov dword [ebp - 0xd0], ecx
jmp 0x1002249d
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0xd0], edx
mov ax, word [ebp - 0xd0]
mov word [ebp - 0x14], ax
mov ecx, dword [0x10044100]
mov edx, dword [0x10044104]
mov dword [ebp - 0x2f4], ecx
mov dword [ebp - 0x2f0], edx
mov eax, dword [ebp - 0x2f4]
or eax, dword [ebp - 0x2f0]
jne 0x100224da
mov dword [ebp - 0xd4], 1
jmp 0x100224e4
mov dword [ebp - 0xd4], 0
mov ecx, dword [0x10044164]
xor ecx, dword [ebp - 0xd4]
mov byte [0x1004403b], cl
mov edx, 3
mov word [ebp - 0x18], dx
mov eax, dword [0x10044188]
cdq
mov esi, eax
mov edi, edx
add esi, dword [0x10044158]
adc edi, dword [0x1004415c]
not esi
not edi
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
not eax
not ecx
mov edx, dword [0x10044120]
xor ebx, ebx
push ebx
push edx
push ecx
push eax
call fcn.10026530
push edx
push eax
push edi
push esi
call fcn.10026530
mov byte [ebp - 5], al
mov eax, dword [0x10044108]
cdq
push 0xb8148
push 0x13b9695
push edx
push eax
call fcn.10026530
mov word [ebp - 0xc], ax
movzx eax, word [ebp - 0x18]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 3
ja case.default.0x10022578
mov ecx, dword [ebp - 0xd8]
jmp dword [ecx*4 + 0x10023dd8]
mov dx, word [ebp - 0xc]
mov word [ebp - 0x1c], dx
jmp case.default.0x10022578
movzx eax, byte [ebp - 2]
sub eax, 0xa7e6
mov byte [0x1004404f], al
jmp case.default.0x10022578
cmp dword [0x10044190], 0
je 0x100225c2
mov ecx, dword [0x10044110]
mov edx, dword [0x10044114]
mov dword [ebp - 0x1d8], ecx
mov dword [ebp - 0x1d4], edx
jmp 0x100225d3
movzx eax, byte [ebp - 4]
cdq
mov dword [ebp - 0x1d8], eax
mov dword [ebp - 0x1d4], edx
mov ax, word [ebp - 0x1d8]
mov word [0x100441b0], ax
mov ecx, dword [ebp - 0x28]
add ecx, dword [0x10044170]
add ecx, dword [0x10044170]
mov dword [0x10044170], ecx
movzx edx, byte [ebp - 3]
test edx, edx
je 0x10022611
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1e0], eax
mov dword [ebp - 0x1dc], ecx
jmp 0x10022623
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x1e0], edx
mov dword [ebp - 0x1dc], eax
mov cx, word [ebp - 0x1e0]
mov word [0x100440fc], cx
jmp case.default.0x10022578
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x328], eax
sub edx, 0xbcf87030
mov word [0x10044198], dx
mov byte [0x100440be], 0x3e
xor eax, eax
jmp 0x10023dbd
movsx ecx, word [ebp - 0xc]
movzx edx, word [0x10044198]
cmp ecx, edx
jne 0x10022675
mov dword [ebp - 0xdc], 1
jmp 0x1002267f
mov dword [ebp - 0xdc], 0
movsx eax, word [ebp - 0xc]
cmp eax, 0x23
jne 0x10022694
mov dword [ebp - 0xe0], 1
jmp 0x1002269e
mov dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0xe0]
jl 0x10022709
mov dword [ebp - 0x68], 0
jmp 0x100226be
mov edx, dword [ebp - 0x68]
add edx, 2
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x68], 0xc7
jge 0x10022707
mov byte [0x100440fb], 0x28
movsx eax, word [0x100440fc]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x32c], eax
and ecx, edx
movsx eax, word [0x100440fc]
cdq
add eax, ecx
mov word [0x100440fc], ax
mov cl, byte [0x100440bf]
add cl, 1
mov byte [0x100440bf], cl
jmp 0x100226b5
jmp 0x10022750
movsx edx, byte [ebp - 5]
test edx, edx
je 0x10022750
movsx eax, byte [0x1004409e]
add eax, 0x2106a35a
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
movsx eax, word [ebp - 0xc]
cdq
add eax, 0xf9a35872
mov dword [0x10044160], eax
movsx eax, word [0x1004419c]
cdq
push 0xe432c
push 0xad35be98
push edx
push eax
call fcn.10026530
mov word [ebp - 0xc], ax
mov eax, dword [ebp - 0x294]
sub eax, dword [ebp - 0x1fc]
cmp dword [ebp - 0x200], eax
je 0x10022c7b
push 0
movzx ecx, byte [0x100440fb]
push ecx
push 0
push 0
call fcn.1001cdc0
add esp, 0x10
mov byte [ebp - 7], al
movzx edx, word [0x10044174]
cmp edx, dword [0x10044190]
jbe 0x100227a4
xor eax, eax
mov dword [ebp - 0x1f0], 1
mov dword [ebp - 0x1ec], eax
jmp 0x100227af
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f0], xmm0
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x100227cb
xor edx, edx
mov dword [ebp - 0x1e8], 1
mov dword [ebp - 0x1e4], edx
jmp 0x100227d6
xorps xmm0, xmm0
movlpd qword [ebp - 0x1e8], xmm0
mov eax, dword [ebp - 0x1e8]
add eax, 0xd8ec2d81
mov ecx, dword [ebp - 0x1e4]
adc ecx, 0x6bace
push ecx
push eax
mov edx, dword [ebp - 0x1ec]
push edx
mov eax, dword [ebp - 0x1f0]
push eax
call fcn.10026530
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2f8], edx
mov ecx, dword [ebp - 0x2fc]
or ecx, dword [ebp - 0x2f8]
jne 0x10022830
xor edx, edx
mov dword [ebp - 0x1b0], 1
mov dword [ebp - 0x1ac], edx
jmp 0x1002283b
xorps xmm0, xmm0
movlpd qword [ebp - 0x1b0], xmm0
movsx eax, byte [0x1004404d]
not eax
movzx ecx, byte [0x100440be]
cmp eax, ecx
jge 0x10022863
xor edx, edx
mov dword [ebp - 0x1f8], 1
mov dword [ebp - 0x1f4], edx
jmp 0x1002286e
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f8], xmm0
push 0
push 0x3b
mov eax, dword [0x10044114]
push eax
mov ecx, dword [0x10044110]
push ecx
call fcn.10026530
mov ecx, dword [ebp - 0x1f8]
sub ecx, eax
mov eax, dword [ebp - 0x1f4]
sbb eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x1ac]
push ecx
mov edx, dword [ebp - 0x1b0]
push edx
call fcn.10026530
mov dword [ebp - 0x304], eax
mov dword [ebp - 0x300], edx
mov eax, dword [ebp - 0x304]
or eax, dword [ebp - 0x300]
je 0x1002294a
movzx ecx, byte [ebp - 0xe]
test ecx, ecx
je 0x10022909
mov edx, dword [0x10044ca8]
xor eax, eax
mov dword [0x100441a8], edx
mov dword [0x100441ac], eax
movsx ecx, word [ebp - 0xc]
movzx edx, word [0x100441b0]
xor ecx, edx
mov word [ebp - 0xc], cx
movsx eax, byte [ebp - 6]
imul eax, dword [0x10044118]
movsx ecx, byte [ebp - 6]
sub ecx, eax
mov byte [ebp - 6], cl
jmp 0x10022945
movsx edx, byte [0x1004409e]
test edx, edx
je 0x10022945
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [ebp - 2]
imul eax, ecx
movzx edx, byte [ebp - 0xe]
add edx, eax
mov byte [ebp - 0xe], dl
movsx eax, word [0x100440fc]
cdq
mov ecx, eax
and ecx, dword [ebp - 0x3c]
movsx eax, word [0x100440fc]
cdq
add eax, ecx
mov word [0x100440fc], ax
jmp 0x10022a68
movzx edx, byte [ebp - 3]
movzx eax, byte [ebp - 3]
cmp edx, eax
jge 0x10022962
mov dword [ebp - 0xe4], 1
jmp 0x1002296c
mov dword [ebp - 0xe4], 0
mov ecx, dword [ebp - 0xe4]
not ecx
test ecx, ecx
je 0x100229b0
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
add edx, 1
adc eax, 0
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
movzx ecx, word [0x100441b0]
imul edx, ecx, 0xccf7
mov word [0x100441a0], dx
movsx eax, byte [0x1004409e]
imul ecx, eax, 0x7a
mov byte [ebp - 5], cl
jmp 0x10022a68
movzx edx, word [0x10044124]
test edx, edx
je 0x100229d5
movzx eax, byte [0x100440fa]
movsx ecx, byte [0x1004404d]
xor eax, ecx
mov byte [0x1004409f], al
jmp 0x10022a68
movsx edx, byte [ebp - 0xf]
test edx, edx
jne 0x100229e9
mov dword [ebp - 0xe8], 1
jmp 0x100229f3
mov dword [ebp - 0xe8], 0
movzx eax, byte [0x100440d3]
cmp eax, dword [ebp - 0xe8]
jne 0x10022a68
movsx ecx, word [0x1004419c]
add ecx, 0x3227ab0
movzx edx, word [0x1004418c]
or edx, dword [ebp - 0x2c]
and ecx, edx
mov word [0x10044124], cx
mov eax, dword [0x10044110]
sub eax, 0xd1d7f9f1
mov ecx, dword [0x10044114]
sbb ecx, 0xe99c5
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov ecx, dword [0x10044178]
and ecx, 0x62
mov esi, dword [0x1004417c]
and esi, 0
not ecx
not esi
movsx eax, word [0x1004419c]
cdq
push edx
push eax
push esi
push ecx
call fcn.10026530
mov byte [ebp - 0xd], al
mov edx, 0x19f0
mov word [0x10044174], dx
call fcn.1000d9c0
movzx eax, al
test eax, eax
jne 0x10022c7b
movzx ecx, word [0x10044198]
cmp ecx, dword [0x1004411c]
je 0x10022a9f
mov dword [ebp - 0xec], 1
jmp 0x10022aa9
mov dword [ebp - 0xec], 0
movzx edx, word [0x10044198]
cmp edx, 0x57
je 0x10022ac1
mov dword [ebp - 0xf0], 1
jmp 0x10022acb
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0xec]
cmp eax, dword [ebp - 0xf0]
jne 0x10022bc9
movsx ecx, byte [ebp - 6]
test ecx, ecx
je 0x10022b9a
movsx edx, word [ebp - 0x30]
cmp dword [ebp - 0x2c], edx
jne 0x10022afe
mov dword [ebp - 0xf4], 1
jmp 0x10022b08
mov dword [ebp - 0xf4], 0
cmp dword [ebp - 0x2c], 0x3e
jne 0x10022b1a
mov dword [ebp - 0xf8], 1
jmp 0x10022b24
mov dword [ebp - 0xf8], 0
mov eax, dword [ebp - 0xf4]
cmp eax, dword [ebp - 0xf8]
jl 0x10022b61
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [edx + 0x10152238]
cdq
mov dword [0x10044158], eax
mov dword [0x1004415c], edx
imul eax, dword [0x10044170], 0x64f4784f
movzx ecx, byte [ebp - 2]
add ecx, eax
mov byte [ebp - 2], cl
jmp 0x10022b98
movsx edx, word [ebp - 0xc]
not edx
test edx, edx
je 0x10022b98
movzx eax, byte [0x1004409f]
sub eax, 0x399a
mov byte [0x100440be], al
mov ecx, dword [0x10044128]
mov edx, dword [0x1004412c]
push 0
push 0x4d
push edx
push ecx
call fcn.10026530
mov dword [0x10044118], eax
jmp 0x10022bc7
push 0
push 0x3b
mov eax, dword [0x1004417c]
push eax
mov ecx, dword [0x10044178]
push ecx
call fcn.10026530
or eax, dword [0x10044130]
or edx, dword [0x10044134]
mov dword [0x10044130], eax
mov dword [0x10044134], edx
jmp 0x10022bed
movsx edx, byte [ebp - 1]
test edx, edx
je 0x10022bed
movzx eax, byte [ebp - 4]
add eax, dword [0x10044108]
mov byte [ebp - 4], al
mov cl, byte [0x1004409e]
sub cl, 1
mov byte [0x1004409e], cl
movsx edx, byte [ebp - 6]
cmp dword [0x1004416c], edx
jl 0x10022c50
movsx eax, byte [ebp - 0xf]
movzx ecx, word [ebp - 0x18]
xor eax, ecx
movzx edx, word [0x100441b0]
movzx ecx, byte [ebp - 2]
not ecx
sub edx, ecx
imul eax, edx
mov word [ebp - 0xc], ax
movsx edx, word [ebp - 0x30]
movsx eax, byte [0x100440bf]
sub edx, eax
movsx ecx, word [ebp - 0x30]
sub ecx, edx
mov word [ebp - 0x30], cx
movzx eax, byte [ebp - 3]
movsx edx, byte [ebp - 0xd]
not edx
sub eax, edx
cdq
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x330], edx
sub eax, ecx
mov byte [ebp - 7], al
jmp 0x10022c74
movzx eax, byte [ebp - 4]
imul ecx, eax, 0
test ecx, ecx
je 0x10022c74
mov edx, dword [ebp - 0x28]
add edx, dword [0x10044158]
mov dword [ebp - 0x28], edx
movsx eax, word [ebp - 0x14]
and eax, dword [ebp - 0x2c]
add eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2c], eax
xor eax, eax
jmp 0x10023dbd
movsx ecx, word [0x100440fc]
test ecx, ecx
jne 0x10022c92
mov dword [ebp - 0xfc], 1
jmp 0x10022c9c
mov dword [ebp - 0xfc], 0
mov edx, dword [ebp - 0x2c]
cmp edx, dword [ebp - 0xfc]
je 0x10022cb3
mov dword [ebp - 0x104], 1
jmp 0x10022cbd
mov dword [ebp - 0x104], 0
movsx eax, byte [ebp - 1]
test eax, eax
jne 0x10022cd1
mov dword [ebp - 0x100], 1
jmp 0x10022cdb
mov dword [ebp - 0x100], 0
movzx ecx, byte [ebp - 3]
add ecx, dword [ebp - 0x100]
cmp dword [ebp - 0x104], ecx
jg 0x10022cf9
mov dword [ebp - 0x10c], 1
jmp 0x10022d03
mov dword [ebp - 0x10c], 0
movzx edx, word [0x1004410c]
test edx, edx
jne 0x10022d22
xor eax, eax
mov dword [ebp - 0x1b8], 1
mov dword [ebp - 0x1b4], eax
jmp 0x10022d2d
xorps xmm0, xmm0
movlpd qword [ebp - 0x1b8], xmm0
cmp dword [ebp - 0x1b4], 0x5ff26
jg 0x10022d53
jl 0x10022d47
cmp dword [ebp - 0x1b8], 0xe7ddbabf
jae 0x10022d53
mov dword [ebp - 0x108], 1
jmp 0x10022d5d
mov dword [ebp - 0x108], 0
movsx ecx, byte [0x1004403b]
cmp ecx, dword [ebp - 0x108]
je 0x10022d78
mov dword [ebp - 0x110], 1
jmp 0x10022d82
mov dword [ebp - 0x110], 0
mov edx, dword [ebp - 0x10c]
cmp edx, dword [ebp - 0x110]
jge 0x10022d9d
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x10022dba
movzx eax, word [0x100441b0]
movzx ecx, word [ebp - 0x18]
sub eax, ecx
movzx edx, word [0x100441b0]
xor edx, eax
mov word [0x100441b0], dx
call fcn.10012270
test eax, eax
je 0x10022dc9
mov byte [ebp - 0x32], 1
jmp 0x10022dcd
mov byte [ebp - 0x32], 0
mov al, byte [ebp - 0x32]
mov byte [ebp - 0x45], al
mov byte [ebp - 7], 2
movsx ecx, byte [ebp - 6]
movsx edx, word [0x1004419c]
imul ecx, edx
test ecx, ecx
jne 0x10022df5
mov dword [ebp - 0x114], 1
jmp 0x10022dff
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x2c], eax
mov cx, word [0x100440fc]
sub cx, 1
mov word [0x100440fc], cx
movzx edx, byte [0x1004409f]
mov eax, dword [ebp - 0x28]
imul eax, edx
mov ecx, dword [ebp - 0x28]
add ecx, eax
mov dword [ebp - 0x28], ecx
mov dl, byte [ebp - 7]
mov byte [ebp - 0x80], dl
cmp byte [ebp - 0x80], 0
je 0x10022e49
cmp byte [ebp - 0x80], 1
je 0x10022e6c
cmp byte [ebp - 0x80], 2
je 0x10022e8f
jmp 0x10022e99
movsx eax, byte [ebp - 1]
cdq
mov ecx, dword [0x10044128]
mov esi, dword [0x1004412c]
add ecx, eax
adc esi, edx
mov dword [0x10044128], ecx
mov dword [0x1004412c], esi
jmp 0x10022e99
movzx edx, byte [ebp - 4]
sub edx, 0x6a
movsx eax, byte [ebp - 0xf]
imul eax, edx
mov byte [ebp - 0xf], al
movzx eax, word [ebp - 0x18]
xor eax, 0xab11
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x10022e99
mov dword [0x10044194], 2
movzx ecx, byte [ebp - 0x45]
test ecx, ecx
jne 0x10023ce4
mov dword [ebp - 0x70], 0
jmp 0x10022eb7
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
cmp dword [ebp - 0x70], 0x3a5
jge 0x10022ed5
movzx eax, byte [ebp - 3]
imul ecx, eax, 0x7f
mov byte [ebp - 0xe], cl
mov dl, byte [ebp - 4]
add dl, 1
mov byte [ebp - 4], dl
jmp 0x10022eae
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x28]
xor esi, esi
mov dword [ebp - 0x20c], eax
mov dword [ebp - 0x208], ecx
mov dword [ebp - 0x214], edx
mov dword [ebp - 0x210], esi
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x214]
jne 0x10022f14
mov ecx, dword [ebp - 0x208]
cmp ecx, dword [ebp - 0x210]
je 0x10022f20
mov dword [ebp - 0x118], 1
jmp 0x10022f2a
mov dword [ebp - 0x118], 0
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x21c], edx
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x21c], 0x27
jne 0x10022f4e
cmp dword [ebp - 0x218], 0
je 0x10022f5a
mov dword [ebp - 0x11c], 1
jmp 0x10022f64
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jl 0x10022f9b
movsx edx, byte [ebp - 5]
mov eax, dword [ebp - 0x28]
imul eax, edx
mov dword [ebp - 0x28], eax
mov byte [0x1004403a], 0xfa
mov eax, dword [0x10044110]
mov edx, dword [0x10044114]
mov cl, 8
call fcn.10026640
mov byte [ebp - 2], al
mov ecx, dword [0x10044ca8]
mov dword [ebp - 0x74], ecx
push 0
push 0xa6
push 0
push 0
call fcn.1001d0c0
add esp, 0x10
mov word [ebp - 0x1c], ax
movsx edx, word [ebp - 0x1c]
test edx, edx
jle 0x10022fd8
movzx eax, word [0x1004414c]
sub eax, 0xc37b
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x10023032
mov eax, dword [0x10044190]
xor ecx, ecx
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x220], ecx
mov edx, dword [ebp - 0x220]
cmp edx, dword [0x1004415c]
jl 0x10023015
jg 0x10023009
mov eax, dword [ebp - 0x224]
cmp eax, dword [0x10044158]
jbe 0x10023015
mov dword [ebp - 0x120], 1
jmp 0x1002301f
mov dword [ebp - 0x120], 0
mov ecx, dword [ebp - 0x120]
not ecx
test ecx, ecx
je 0x10023032
mov byte [0x1004404d], 0x14
mov edx, dword [ebp - 0x74]
add edx, 0x5df
mov dword [ebp - 0x204], edx
mov al, byte [0x10044ca8]
mov byte [ebp - 6], al
mov ecx, dword [ebp - 0x74]
add ecx, 0x5d2
mov dword [ebp - 0x130], ecx
movzx eax, word [0x1004410c]
cdq
mov dword [ebp - 0x22c], eax
mov dword [ebp - 0x228], edx
mov edx, dword [ebp - 0x22c]
cmp edx, dword [0x10044110]
jne 0x10023094
mov eax, dword [ebp - 0x228]
cmp eax, dword [0x10044114]
jne 0x10023094
mov dword [ebp - 0x124], 1
jmp 0x1002309e
mov dword [ebp - 0x124], 0
movzx ecx, word [0x1004410c]
cmp ecx, 8
jne 0x100230b6
mov dword [ebp - 0x128], 1
jmp 0x100230c0
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x128]
je 0x100230e2
mov byte [ebp - 6], 0xee
movsx eax, byte [0x1004403b]
imul ecx, eax, 0x4f9e
mov byte [ebp - 0xf], cl
mov edx, dword [ebp - 0x74]
add edx, 0x57e
mov dword [ebp - 0x134], edx
movzx eax, byte [ebp - 0xe]
test eax, eax
je 0x100231ab
push 0xd9
push 0
movzx ecx, word [ebp - 0x18]
push ecx
push 0
call fcn.1001d630
add esp, 0x10
xor edx, edx
mov dword [0x100441a8], eax
mov dword [0x100441ac], edx
cmp dword [0x100441ac], 0
ja 0x10023132
cmp dword [0x100441a8], 0
jb 0x100231ab
movsx eax, byte [0x1004404d]
cdq
mov ecx, dword [0x10044100]
mov esi, dword [0x10044104]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x23c], ecx
mov dword [ebp - 0x238], esi
mov edx, dword [ebp - 0x23c]
or edx, dword [ebp - 0x238]
jne 0x10023170
mov dword [ebp - 0x12c], 1
jmp 0x1002317a
mov dword [ebp - 0x12c], 0
movzx eax, byte [0x100440be]
mov ecx, dword [ebp - 0x12c]
sub ecx, eax
not ecx
add ecx, dword [0x10044170]
mov byte [0x1004404e], cl
movsx edx, byte [ebp - 0xd]
movsx eax, byte [ebp - 6]
imul edx, eax
movsx ecx, byte [ebp - 0xd]
add ecx, edx
mov byte [ebp - 0xd], cl
mov edx, 0x1bf
sub edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0x130]
add eax, dword [ebp - 0x134]
add edx, eax
mov ecx, dword [ebp - 0x204]
sub ecx, dword [ebp - 0x134]
cmp edx, ecx
je 0x10023ce4
push 0
push 0
push 0
push 0xe4
call fcn.1001d9b0
add esp, 0x10
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x10023237
mov dword [ebp - 0x78], 0
jmp 0x10023206
mov edx, dword [ebp - 0x78]
add edx, 2
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x78], 0x20
jge 0x10023237
mov eax, 4
imul ecx, eax, 9
movzx edx, word [ebp - 0x18]
imul edx, dword [ecx + 0x10152210]
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
jmp 0x100231fd
movzx edx, byte [ebp - 0xc]
push edx
push 0
push 0
push 0x71
call fcn.1001cdc0
add esp, 0x10
mov byte [ebp - 1], al
movsx eax, word [ebp - 0xc]
test eax, eax
jne 0x10023261
mov dword [ebp - 0x138], 1
jmp 0x1002326b
mov dword [ebp - 0x138], 0
movzx ecx, byte [ebp - 7]
cmp dword [ebp - 0x138], ecx
je 0x100232b9
movzx edx, word [ebp - 0x18]
movzx eax, word [0x100441b0]
cmp edx, eax
je 0x100232b9
movsx ecx, byte [ebp - 1]
movzx edx, word [0x10044198]
cmp ecx, edx
jne 0x100232a1
mov dword [ebp - 0x13c], 1
jmp 0x100232ab
mov dword [ebp - 0x13c], 0
movzx eax, byte [ebp - 3]
not eax
cmp eax, dword [ebp - 0x13c]
jl 0x100232e9
movsx ecx, byte [ebp - 0xd]
movzx edx, byte [ebp - 7]
cmp ecx, edx
jne 0x100232d5
mov eax, dword [0x10044148]
add eax, 0x9baa
mov word [ebp - 0x14], ax
jmp 0x100232e7
xor ecx, ecx
mov dword [0x10044140], 1
mov dword [0x10044144], ecx
jmp 0x100232f6
movsx eax, byte [ebp - 5]
cdq
add eax, 0x3d41a326
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x140]
add edx, 0xf8
mov eax, dword [ebp - 0x140]
add eax, dword [ebp - 0x144]
imul ecx, dword [ebp - 0x144], 0x29f
imul eax, ecx
cmp edx, eax
je 0x10023cbf
mov byte [ebp - 4], 4
cmp dword [0x10044108], 0
je 0x1002333b
mov dl, byte [0x1004403a]
mov byte [ebp - 0x33], dl
jmp 0x10023341
mov al, byte [ebp - 1]
mov byte [ebp - 0x33], al
mov cl, byte [ebp - 0x33]
mov byte [0x1004409e], cl
movzx edx, byte [ebp - 4]
mov dword [ebp - 0x148], edx
cmp dword [ebp - 0x148], 4
ja case.default.0x10023367
mov eax, dword [ebp - 0x148]
jmp dword [eax*4 + 0x10023de8]
mov ecx, dword [0x10044184]
sub ecx, dword [0x10044184]
or ecx, dword [0x10044184]
mov dword [0x10044184], ecx
jmp case.default.0x10023367
mov edx, 4
shl edx, 1
mov eax, dword [edx + 0x101da820]
mov dword [ebp - 0x2c], eax
jmp case.default.0x10023367
movsx ecx, word [0x1004419c]
imul edx, ecx, 0x7592
movsx eax, byte [ebp - 5]
add eax, edx
mov byte [ebp - 5], al
jmp case.default.0x10023367
movsx ecx, word [ebp - 0xc]
mov edx, dword [ebp - 0x28]
xor edx, ecx
mov eax, dword [ebp - 0x28]
add eax, edx
mov dword [ebp - 0x28], eax
movsx ecx, word [ebp - 0x14]
movzx edx, byte [ebp - 4]
add ecx, edx
movsx eax, word [ebp - 0x14]
add eax, ecx
mov word [ebp - 0x14], ax
movsx ecx, word [ebp - 0x30]
imul edx, ecx, 0xf3
mov word [ebp - 0x14], dx
jmp case.default.0x10023367
movsx eax, byte [ebp - 0xf]
imul eax, eax, 0xa46d
cdq
add eax, dword [0x100441a8]
adc edx, dword [0x100441ac]
mov dword [0x100441a8], eax
mov dword [0x100441ac], edx
mov ecx, dword [0x1004416c]
sub ecx, 0x5d71
movsx edx, word [ebp - 0x1c]
sub edx, ecx
mov word [ebp - 0x1c], dx
movsx eax, byte [0x10044076]
not eax
cmp eax, 0x62
jg 0x1002344a
movsx ecx, byte [0x1004404d]
test ecx, ecx
jne 0x1002344a
mov dword [ebp - 0x150], 0
jmp 0x10023454
mov dword [ebp - 0x150], 1
cmp dword [0x1004416c], 0
jne 0x10023497
movsx edx, byte [ebp - 0xf]
movsx eax, byte [ebp - 1]
cmp edx, eax
je 0x10023475
mov dword [ebp - 0x14c], 1
jmp 0x1002347f
mov dword [ebp - 0x14c], 0
mov ecx, dword [ebp - 0x14c]
not ecx
test ecx, ecx
jne 0x10023497
mov dword [ebp - 0x154], 0
jmp 0x100234a1
mov dword [ebp - 0x154], 1
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x154]
je 0x100234c6
mov byte [ebp - 6], 0x60
movsx eax, byte [ebp - 1]
sar eax, 3
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10023594
mov ecx, dword [0x10044128]
mov esi, dword [0x1004412c]
not ecx
not esi
movsx eax, byte [ebp - 0xd]
cdq
mov dword [ebp - 0x244], ecx
mov dword [ebp - 0x240], esi
mov dword [ebp - 0x24c], eax
mov dword [ebp - 0x248], edx
mov edx, dword [ebp - 0x240]
cmp edx, dword [ebp - 0x248]
jl 0x1002351f
jg 0x10023511
mov eax, dword [ebp - 0x244]
cmp eax, dword [ebp - 0x24c]
jb 0x1002351f
mov cx, word [ebp - 0x18]
sub cx, 1
mov word [ebp - 0x18], cx
jmp 0x10023594
movzx edx, word [0x10044198]
test edx, edx
je 0x10023594
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x334], eax
sub ecx, edx
movsx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x10044076]
movsx edx, word [0x1004419c]
xor ecx, edx
mov byte [0x10044076], cl
cmp dword [0x10044120], 0
je 0x10023575
movsx eax, byte [ebp - 6]
mov dword [ebp - 0x158], eax
jmp 0x10023582
movzx ecx, word [0x1004414c]
mov dword [ebp - 0x158], ecx
mov eax, dword [ebp - 0x158]
cdq
mov dword [0x10044128], eax
mov dword [0x1004412c], edx
call fcn.1000fbd0
test eax, eax
je 0x10023cbf
movsx edx, word [0x10044180]
cmp dword [0x10044160], edx
jl 0x10023767
movzx eax, byte [ebp - 0xe]
movzx ecx, byte [0x100440fa]
cmp eax, ecx
jl 0x100235cf
mov dword [ebp - 0x15c], 1
jmp 0x100235d9
mov dword [ebp - 0x15c], 0
movzx edx, byte [ebp - 0xe]
cmp edx, 0xf
jl 0x100235ee
mov dword [ebp - 0x160], 1
jmp 0x100235f8
mov dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x160]
jle 0x100236bf
movsx ecx, byte [ebp - 1]
cmp dword [0x10044160], ecx
jne 0x10023622
mov dword [ebp - 0x164], 1
jmp 0x1002362c
mov dword [ebp - 0x164], 0
cmp dword [0x10044160], 0x63
jne 0x10023641
mov dword [ebp - 0x168], 1
jmp 0x1002364b
mov dword [ebp - 0x168], 0
mov edx, dword [ebp - 0x164]
cmp edx, dword [ebp - 0x168]
jl 0x1002368b
movsx eax, word [0x1004419c]
movzx ecx, byte [ebp - 3]
imul eax, ecx
mov dword [0x10044164], eax
mov edx, dword [ebp - 0x28]
add edx, 0x6d
mov word [ebp - 0x18], dx
movsx eax, byte [ebp - 5]
sub eax, dword [0x10044194]
movsx ecx, byte [ebp - 5]
add ecx, eax
mov byte [ebp - 5], cl
jmp 0x100236ba
mov edx, dword [0x10044140]
or edx, dword [0x10044144]
je 0x100236ba
mov eax, dword [0x10044120]
sub eax, 0xdb7fcded
mov byte [ebp - 4], al
movzx ecx, word [0x10044174]
imul edx, ecx, 0x40f4
mov word [0x10044198], dx
jmp 0x10023762
movsx eax, byte [ebp - 1]
not eax
cmp dword [0x1004416c], eax
jne 0x100236d9
mov dword [ebp - 0x170], 1
jmp 0x100236e3
mov dword [ebp - 0x170], 0
movsx ecx, byte [0x10044077]
test ecx, ecx
jne 0x100236fa
mov dword [ebp - 0x16c], 1
jmp 0x10023704
mov dword [ebp - 0x16c], 0
movsx edx, byte [0x10044076]
cmp dword [ebp - 0x16c], edx
jle 0x1002371f
mov dword [ebp - 0x174], 1
jmp 0x10023729
mov dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x174]
jne 0x10023762
movsx eax, word [ebp - 0xc]
cdq
add eax, dword [0x100441a8]
adc edx, dword [0x100441ac]
mov ecx, dword [0x100441a8]
sub ecx, eax
mov eax, dword [0x100441ac]
sbb eax, edx
mov dword [0x100441a8], ecx
mov dword [0x100441ac], eax
jmp 0x10023811
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x254], ecx
mov dword [ebp - 0x250], edx
mov eax, dword [ebp - 0x254]
or eax, dword [ebp - 0x250]
je 0x10023811
movzx eax, word [0x1004410c]
cdq
mov ecx, eax
mov edx, dword [0x10044128]
mov eax, dword [0x1004412c]
mov dword [ebp - 0x338], eax
add ecx, edx
movzx eax, word [0x1004410c]
cdq
add eax, ecx
mov word [0x1004410c], ax
mov cx, word [ebp - 0xc]
mov edx, 1
imul eax, edx, 0x1e
mov byte [eax + 0x100f3418], cl
movzx ecx, word [0x10044124]
test ecx, ecx
jne 0x100237e9
xor edx, edx
mov dword [ebp - 0x1c0], 1
mov dword [ebp - 0x1bc], edx
jmp 0x100237f4
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c0], xmm0
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x20]
and eax, dword [ebp - 0x1c0]
and ecx, dword [ebp - 0x1bc]
mov dword [0x10044130], eax
mov dword [0x10044134], ecx
mov edx, dword [0x10044150]
mov eax, dword [0x10044154]
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
mov dword [ebp - 0x25c], edx
mov dword [ebp - 0x258], eax
mov dword [ebp - 0x264], ecx
mov dword [ebp - 0x260], esi
mov edx, dword [ebp - 0x258]
cmp edx, dword [ebp - 0x260]
jg 0x100239c9
jl 0x10023860
mov eax, dword [ebp - 0x25c]
cmp eax, dword [ebp - 0x264]
ja 0x100239c9
movsx ecx, byte [0x10044076]
cmp dword [ebp - 0x2c], ecx
jb 0x10023878
mov dword [ebp - 0x178], 1
jmp 0x10023882
mov dword [ebp - 0x178], 0
movsx edx, word [ebp - 0x14]
cmp dword [ebp - 0x178], edx
jle 0x10023897
mov eax, 0x2e
test eax, eax
jne 0x100238de
movzx eax, byte [ebp - 3]
cdq
mov ecx, dword [0x10044144]
push ecx
mov ecx, dword [0x10044140]
push ecx
push edx
push eax
call fcn.10026530
mov ecx, eax
movzx eax, byte [ebp - 3]
cdq
sub eax, ecx
mov byte [ebp - 3], al
mov dword [0x10044168], 0x7be0a3a0
imul edx, dword [0x10044164], 0x50d6d758
xor eax, eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
jmp 0x100239c9
movsx ecx, word [ebp - 0x14]
cmp ecx, 0xffffa9ac
jge 0x1002390e
xor edx, edx
mov dword [0x10044158], 0x3e
mov dword [0x1004415c], edx
movsx eax, byte [ebp - 6]
movzx ecx, byte [ebp - 2]
sub eax, ecx
mov byte [ebp - 6], al
jmp 0x100239c9
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x268], eax
mov ecx, dword [ebp - 0x26c]
or ecx, dword [ebp - 0x268]
je 0x1002396b
movsx eax, word [ebp - 0xc]
cdq
mov dword [ebp - 0x2a4], eax
mov dword [ebp - 0x2a0], edx
mov edx, dword [ebp - 0x2a0]
cmp edx, dword [0x10044134]
jg 0x1002396b
jl 0x1002395d
mov eax, dword [ebp - 0x2a4]
cmp eax, dword [0x10044130]
ja 0x1002396b
mov ecx, dword [ebp - 0x28]
add ecx, 0x49348cf8
mov byte [ebp - 2], cl
jmp 0x100239c9
mov edx, 0x590f6810
test edx, edx
je 0x100239c9
movzx eax, byte [ebp - 4]
test eax, eax
jne 0x10023988
mov dword [ebp - 0x17c], 1
jmp 0x10023992
mov dword [ebp - 0x17c], 0
mov ecx, dword [0x10044170]
imul ecx, dword [ebp - 0x17c]
mov byte [ebp - 5], cl
mov dword [0x10044188], 8
mov edx, 1
imul eax, edx, 0x16
movsx ecx, byte [eax + 0x100f3418]
mov edx, dword [0x10044148]
sub edx, ecx
mov dword [0x10044148], edx
call fcn.1000e0d0
test eax, eax
je 0x10023cbf
mov eax, dword [0x10044100]
mov ecx, dword [0x10044104]
mov dword [ebp - 0x33c], ecx
push eax
push 0
push 0
movsx edx, word [ebp - 0x30]
push edx
call fcn.1001d630
add esp, 0x10
mov dword [0x10044194], eax
mov eax, dword [0x10044194]
xor ecx, ecx
xor eax, dword [0x10044138]
xor ecx, dword [0x1004413c]
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], ecx
mov edx, dword [ebp - 0x274]
or edx, dword [ebp - 0x270]
je 0x10023ad4
push 0x8c
push 0
movzx eax, byte [0x1004404e]
push eax
push 0
call fcn.1001cdc0
add esp, 0x10
mov byte [ebp - 3], al
movzx ecx, byte [ebp - 3]
test ecx, ecx
jl 0x10023ab0
mov dword [ebp - 0x7c], 0xa9
jmp 0x10023a65
mov edx, dword [ebp - 0x7c]
sub edx, 1
mov dword [ebp - 0x7c], edx
cmp dword [ebp - 0x7c], 0
jle 0x10023aae
movsx eax, byte [0x1004403b]
cdq
add eax, dword [0x100441a8]
adc edx, dword [0x100441ac]
mov ecx, dword [0x100441a8]
sub ecx, eax
mov eax, dword [0x100441ac]
sbb eax, edx
mov dword [0x100441a8], ecx
mov dword [0x100441ac], eax
mov byte [ebp - 2], 0xab
mov ecx, dword [0x1004411c]
add ecx, 1
mov dword [0x1004411c], ecx
jmp 0x10023a5c
jmp 0x10023acf
movzx edx, byte [ebp - 7]
movzx eax, word [0x1004414c]
cmp edx, eax
jl 0x10023acf
movzx eax, byte [ebp - 7]
sub eax, 0x9eb9
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
jmp 0x10023c13
movzx ecx, byte [0x1004404f]
cmp ecx, dword [0x10044188]
jg 0x10023aef
mov dword [ebp - 0x180], 1
jmp 0x10023af9
mov dword [ebp - 0x180], 0
cmp dword [ebp - 0x180], 1
jne 0x10023b1d
mov edx, dword [ebp - 0x28]
sub edx, 0x45
movsx eax, word [0x10044180]
imul eax, edx
mov word [0x10044180], ax
jmp 0x10023c13
movzx ecx, byte [ebp - 4]
test ecx, ecx
jne 0x10023b31
mov dword [ebp - 0x184], 1
jmp 0x10023b3b
mov dword [ebp - 0x184], 0
movzx edx, byte [ebp - 2]
imul eax, edx, 0x53c7
movsx ecx, byte [ebp - 1]
imul ecx, dword [ebp - 0x184]
cmp eax, ecx
jle 0x10023ba2
mov edx, dword [ebp - 0x3c]
or edx, dword [ebp - 0x38]
jne 0x10023b68
mov dword [ebp - 0x188], 1
jmp 0x10023b72
mov dword [ebp - 0x188], 0
movsx eax, byte [ebp - 6]
cdq
mov ecx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x20]
push edx
push eax
push esi
push ecx
call fcn.10026530
mov ecx, eax
mov eax, 0x46067d0f
sub eax, dword [ebp - 0x188]
not eax
cdq
add ecx, eax
not ecx
mov dword [0x10044188], ecx
jmp 0x10023c13
movsx edx, word [0x10044180]
movsx eax, byte [ebp - 1]
cmp edx, eax
jle 0x10023be8
movsx ecx, word [0x1004419c]
test ecx, ecx
jne 0x10023be8
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x27c], edx
mov dword [ebp - 0x278], eax
mov ecx, dword [ebp - 0x27c]
or ecx, dword [ebp - 0x278]
jne 0x10023be8
mov dword [ebp - 0x18c], 0
jmp 0x10023bf2
mov dword [ebp - 0x18c], 1
mov edx, dword [ebp - 0x18c]
not edx
test edx, edx
je 0x10023c13
movsx eax, word [0x100440fc]
not eax
mov byte [0x1004404f], al
mov byte [0x1004404d], 0xaf
mov ecx, dword [0x10044128]
mov edx, dword [0x1004412c]
mov dword [ebp - 0x284], ecx
mov dword [ebp - 0x280], edx
mov eax, dword [0x100441a8]
cmp eax, dword [ebp - 0x284]
jne 0x10023c46
mov ecx, dword [0x100441ac]
cmp ecx, dword [ebp - 0x280]
je 0x10023c52
mov dword [ebp - 0x190], 1
jmp 0x10023c5c
mov dword [ebp - 0x190], 0
cmp dword [ebp - 0x190], 1
jle 0x10023ca0
movsx edx, word [ebp - 0xc]
cmp edx, 0xb3
jg 0x10023c7d
mov dword [ebp - 0x194], 1
jmp 0x10023c87
mov dword [ebp - 0x194], 0
cmp dword [ebp - 0x194], 0xa2
jl 0x10023ca0
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov byte [0x100440d3], al
jmp 0x10023cb5
movsx eax, byte [0x100440bf]
test eax, eax
je 0x10023cb5
mov dword [0x10044194], 0x1a5b
mov eax, 1
jmp 0x10023dbd
mov ecx, dword [0x10044130]
sub ecx, 1
mov edx, dword [0x10044134]
sbb edx, 0
mov dword [0x10044130], ecx
mov dword [0x10044134], edx
xor eax, eax
jmp 0x10023dbd
cmp dword [0x1004411c], 0
je 0x10023d97
movzx eax, byte [0x100440fb]
push eax
push 0
mov ecx, dword [0x10044150]
mov edx, dword [0x10044154]
mov dword [ebp - 0x340], edx
movzx eax, cl
push eax
push 0xb0
call fcn.1001cdc0
add esp, 0x10
mov byte [ebp - 5], al
movzx ecx, word [0x100441b0]
not ecx
test ecx, ecx
je 0x10023d3e
imul edx, dword [0x10044164], 0x89
mov word [ebp - 0xc], dx
jmp 0x10023d95
mov eax, dword [0x10044110]
or eax, dword [0x10044114]
je 0x10023d5f
movsx ecx, byte [ebp - 6]
test ecx, ecx
je 0x10023d5f
mov dword [ebp - 0x198], 1
jmp 0x10023d69
mov dword [ebp - 0x198], 0
mov edx, dword [0x10044178]
or edx, dword [0x1004417c]
jne 0x10023d8b
movsx eax, word [ebp - 0x1c]
test eax, eax
jne 0x10023d8b
mov dword [ebp - 0x19c], 0
jmp 0x10023d95
mov dword [ebp - 0x19c], 1
jmp 0x10023db8
mov edx, dword [0x10044ca8]
mov dword [0x10044194], edx
movsx eax, byte [0x100440fb]
movsx ecx, byte [0x100440bf]
and eax, ecx
mov byte [0x100440fb], al
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4