Function at 0x10004421
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100184b1
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x6f4
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
movzx eax, byte [0x100228e7]
cdq
mov dword [ebp - 0x694], eax
mov dword [ebp - 0x690], edx
mov eax, 0xffffdd43
mov word [ebp - 0x20], ax
mov byte [ebp - 0x13], 0x5a
mov byte [ebp - 0x11], 0xa4
mov eax, dword [0x10022950]
mov word [ebp - 0x1c], ax
movzx eax, byte [0x100228e7]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
xor eax, eax
mov dword [ebp - 0x38], 0xb8
mov dword [ebp - 0x34], eax
xor eax, eax
mov dword [ebp - 0x30], 0xc0f0
mov dword [ebp - 0x2c], eax
mov ax, word [0x10022918]
mov word [ebp - 0x18], ax
mov eax, dword [0x10022928]
mov dword [ebp - 0x58], eax
mov eax, dword [0x10022948]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x1002291c]
mov dword [ebp - 0x48], eax
xor eax, eax
mov dword [ebp - 0x6c], 0x6280
mov dword [ebp - 0x68], eax
mov eax, 0xffffd689
mov word [ebp - 0x28], ax
mov byte [ebp - 0x12], 0xc2
mov byte [ebp - 0x14], 0x5a
mov eax, 0x123a7
mov dword [ebp - 0x54], 0x8b899a71
mov dword [ebp - 0x50], eax
mov byte [ebp - 0x5c], 0x7f
mov dword [ebp - 0x44], 0x72bc
mov eax, dword [0x100228f0]
mov ecx, dword [0x100228f4]
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
mov eax, 0xcb91
mov word [ebp - 0x24], ax
mov byte [ebp - 0xf1], 0x90
xor eax, eax
mov dword [ebp - 0x69c], 0x28
mov dword [ebp - 0x698], eax
movsx eax, word [0x100228f8]
mov dword [ebp - 0x640], eax
mov eax, dword [0x10022928]
mov dword [ebp - 0x63c], eax
mov byte [ebp - 0xf2], 0x73
mov byte [ebp - 0xf3], 0x19
mov eax, dword [0x100228f0]
mov ecx, dword [0x100228f4]
mov dword [ebp - 0x60c], ecx
mov word [ebp - 0x2ec], ax
xor eax, eax
mov dword [ebp - 0x6a4], 0x66
mov dword [ebp - 0x6a0], eax
mov byte [ebp - 0xf4], 0x69
movzx eax, word [0x10022960]
mov dword [ebp - 0x644], eax
mov al, byte [0x100228e1]
mov byte [ebp - 0xf5], al
push 0x1001e0e0
push 0x1001e0f0
call dword [sym.imp.KERNEL32.dll_lstrcmpiA]
mov dword [0x1013ac30], eax
call dword [sym.imp.USER32.dll_GetDialogBaseUnits]
mov byte [ebp - 0x12], al
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x90], eax
movsx eax, word [0x1002295c]
cdq
mov dword [ebp - 0x358], eax
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x354]
ja 0x10004723
jb 0x100045f2
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x358]
ja 0x10004723
call dword [sym.imp.KERNEL32.dll_GetEnvironmentStrings]
mov word [0x10022918], ax
movzx eax, word [ebp - 0x24]
movzx ecx, word [ebp - 0x24]
cmp eax, ecx
jne 0x1000461e
xor eax, eax
mov dword [ebp - 0x250], 1
mov dword [ebp - 0x24c], eax
jmp 0x10004629
xorps xmm0, xmm0
movlpd qword [ebp - 0x250], xmm0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x360], eax
mov dword [ebp - 0x35c], ecx
mov eax, dword [ebp - 0x24c]
cmp eax, dword [ebp - 0x35c]
jg 0x10004665
jl 0x10004659
mov eax, dword [ebp - 0x250]
cmp eax, dword [ebp - 0x360]
jae 0x10004665
mov dword [ebp - 0x220], 1
jmp 0x1000466c
and dword [ebp - 0x220], 0
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x368], eax
mov dword [ebp - 0x364], edx
mov eax, dword [ebp - 0x368]
cmp eax, dword [ebp - 0x6c]
jne 0x1000469f
mov eax, dword [ebp - 0x364]
cmp eax, dword [ebp - 0x68]
jne 0x1000469f
mov dword [ebp - 0x224], 1
jmp 0x100046a6
and dword [ebp - 0x224], 0
mov eax, dword [ebp - 0x220]
cmp eax, dword [ebp - 0x224]
jg 0x100046d6
mov dword [ebp - 0x4c], 0xc8f0
movsx eax, byte [ebp - 0x14]
mov ecx, dword [0x10022928]
imul ecx, eax
mov eax, dword [0x10022928]
shl eax, cl
mov dword [0x10022928], eax
jmp 0x10004721
movsx eax, word [ebp - 0x28]
sub eax, dword [0x10022950]
je 0x10004721
movsx eax, byte [0x100228e0]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
movzx eax, byte [0x100228e1]
add eax, dword [0x10022948]
movsx edx, word [ebp - 0x18]
sub eax, edx
add ecx, eax
mov byte [0x100228e3], cl
mov al, byte [0x1013ac30]
mov byte [0x100228ec], al
movsx eax, byte [0x100228ea]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x1000474b
cmp dword [0x10022900], 0
jge 0x1000474b
mov eax, dword [0x1013ac30]
mov dword [0x10022920], eax
mov eax, dword [0x1013ac30]
mov dword [0x1002292c], eax
mov eax, 0x88fb
mov word [0x10022960], ax
mov eax, dword [ebp - 0x90]
add eax, 0x25b
mov dword [ebp - 0x2f4], eax
movsx eax, byte [0x100228e6]
imul eax, eax, 0xeb
cdq
add eax, dword [0x10022910]
adc edx, dword [0x10022914]
mov dword [0x10022910], eax
mov dword [0x10022914], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
add eax, 0x38d5
adc ecx, 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
xor eax, eax
inc eax
imul eax, eax, 0x98
movzx eax, byte [eax + 0x10117888]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x90]
add eax, 0x3e2
mov dword [ebp - 0x12c], eax
push 0
push 0
push 0
push 0x64
push 0
push 0
mov eax, dword [ebp - 0x48]
cdq
push edx
push eax
call fcn.10001484
add esp, 0x20
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
cmp dword [ebp - 0x36c], 0
jl 0x1000480f
jg 0x10004803
cmp dword [ebp - 0x370], 0
jbe 0x1000480f
mov dword [ebp - 0x228], 1
jmp 0x10004816
and dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], ecx
cmp dword [ebp - 0x374], 0
jl 0x10004848
jg 0x1000483c
cmp dword [ebp - 0x378], 0x27
jbe 0x10004848
mov dword [ebp - 0x22c], 1
jmp 0x1000484f
and dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x228]
cmp eax, dword [ebp - 0x22c]
jg 0x1000486b
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x90]
add eax, 0x327
mov dword [ebp - 0x128], eax
movsx eax, word [0x10022904]
cdq
push 0xb1269
push 0x2efb4a46
push edx
push eax
call fcn.10018350
mov dword [0x10022908], eax
mov dword [0x1002290c], edx
movzx eax, word [0x10022930]
movzx ecx, byte [ebp - 0x12]
imul eax, ecx
movsx ecx, byte [ebp - 0x14]
mov edx, dword [ebp - 0x44]
neg edx
sbb edx, edx
inc edx
sub ecx, edx
add eax, ecx
movsx ecx, byte [ebp - 0x14]
movsx edx, word [ebp - 0x28]
imul ecx, edx
movsx edx, word [ebp - 0x20]
movsx esi, word [ebp - 0x18]
imul edx, esi
add ecx, edx
add eax, ecx
mov word [0x10022918], ax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x94], eax
push 0x9e
movzx eax, word [0x10022918]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x648], ecx
mov cx, ax
mov dx, 0x3b
call fcn.10001c3f
pop ecx
pop ecx
mov word [0x10022904], ax
cmp dword [ebp - 0x38], 0x6ca409e5
jne 0x10004928
cmp dword [ebp - 0x34], 0x394bd
je 0x10004934
mov dword [ebp - 0x230], 1
jmp 0x1000493b
and dword [ebp - 0x230], 0
movzx eax, byte [0x100228eb]
xor ecx, ecx
cmp dword [ebp - 0x230], eax
setg cl
mov eax, dword [ebp - 0x58]
imul eax, ecx
test eax, eax
je 0x1000497e
mov esi, str.User_accepted_MDM
lea edi, [ebp - 0x6c8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x6c8]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x10022954], ax
jmp 0x100049ac
movsx eax, word [ebp - 0x18]
not eax
test eax, eax
je 0x100049ac
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x4c], 1
mov eax, dword [0x10022970]
push 2
pop ecx
imul ecx, ecx, 0x145
mov word [ecx + 0x10116e90], ax
mov eax, dword [ebp - 0x94]
add eax, 0x3ad8
mov dword [ebp - 0x64c], eax
mov eax, dword [0x10022908]
or eax, dword [0x1002290c]
je 0x10004bc4
cmp dword [0x1002294c], 0
je 0x10004b55
and dword [ebp - 4], 0
movsx eax, word [0x10022904]
mov ecx, dword [0x10022928]
imul ecx, eax
mov eax, dword [0x10022928]
or eax, ecx
mov dword [0x10022928], eax
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x10004a17
xor eax, eax
mov dword [ebp - 0x258], 1
mov dword [ebp - 0x254], eax
jmp 0x10004a22
xorps xmm0, xmm0
movlpd qword [ebp - 0x258], xmm0
mov eax, dword [0x10022978]
mov ecx, dword [0x1002297c]
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], ecx
mov eax, dword [ebp - 0x380]
or eax, dword [ebp - 0x37c]
jne 0x10004a53
mov dword [ebp - 0x234], 1
jmp 0x10004a5a
and dword [ebp - 0x234], 0
movsx eax, word [0x10022924]
neg eax
sbb eax, eax
inc eax
movsx ecx, word [0x100228f8]
sub eax, ecx
not eax
cdq
mov ecx, dword [0x10022968]
sub ecx, dword [ebp - 0x258]
mov esi, dword [0x1002296c]
sbb esi, dword [ebp - 0x254]
push esi
push ecx
push edx
push eax
call fcn.10018350
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x48]
sub eax, dword [0x10022950]
movsx edx, byte [0x100228e6]
mov edi, dword [ebp - 0x234]
sub edi, edx
add eax, edi
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x388], ecx
mov dword [ebp - 0x384], esi
mov eax, dword [ebp - 0x388]
or eax, dword [ebp - 0x384]
jne 0x10004ae4
xor eax, eax
mov dword [ebp - 0x260], 1
mov dword [ebp - 0x25c], eax
jmp 0x10004aef
xorps xmm0, xmm0
movlpd qword [ebp - 0x260], xmm0
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x25c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movsx eax, word [ebp - 0x28]
add eax, dword [ebp - 0x58]
movsx ecx, word [ebp - 0x28]
imul ecx, eax
mov word [ebp - 0x28], cx
jmp 0x10004b49
or dword [ebp - 4], 0xffffffff
jmp 0x10004b53
jmp 0x10004bc2
mov ecx, dword [0x100228f0]
mov esi, dword [0x100228f4]
movzx eax, byte [0x100228eb]
cdq
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], esi
mov dword [ebp - 0x398], eax
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x390]
cmp eax, dword [ebp - 0x398]
jne 0x10004b9d
mov eax, dword [ebp - 0x38c]
cmp eax, dword [ebp - 0x394]
je 0x10004bc2
xor eax, eax
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
sub ecx, dword [0x10022948]
sbb edx, eax
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
movsx eax, word [0x1002295c]
sar eax, 2
mov byte [0x100228ec], al
jmp 0x10004c0e
movsx eax, word [ebp - 0x20]
test eax, eax
je 0x10004be0
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x10004be0
mov dword [ebp - 0x238], 1
jmp 0x10004be7
and dword [ebp - 0x238], 0
movzx eax, byte [ebp - 0x5c]
cmp dword [ebp - 0x238], eax
jle 0x10004c0e
movsx eax, byte [ebp - 0x14]
add eax, dword [ebp - 0x44]
mov byte [ebp - 0x14], al
movsx eax, word [0x10022958]
imul eax, eax, 0x9afcf2de
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x94]
add eax, 0x28e7
mov dword [ebp - 0x2f0], eax
push dword [0x10022920]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x10022940], eax
mov dword [0x10022944], ecx
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x10004c51
movsx eax, word [ebp - 0x18]
test eax, eax
jne 0x10004c51
and dword [ebp - 0x10c], 0
jmp 0x10004c5b
mov dword [ebp - 0x10c], 1
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x3a0], eax
mov dword [ebp - 0x39c], ecx
mov eax, dword [ebp - 0x3a0]
or eax, dword [ebp - 0x39c]
jne 0x10004c8d
mov eax, dword [ebp - 0x44]
not eax
test eax, eax
jne 0x10004c8d
and dword [ebp - 0x110], 0
jmp 0x10004c97
mov dword [ebp - 0x110], 1
movsx eax, word [ebp - 0x1c]
not eax
xor ecx, ecx
cmp eax, 0x39a90179
setg cl
not ecx
xor eax, eax
cmp dword [ebp - 0x10c], ecx
setl al
mov ecx, dword [0x10022970]
neg ecx
sbb ecx, ecx
inc ecx
xor edx, edx
cmp dword [ebp - 0x110], ecx
setle dl
imul eax, edx
test eax, eax
je 0x10004da5
mov dword [ebp - 4], 2
mov ecx, dword [0x100228f0]
mov eax, dword [0x100228f4]
mov dword [ebp - 0x650], eax
add ecx, 0xee
movzx eax, byte [0x100228eb]
cdq
add eax, ecx
mov byte [0x100228eb], al
movzx eax, byte [0x100228e2]
test eax, eax
je 0x10004d1a
mov eax, dword [0x10022970]
mov dword [ebp - 0x114], eax
jmp 0x10004d27
movsx eax, word [0x10022904]
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x4c], eax
jmp 0x10004d99
or dword [ebp - 4], 0xffffffff
jmp 0x10004da3
jmp 0x10004dd7
movsx eax, word [0x10022918]
movzx ecx, word [0x10022930]
lea eax, [ecx + eax + 0xcf9b]
mov word [0x10022930], ax
mov dword [0x10022934], 0x7c02
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x94]
add eax, 0xd2cd
mov dword [ebp - 0x654], eax
xor eax, eax
mov dword [0x10022968], 2
mov dword [0x1002296c], eax
movzx eax, byte [0x100228e2]
cdq
and eax, dword [0x10022968]
and edx, dword [0x1002296c]
add eax, dword [0x10022968]
adc edx, dword [0x1002296c]
mov dword [0x10022968], eax
mov dword [0x1002296c], edx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x34]
sbb eax, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
mov eax, dword [0x10022968]
mov ecx, dword [0x1002296c]
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0x100]
or eax, dword [ebp - 0xfc]
je 0x10004e87
cmp dword [ebp - 0x100], 1
jne 0x10004e70
cmp dword [ebp - 0xfc], 0
je 0x10004eb2
cmp dword [ebp - 0x100], 2
jne 0x10004e82
cmp dword [ebp - 0xfc], 0
je 0x10004ed2
jmp 0x10004f17
mov eax, dword [ebp - 0x40]
sub eax, 0x21c542aa
mov word [0x1002293c], ax
mov eax, dword [0x10022968]
add eax, 0x325c
mov byte [ebp - 0x11], al
imul eax, dword [ebp - 0x44], 0xb559
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10004f17
mov dword [ebp - 0x4c], 0x459b
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x658], ecx
sub eax, 0xa7a3a082
mov word [0x100228e8], ax
jmp 0x10004f17
mov eax, 0xffff8f10
mov word [ebp - 0x18], ax
push 0
push 0xef
push dword [0x1002296c]
push dword [0x10022968]
call fcn.10018350
mov dword [ebp - 0x4c], eax
movzx eax, byte [0x100228e1]
not eax
cdq
mov ecx, eax
movsx eax, word [0x10022904]
mov edx, dword [ebp - 0x58]
add eax, edx
cdq
add eax, dword [ebp - 0x40]
sub ecx, eax
mov byte [ebp - 0x11], cl
movsx eax, word [0x1002295c]
movsx ecx, word [ebp - 0x20]
xor edx, edx
cmp eax, ecx
setge dl
movsx eax, word [0x1002295c]
xor ecx, ecx
cmp eax, 0xd
setge cl
cmp edx, ecx
jl 0x1000500d
jmp 0x10004f4c
jmp 0x10004f67
jmp 0x10004fa0
jmp 0x10004fca
jmp 0x1000500d
mov eax, dword [ebp - 0x2f0]
xor eax, 0xfd
sub eax, 0x2452
mov dword [ebp - 0x30c], eax
push 0
push 0
push 0
push 0xc6
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push 0
push 0xae
call fcn.10001484
add esp, 0x20
mov byte [0x100228e7], al
movzx eax, byte [0x100228e7]
test eax, eax
jne 0x100050b1
movzx eax, byte [ebp - 0x11]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [0x1002295c]
cdq
push 0x47ac1
push 0x6f3ea840
push edx
push eax
call fcn.10018350
add esi, eax
adc edi, edx
mov dword [ebp - 0x3a8], esi
mov dword [ebp - 0x3a4], edi
mov eax, dword [ebp - 0x3a8]
or eax, dword [ebp - 0x3a4]
jne 0x1000509f
mov dword [ebp - 0x118], 1
jmp 0x100050a6
and dword [ebp - 0x118], 0
mov eax, dword [ebp - 0x118]
mov dword [0x10022934], eax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x48], 0
je 0x100050e3
movzx eax, byte [ebp - 0x5c]
not eax
mov dword [0x10022938], eax
xor eax, eax
mov dword [0x10022968], 0x6da1ac49
mov dword [0x1002296c], eax
jmp 0x100051fb
mov eax, dword [0x100228fc]
xor ecx, ecx
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], ecx
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], esi
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [ebp - 0x3b4]
jl 0x1000513e
jg 0x10005126
mov eax, dword [ebp - 0x3b0]
cmp eax, dword [ebp - 0x3b8]
jb 0x1000513e
cmp dword [ebp - 0x38], 0x6f02404
jne 0x1000513e
cmp dword [ebp - 0x34], 0
jne 0x1000513e
and dword [ebp - 0x11c], 0
jmp 0x10005148
mov dword [ebp - 0x11c], 1
mov eax, dword [ebp - 0x11c]
not eax
test eax, eax
je 0x10005170
movsx eax, word [ebp - 0x28]
movsx ecx, word [0x10022904]
sub eax, ecx
movsx ecx, word [ebp - 0x28]
add ecx, eax
mov word [ebp - 0x28], cx
jmp 0x100051fb
cmp dword [ebp - 0x4c], 0
je 0x100051c2
movzx eax, byte [0x100228e2]
movsx ecx, word [0x10022904]
add eax, ecx
movzx ecx, byte [0x100228e2]
add ecx, eax
mov byte [0x100228e2], cl
mov eax, dword [ebp - 0x58]
movsx ecx, byte [0x100228e0]
lea eax, [ecx + eax + 0x56f77695]
mov byte [0x100228e0], al
movsx eax, word [0x10022924]
mov ecx, dword [0x1002292c]
sub ecx, eax
mov dword [0x1002292c], ecx
jmp 0x100051fb
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x100051fb
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov cl, 3
call fcn.10018490
mov word [ebp - 0x20], ax
movsx eax, word [0x10022904]
movsx ecx, byte [0x100228ea]
sub eax, ecx
movsx ecx, word [0x10022904]
add ecx, eax
mov word [0x10022904], cx
mov eax, dword [ebp - 0x98]
add eax, 0xf221
mov dword [ebp - 0x65c], eax
movzx eax, byte [ebp - 0x12]
movsx ecx, byte [0x100228ec]
cmp eax, ecx
je 0x10005246
movzx eax, byte [ebp - 0x5c]
sub eax, 0x6f2
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x10022940]
mov edx, dword [0x10022944]
mov cl, 3
call fcn.10018390
mov word [ebp - 0x20], ax
jmp 0x1000533c
movsx eax, byte [0x100228e0]
test eax, eax
jne 0x10005284
movzx eax, word [0x10022930]
xor eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [0x10022978], eax
mov dword [0x1002297c], ecx
movzx eax, byte [ebp - 0x13]
sub eax, dword [ebp - 0x48]
movzx ecx, byte [ebp - 0x13]
add ecx, eax
mov byte [ebp - 0x13], cl
push 8
pop eax
mov word [ebp - 0x20], ax
jmp 0x1000533c
movsx eax, word [ebp - 0x20]
test eax, eax
je 0x100052d4
movzx eax, word [ebp - 0x24]
movsx ecx, word [ebp - 0x18]
imul eax, ecx
movzx ecx, word [ebp - 0x24]
sub ecx, eax
mov word [ebp - 0x24], cx
mov eax, dword [ebp - 0x58]
sar eax, 7
mov word [0x10022918], ax
push 4
pop eax
imul eax, eax, 0xb
mov eax, dword [eax + 0x10122940]
xor ecx, ecx
add eax, dword [0x10022940]
adc ecx, dword [0x10022944]
mov dword [0x10022940], eax
mov dword [0x10022944], ecx
jmp 0x1000533c
mov eax, dword [0x1002294c]
xor ecx, ecx
mov dword [ebp - 0x3c0], eax
mov dword [ebp - 0x3bc], ecx
mov eax, dword [ebp - 0x3bc]
cmp eax, dword [ebp - 0x3c]
jb 0x1000533c
ja 0x100052ff
mov eax, dword [ebp - 0x3c0]
cmp eax, dword [ebp - 0x40]
jbe 0x1000533c
movsx eax, word [ebp - 0x28]
mov ecx, dword [0x1002292c]
sub ecx, eax
mov dword [0x1002292c], ecx
mov eax, dword [ebp - 0x58]
cdq
xor eax, dword [0x10022968]
not eax
mov word [0x10022958], ax
movzx eax, byte [ebp - 0x5c]
not eax
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x660], edx
xor eax, ecx
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x98]
add eax, 0x987c
mov dword [ebp - 0x9c], eax
mov dword [0x10022934], 0xbea3d2c2
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
jne 0x1000536b
mov dword [ebp - 0x120], 1
jmp 0x10005372
and dword [ebp - 0x120], 0
movzx eax, byte [ebp - 0x11]
movsx ecx, word [ebp - 0x20]
add ecx, dword [ebp - 0x120]
neg ecx
sbb ecx, ecx
inc ecx
add eax, ecx
mov dword [0x10022948], eax
mov eax, dword [ebp - 0x98]
add eax, 0x54b1
mov dword [ebp - 0x664], eax
mov dword [ebp - 4], 4
mov eax, dword [0x1002290c]
cmp eax, dword [ebp - 0x50]
jb 0x1000548a
ja 0x100053c2
mov eax, dword [0x10022908]
cmp eax, dword [ebp - 0x54]
jbe 0x1000548a
cmp dword [0x10022948], 0
je 0x1000542b
mov eax, dword [0x10022938]
sub eax, 0xe4
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x1002297c]
sub eax, dword [0x10022978]
sbb edx, ecx
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], edx
mov eax, dword [ebp - 0x3c8]
or eax, dword [ebp - 0x3c4]
jne 0x10005417
mov dword [ebp - 0x124], 1
jmp 0x1000541e
and dword [ebp - 0x124], 0
mov eax, dword [ebp - 0x124]
mov dword [0x10022920], eax
jmp 0x10005488
movzx eax, byte [0x100228e1]
not eax
test eax, eax
je 0x10005488
mov eax, dword [ebp - 0x58]
add eax, 0xb9b6
mov dword [0x1002292c], eax
mov eax, dword [0x10022948]
add eax, 0x63ba
xor ecx, ecx
mov edx, dword [ebp - 0x40]
sub edx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, ecx
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10022968]
add ecx, 0xc8
mov esi, dword [0x1002296c]
adc esi, 0
movzx eax, word [ebp - 0x24]
cdq
push esi
push ecx
push edx
push eax
call fcn.10018350
mov word [ebp - 0x24], ax
jmp 0x100054d0
movsx eax, word [ebp - 0x1c]
cmp eax, dword [ebp - 0x48]
jl 0x100054d0
movsx eax, word [ebp - 0x18]
cdq
mov ecx, dword [0x100228f0]
mov edx, dword [0x100228f4]
mov dword [ebp - 0x668], edx
add ecx, eax
and ecx, 0x8a
mov dword [0x1002291c], ecx
mov eax, dword [ebp - 0x54]
xor eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x50]
xor ecx, dword [ebp - 0x3c]
add eax, dword [ebp - 0x54]
adc ecx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
jmp 0x10005512
or dword [ebp - 4], 0xffffffff
jmp 0x1000551c
movzx eax, byte [0x100228eb]
movzx ecx, byte [ebp - 0x13]
sub eax, ecx
mov byte [0x100228eb], al
movsx eax, word [ebp - 0x20]
cdq
push 0xb3f82
push 0x5605f1cb
push edx
push eax
call fcn.10018350
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x9c]
add eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0x9c]
sub ecx, 0x4d
or eax, ecx
mov ecx, 0x1bbfa
sub ecx, eax
imul eax, dword [ebp - 0x2f4], 0x3e6
mov edx, dword [ebp - 0x128]
add edx, dword [ebp - 0x128]
imul eax, edx
imul edx, dword [ebp - 0x12c], 0x3e6
imul esi, dword [ebp - 0x12c], 0x3e6
sub edx, esi
imul eax, edx
add ecx, eax
mov dword [ebp - 0x310], ecx
call dword [sym.imp.USER32.dll_GetCapture]
mov word [0x10022930], ax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xa0], eax
mov byte [ebp - 0x5c], 2
movzx eax, byte [0x100228e3]
test eax, eax
je 0x100055de
mov eax, dword [0x10022908]
mov ecx, dword [0x1002290c]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], ecx
jmp 0x100055f2
movsx eax, word [0x10022924]
cdq
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], edx
mov ax, word [ebp - 0x268]
mov word [ebp - 0x24], ax
mov ecx, dword [0x100228f0]
mov esi, dword [0x100228f4]
add ecx, 0xed
adc esi, 0
movsx eax, word [0x1002293c]
cdq
push esi
push ecx
push edx
push eax
call fcn.10018350
mov word [0x1002293c], ax
xor eax, eax
inc eax
imul eax, eax, 0x42
movsx eax, byte [eax + 0x1013abd8]
movsx ecx, word [0x10022924]
add ecx, eax
mov word [0x10022924], cx
movzx eax, byte [ebp - 0x5c]
mov dword [ebp - 0x2f8], eax
mov eax, dword [ebp - 0x2f8]
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
je 0x1000567c
sub dword [ebp - 0x84], 1
je 0x100056c8
sub dword [ebp - 0x84], 1
je 0x100056ea
jmp 0x1000575d
movzx eax, byte [0x100228e1]
sub eax, 0x4d
mov word [0x1002293c], ax
imul eax, dword [0x10022934], 0x8c58
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov eax, dword [ebp - 0x3c]
sbb eax, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
add eax, dword [ebp - 0x40]
adc ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
add edx, eax
adc esi, ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], esi
jmp 0x1000575d
xor eax, eax
mov dword [ebp - 0x30], 2
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp - 0x13]
imul eax, dword [0x100228fc]
movzx ecx, byte [ebp - 0x13]
add ecx, eax
mov byte [ebp - 0x13], cl
jmp 0x1000575d
mov eax, dword [0x100228f0]
mov ecx, dword [0x100228f4]
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], ecx
mov eax, dword [ebp - 0x3d0]
or eax, dword [ebp - 0x3cc]
je 0x10005723
mov eax, dword [0x10022920]
cdq
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
jmp 0x10005735
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], ecx
mov eax, dword [ebp - 0x240]
mov ecx, dword [ebp - 0x23c]
mov dword [0x10022908], eax
mov dword [0x1002290c], ecx
mov eax, dword [0x10022920]
cdq
mov dword [0x10022978], eax
mov dword [0x1002297c], edx
mov eax, dword [ebp - 0xa0]
add eax, 3
mov dword [ebp - 0x178], eax
movzx eax, word [0x10022930]
test eax, eax
je 0x10005881
push 0
push 0x9c
push 0
push 0x22
mov eax, dword [0x10022934]
cdq
push edx
push eax
push 0
push 0
call fcn.10001484
add esp, 0x20
mov word [ebp - 0x24], ax
movzx eax, byte [ebp - 0x12]
cmp dword [0x100228fc], eax
sbb eax, eax
neg eax
movsx ecx, byte [0x100228ec]
not ecx
movzx edx, word [0x100228e4]
xor ebx, ebx
cmp ecx, edx
setle bl
cmp eax, ebx
jg 0x10005881
mov dword [ebp - 4], 6
movzx eax, byte [0x100228e3]
movzx ecx, byte [ebp - 0x12]
add eax, ecx
not eax
cdq
add eax, dword [0x10022968]
adc edx, dword [0x1002296c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
cmp dword [0x10022934], 0
jne 0x10005811
xor eax, eax
mov dword [ebp - 0x3d8], 1
mov dword [ebp - 0x3d4], eax
jmp 0x1000581c
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d8], xmm0
mov eax, dword [ebp - 0x3d8]
add eax, 0x9cc2161d
mov word [ebp - 0x18], ax
movzx eax, byte [0x100228e1]
mov ecx, dword [0x10022970]
add ecx, eax
mov eax, dword [0x10022970]
sub eax, ecx
mov dword [0x10022970], eax
jmp 0x10005877
or dword [ebp - 4], 0xffffffff
jmp 0x10005881
mov eax, dword [ebp - 0xa0]
add eax, 0x9a
mov dword [ebp - 0x318], eax
movsx eax, word [ebp - 0x18]
movsx ecx, byte [0x100228e0]
sub eax, ecx
movsx ecx, word [ebp - 0x18]
add ecx, eax
mov word [ebp - 0x18], cx
movsx eax, byte [0x100228e0]
imul eax, eax, 0xd5
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xa0]
add eax, 0x2db
mov dword [ebp - 0x17c], eax
jmp 0x100058e0
jmp 0x100058e9
jmp 0x10005904
jmp 0x10005929
mov dword [ebp - 0x66c], 0x80004005
movsx eax, word [0x10022924]
sub eax, 0xd
movsx ecx, word [0x10022918]
imul ecx, eax
mov word [0x10022918], cx
movzx eax, word [0x10022960]
sub eax, 0x61dc
cdq
add eax, dword [0x10022968]
adc edx, dword [0x1002296c]
mov dword [0x10022968], eax
mov dword [0x1002296c], edx
imul eax, dword [0x10022934], 0x6ce70589
mov ecx, dword [0x1002291c]
sub ecx, eax
mov dword [0x1002291c], ecx
cmp dword [ebp + 0xc], 0
jne 0x10005d89
mov ax, word [0x1013ac30]
mov word [ebp - 0x20], ax
mov eax, 0x9ce7f
mov dword [ebp - 0x40], 0xfea839cc
mov dword [ebp - 0x3c], eax
mov eax, dword [0x10022908]
or eax, dword [0x1002290c]
jne 0x100059c6
mov dword [ebp - 0x130], 1
jmp 0x100059cd
and dword [ebp - 0x130], 0
movzx eax, word [0x10022954]
imul eax, dword [ebp - 0x130]
mov word [0x1002293c], ax
movsx eax, word [0x100228e8]
sub eax, 0xe2
mov dword [0x10022950], eax
movzx eax, byte [0x100228e2]
movsx ecx, word [0x1002295c]
movzx edx, byte [ebp - 0x11]
neg edx
sbb edx, edx
inc edx
and ecx, edx
not ecx
xor eax, ecx
sub eax, dword [ebp - 0x4c]
mov word [ebp - 0x18], ax
movzx eax, byte [0x100228e2]
movzx ecx, byte [ebp - 0x12]
add eax, ecx
mov byte [0x100228e2], al
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xa4], eax
movsx eax, word [ebp - 0x20]
neg eax
sbb eax, eax
inc eax
movzx ecx, byte [0x100228e7]
not ecx
sub eax, ecx
cdq
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x670], edx
sub eax, ecx
mov word [0x10022904], ax
mov eax, 0x99f
mov word [0x10022918], ax
push 0
push 0x70832f6e
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.10018350
mov byte [ebp - 0x5c], al
mov eax, dword [ebp - 0xa4]
add eax, 0x1d7
mov dword [ebp - 0x144], eax
cmp dword [0x10022908], 0x85
jne 0x10005aa2
cmp dword [0x1002290c], 0
je 0x10005aae
mov dword [ebp - 0x134], 1
jmp 0x10005ab5
and dword [ebp - 0x134], 0
movzx eax, byte [0x100228e7]
xor ecx, ecx
cmp eax, dword [0x10022938]
setle cl
xor eax, eax
cmp ecx, dword [ebp - 0x134]
setl al
not eax
sub eax, dword [0x1002292c]
jne 0x10005b26
mov ax, word [0x1013ac30]
mov word [0x1002293c], ax
mov eax, dword [0x10022940]
or eax, dword [0x10022944]
je 0x10005b04
movzx eax, byte [0x100228e2]
mov dword [ebp - 0x138], eax
jmp 0x10005b0f
mov eax, dword [0x10022938]
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, word [ebp - 0x20]
sar eax, 2
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0xa4]
add eax, 0x31b
mov dword [ebp - 0x140], eax
mov dword [ebp - 4], 8
movzx eax, byte [0x100228e3]
movsx ecx, word [0x100228f8]
add eax, ecx
mov byte [0x100228e3], al
mov al, byte [0x1013ac30]
mov byte [0x100228e7], al
jmp 0x10005c09
or dword [ebp - 4], 0xffffffff
jmp 0x10005c13
mov eax, dword [ebp - 0xa4]
add eax, 0x34b
mov dword [ebp - 0x674], eax
mov dword [ebp - 4], 0xa
push dword [ebp - 0x58]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x10022910], eax
mov dword [0x10022914], ecx
jmp 0x10005c6c
or dword [ebp - 4], 0xffffffff
jmp 0x10005c76
mov eax, 0x1c7
sub eax, dword [ebp - 0x144]
mov ecx, dword [ebp - 0x140]
add ecx, dword [ebp - 0x140]
imul eax, ecx
cmp dword [ebp - 0x144], eax
je 0x10005d84
mov dword [0x10022970], 0
mov eax, dword [ebp - 0x40]
xor eax, 0xda
mov ecx, dword [ebp - 0x3c]
xor ecx, 0
mov dword [0x10022940], eax
mov dword [0x10022944], ecx
movzx eax, word [0x10022930]
movzx ecx, byte [0x100228e3]
xor ecx, dword [0x10022928]
add eax, ecx
mov word [0x100228e4], ax
mov eax, dword [0x10022970]
mov dword [ebp - 0x2fc], eax
cmp dword [ebp - 0x2fc], 0
je 0x10005cf1
jmp 0x10005d22
push 2
pop eax
imul eax, eax, 0xd467
movsx eax, word [eax + 0x1008b6e0]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movzx eax, byte [0x100228e1]
imul eax, dword [0x1002291c]
imul eax, dword [0x1002291c]
mov dword [0x1002291c], eax
mov byte [ebp - 0x12], 0
mov eax, dword [0x10022970]
cdq
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movzx eax, byte [ebp - 0x5c]
cdq
add eax, 0x1454748c
mov byte [0x100228e2], al
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x300], al
cmp byte [ebp - 0x300], 0
je 0x10005d55
jmp 0x10005d7c
movsx eax, byte [0x100228ea]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov eax, dword [ebp - 0x44]
add eax, ecx
mov dword [ebp - 0x44], eax
movsx eax, byte [0x100228ea]
imul eax, dword [0x1002291c]
mov dword [0x1002291c], eax
xor eax, eax
inc eax
jmp 0x1000a67f
jmp 0x1000a49c
jmp 0x10005d99
movsx eax, word [0x10022958]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], edx
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0x3e4], esi
mov eax, dword [ebp - 0x3dc]
cmp eax, dword [ebp - 0x3e4]
jg 0x10005f06
jl 0x10005de5
mov eax, dword [ebp - 0x3e0]
cmp eax, dword [ebp - 0x3e8]
ja 0x10005f06
call dword [sym.imp.USER32.dll_AnyPopup]
mov dword [0x1002292c], eax
movzx eax, word [ebp - 0x24]
movsx ecx, word [0x10022918]
sub eax, ecx
je 0x10005e28
movsx eax, word [0x10022958]
movsx ecx, byte [0x100228ec]
cmp eax, ecx
je 0x10005e23
movsx eax, word [0x10022958]
cdq
sub eax, 0x44956598
mov dword [0x10022928], eax
jmp 0x10005f06
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x10005e4a
movsx eax, word [ebp - 0x28]
add eax, 0xae
mov byte [0x100228e2], al
mov byte [0x100228e6], 0xb8
jmp 0x10005f06
movzx eax, byte [0x100228eb]
cdq
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
mov eax, dword [ebp - 0x3ec]
cmp eax, dword [ebp - 0x50]
jl 0x10005ebc
jg 0x10005e76
mov eax, dword [ebp - 0x3f0]
cmp eax, dword [ebp - 0x54]
jbe 0x10005ebc
mov eax, 0x7d772
mov dword [0x10022910], 0xd372a742
mov dword [0x10022914], eax
movsx eax, byte [0x100228ec]
imul eax, eax, 0x72c334cd
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, word [ebp - 0x20]
cdq
push 0x214fe
push 0xe0729e02
push edx
push eax
call fcn.10018350
mov word [0x1002295c], ax
jmp 0x10005f06
movsx eax, word [ebp - 0x18]
not eax
movzx ecx, word [0x10022954]
cmp eax, ecx
jne 0x10005f06
mov ax, word [ebp - 0x24]
add ax, 1
mov word [ebp - 0x24], ax
mov eax, dword [0x1002291c]
sub eax, 0xb
movzx ecx, byte [0x100228e1]
sub ecx, eax
mov byte [0x100228e1], cl
xor eax, eax
mov ecx, dword [ebp - 0x38]
sub ecx, dword [0x1002294c]
mov edx, dword [ebp - 0x34]
sbb edx, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xa8], eax
mov byte [ebp - 0x11], 1
movsx eax, word [ebp - 0x20]
cdq
push 0xd865a
push 0x5ce56628
push edx
push eax
call fcn.10018350
mov ecx, eax
movsx eax, byte [0x100228e6]
cdq
sub eax, ecx
mov byte [0x100228e6], al
mov ecx, dword [ebp - 0x38]
not ecx
movzx eax, byte [0x100228eb]
cdq
add ecx, eax
movsx eax, word [0x1002295c]
cdq
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x678], esi
xor eax, edx
not eax
sub ecx, eax
mov word [0x1002295c], cx
movzx eax, byte [ebp - 0x11]
mov dword [ebp - 0x304], eax
mov eax, dword [ebp - 0x304]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x10005f99
sub dword [ebp - 0x8c], 1
je 0x10005ff6
jmp 0x10006034
mov ecx, dword [ebp - 0x54]
not ecx
mov esi, dword [ebp - 0x50]
not esi
movzx eax, byte [0x100228eb]
cdq
push edx
push eax
push esi
push ecx
call fcn.10018350
mov word [0x100228e4], ax
mov eax, dword [0x10022940]
or eax, dword [0x10022944]
je 0x10005fd1
mov al, byte [0x100228e1]
mov byte [ebp - 0x7d], al
jmp 0x10005fd7
mov al, byte [ebp - 0x12]
mov byte [ebp - 0x7d], al
movzx eax, byte [ebp - 0x7d]
cdq
mov dword [0x10022968], eax
mov dword [0x1002296c], edx
movsx eax, byte [ebp - 0x14]
movzx ecx, byte [ebp - 0x13]
and eax, ecx
mov byte [ebp - 0x14], al
jmp 0x10006034
mov dword [0x10022934], 8
movsx eax, word [0x10022918]
sub eax, 0x5aced4e8
cdq
mov dword [0x100228f0], eax
mov dword [0x100228f4], edx
movsx eax, byte [0x100228e6]
add eax, dword [0x10022920]
movsx ecx, byte [0x100228e6]
or ecx, eax
mov byte [0x100228e6], cl
mov eax, dword [ebp - 0xa8]
add eax, 0x389
mov dword [ebp - 0x67c], eax
push 4
pop eax
mov word [0x10022954], ax
movsx eax, word [ebp - 0x18]
add eax, dword [0x1002294c]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [0x10022978]
mov ecx, dword [0x1002297c]
not eax
not ecx
mov edx, dword [0x100228f0]
push dword [0x100228f4]
push edx
push ecx
push eax
call fcn.10018350
mov ecx, eax
mov esi, edx
mov eax, dword [0x1002292c]
not eax
movsx edx, word [ebp - 0x28]
add eax, edx
cdq
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3f8], ecx
mov dword [ebp - 0x3f4], esi
mov eax, dword [ebp - 0x3f8]
or eax, dword [ebp - 0x3f4]
jne 0x100060bf
mov dword [ebp - 0x148], 1
jmp 0x100060c6
and dword [ebp - 0x148], 0
movsx eax, byte [ebp - 0x14]
movsx ecx, word [0x10022918]
not ecx
xor eax, ecx
movsx ecx, word [ebp - 0x20]
imul ecx, ecx, 0xf6e
sub eax, ecx
xor eax, dword [ebp - 0x148]
mov byte [0x100228e1], al
movsx eax, word [0x10022904]
cdq
push edx
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.10018350
mov ecx, eax
movsx eax, word [ebp - 0x28]
movzx edx, byte [ebp - 0x12]
imul eax, edx
cdq
add ecx, eax
movsx eax, word [ebp - 0x18]
movzx edx, word [0x10022960]
add eax, edx
movsx edx, word [ebp - 0x18]
movzx esi, byte [0x100228e3]
imul edx, esi
imul eax, edx
cdq
add ecx, eax
mov dword [0x10022970], ecx
movzx eax, word [0x10022954]
mov dword [ebp - 0x308], eax
mov eax, dword [ebp - 0x308]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x10006179
sub dword [ebp - 0x70], 1
je 0x1000619f
sub dword [ebp - 0x70], 1
je 0x100061d7
sub dword [ebp - 0x70], 1
je 0x100061fb
sub dword [ebp - 0x70], 1
je 0x10006231
jmp 0x10006262
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov byte [ebp - 0x11], 0xc4
movzx eax, byte [ebp - 0x5c]
sub eax, dword [ebp - 0x48]
movzx ecx, byte [ebp - 0x5c]
or ecx, eax
mov byte [ebp - 0x5c], cl
jmp 0x10006262
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x2c]
push eax
push dword [ebp - 0x68]
push dword [ebp - 0x6c]
call fcn.10018350
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov eax, dword [0x1002292c]
cdq
add eax, dword [ebp - 0x54]
mov dword [0x1002292c], eax
jmp 0x10006262
movzx eax, byte [0x100228eb]
movzx ecx, byte [ebp - 0x13]
imul eax, ecx
mov byte [0x100228eb], al
mov eax, dword [ebp - 0x6c]
push 4
pop ecx
imul ecx, ecx, 0x56
mov dword [ecx + 0x101175b8], eax
jmp 0x10006262
movzx eax, word [0x10022930]
movsx ecx, word [ebp - 0x18]
add eax, ecx
mov word [0x10022930], ax
movsx eax, word [0x10022904]
cdq
push edx
push eax
push dword [ebp - 0x50]
push dword [ebp - 0x54]
call fcn.10018350
add eax, dword [ebp - 0x54]
adc edx, dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x10006262
mov eax, dword [ebp - 0x44]
sar eax, 6
mov dword [ebp - 0x44], eax
movzx eax, byte [0x100228e1]
neg eax
sbb eax, eax
inc eax
movsx ecx, word [0x10022958]
add eax, ecx
mov byte [0x100228e1], al
movsx eax, word [ebp - 0x1c]
movsx ecx, word [ebp - 0x20]
sub eax, ecx
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x30c]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x314], eax
mov eax, dword [0x10022928]
cmp dword [0x10022948], eax
sbb eax, eax
inc eax
push 0x1e
pop ecx
cmp ecx, dword [0x10022928]
sbb ecx, ecx
inc ecx
cmp eax, ecx
jle 0x100062a6
imul eax, dword [ebp - 0x48], 9
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x6c]
add eax, 0xd6
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x310]
add eax, dword [ebp - 0xa8]
mov dword [ebp - 0x15c], eax
and dword [ebp - 0xac], 0
jmp 0x100062cf
mov eax, dword [ebp - 0xac]
inc eax
inc eax
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x9a
jge 0x10006586
movsx eax, word [0x100228f8]
movsx ecx, word [0x100228e8]
xor edx, edx
cmp eax, ecx
setge dl
movsx eax, word [0x100228f8]
xor ecx, ecx
cmp eax, 0x52
setge cl
cmp edx, ecx
je 0x10006530
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov byte [0x100228e0], al
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x400], eax
mov dword [ebp - 0x3fc], edx
mov eax, dword [ebp - 0x68]
cmp eax, dword [ebp - 0x3fc]
jl 0x1000634b
jg 0x1000633f
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x400]
jbe 0x1000634b
mov dword [ebp - 0x150], 1
jmp 0x10006352
and dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], ecx
mov eax, dword [ebp - 0x408]
or eax, dword [ebp - 0x404]
jne 0x1000637e
mov dword [ebp - 0x14c], 1
jmp 0x10006385
and dword [ebp - 0x14c], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x48]
jg 0x100063a4
xor eax, eax
mov dword [ebp - 0x270], 1
mov dword [ebp - 0x26c], eax
jmp 0x100063af
xorps xmm0, xmm0
movlpd qword [ebp - 0x270], xmm0
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x26c]
jb 0x100063d3
ja 0x100063c7
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x270]
jbe 0x100063d3
mov dword [ebp - 0x154], 1
jmp 0x100063da
and dword [ebp - 0x154], 0
movsx eax, word [ebp - 0x28]
xor ecx, ecx
cmp eax, dword [ebp - 0x48]
setle cl
xor eax, eax
cmp ecx, dword [ebp - 0x150]
setge al
cmp eax, dword [ebp - 0x154]
jle 0x100064cd
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov edx, dword [0x10022928]
xor esi, esi
mov dword [ebp - 0x410], eax
mov dword [ebp - 0x40c], ecx
mov dword [ebp - 0x418], edx
mov dword [ebp - 0x414], esi
mov eax, dword [ebp - 0x40c]
cmp eax, dword [ebp - 0x414]
jl 0x1000646d
jg 0x10006441
mov eax, dword [ebp - 0x410]
cmp eax, dword [ebp - 0x418]
jbe 0x1000646d
movzx eax, byte [ebp - 0x11]
cdq
sub eax, dword [ebp - 0x38]
mov dl, byte [ebp - 0x11]
mov ecx, eax
shl dl, cl
mov byte [ebp - 0x11], dl
movsx eax, byte [ebp - 0x14]
imul eax, eax, 0xef95
mov byte [ebp - 0x5c], al
mov eax, 0x9f90
mov word [0x10022930], ax
jmp 0x100064cb
mov eax, dword [ebp - 0x4c]
add eax, 0x794fc26a
mov word [0x100228e4], ax
movzx ecx, word [0x100228e4]
movzx eax, byte [ebp - 0x13]
xor eax, dword [0x1002294c]
not eax
and ecx, eax
xor esi, esi
mov eax, dword [0x10022950]
cdq
mov edi, eax
mov ebx, edx
sub edi, dword [ebp - 0x54]
sbb ebx, dword [ebp - 0x50]
movzx eax, byte [0x100228e7]
movzx edx, byte [ebp - 0x13]
add eax, edx
cdq
sub edi, eax
sbb ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.10018350
mov word [0x1002295c], ax
mov eax, dword [0x10022950]
mov byte [ebp - 0x11], al
jmp 0x1000652e
movsx eax, word [ebp - 0x18]
xor ecx, ecx
cmp dword [ebp - 0x58], eax
setg cl
mov eax, dword [ebp - 0x48]
not eax
sub eax, 0x7642
neg eax
sbb eax, eax
inc eax
cmp ecx, eax
jg 0x1000652e
imul eax, dword [ebp - 0x48], 0
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x38]
adc esi, dword [ebp - 0x34]
movzx eax, byte [0x100228eb]
not eax
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x48]
cdq
sub eax, 0x820abfe
mov dword [0x10022920], eax
movzx eax, byte [ebp - 0x11]
sub eax, 0x170adb7
mov ecx, dword [ebp - 0x44]
add ecx, eax
mov dword [ebp - 0x44], ecx
jmp 0x10006576
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
je 0x10006576
mov eax, dword [ebp - 0x6c]
add eax, 0x15af7062
mov byte [0x100228eb], al
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
je 0x1000655c
movzx eax, byte [0x100228eb]
mov dword [ebp - 0x158], eax
jmp 0x10006567
mov eax, dword [0x10022950]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x158]
mov dword [0x1002294c], eax
mov byte [ebp - 0x11], 0xc7
mov eax, dword [0x10022934]
inc eax
mov dword [0x10022934], eax
jmp 0x100062c1
mov eax, dword [ebp - 0x15c]
or eax, 0x1c1
imul ecx, dword [ebp - 0x15c], 0x285
imul edx, dword [ebp - 0x314], 0x17c
add ecx, edx
cmp eax, ecx
je 0x1000a49c
push 0x73
xor dl, dl
mov cl, byte [ebp - 0x54]
call fcn.100016a6
pop ecx
movsx eax, al
mov dword [ebp - 0x44], eax
movsx eax, byte [0x100228ea]
cdq
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], edx
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x420]
jne 0x100065ec
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x41c]
je 0x100065f8
mov dword [ebp - 0x160], 1
jmp 0x100065ff
and dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x428], eax
mov dword [ebp - 0x424], ecx
mov eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x428]
jne 0x10006626
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x424]
je 0x10006632
mov dword [ebp - 0x164], 1
jmp 0x10006639
and dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x160]
not eax
xor eax, dword [ebp - 0x164]
je 0x10006722
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
movzx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x430], ecx
mov dword [ebp - 0x42c], esi
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x42c]
cmp eax, dword [ebp - 0x434]
jl 0x1000669a
jg 0x1000668e
mov eax, dword [ebp - 0x430]
cmp eax, dword [ebp - 0x438]
jb 0x1000669a
mov dword [ebp - 0x168], 1
jmp 0x100066a1
and dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], ecx
cmp dword [ebp - 0x43c], 0
jl 0x100066d3
jg 0x100066c7
cmp dword [ebp - 0x440], 0x5a
jb 0x100066d3
mov dword [ebp - 0x16c], 1
jmp 0x100066da
and dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x168]
cmp eax, dword [ebp - 0x16c]
jne 0x10006720
movsx eax, word [ebp - 0x18]
add eax, 0xf3a6b4c
mov dword [ebp - 0x4c], eax
movsx eax, word [ebp - 0x20]
not eax
movsx ecx, word [ebp - 0x28]
movzx edx, word [0x100228e4]
movsx esi, word [ebp - 0x1c]
xor edx, esi
neg edx
sbb edx, edx
inc edx
add ecx, edx
add eax, ecx
cdq
mov dword [0x10022908], eax
mov dword [0x1002290c], edx
jmp 0x10006746
movsx eax, word [0x100228e8]
test eax, eax
je 0x10006746
movsx eax, word [ebp - 0x1c]
and eax, 0xd6
mov byte [0x100228e0], al
mov eax, 0xa4
mov word [0x1002293c], ax
mov eax, dword [ebp - 0x38]
not eax
mov ecx, dword [ebp - 0x34]
not ecx
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x44c], esi
mov eax, dword [ebp - 0x444]
cmp eax, dword [ebp - 0x44c]
jb 0x10006798
ja 0x1000678c
mov eax, dword [ebp - 0x448]
cmp eax, dword [ebp - 0x450]
jbe 0x10006798
mov dword [ebp - 0x170], 1
jmp 0x1000679f
and dword [ebp - 0x170], 0
movsx eax, byte [0x100228ea]
cdq
mov ecx, dword [ebp - 0x38]
not ecx
mov esi, dword [ebp - 0x34]
not esi
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], edx
mov dword [ebp - 0x460], ecx
mov dword [ebp - 0x45c], esi
mov eax, dword [ebp - 0x458]
cmp eax, dword [ebp - 0x460]
jne 0x100067e5
mov eax, dword [ebp - 0x454]
cmp eax, dword [ebp - 0x45c]
je 0x100067f1
mov dword [ebp - 0x174], 1
jmp 0x100067f8
and dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x174]
je 0x1000688d
mov dword [ebp - 4], 0xc
mov eax, dword [0x1002292c]
sar eax, 6
mov byte [0x100228e1], al
movsx eax, byte [0x100228e6]
cdq
sub eax, 0xfd153edd
sbb edx, 0x584cc
push edx
push eax
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
call fcn.10018350
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x4c]
add eax, 0x10fe
mov byte [ebp - 0x12], al
jmp 0x1000687e
or dword [ebp - 4], 0xffffffff
jmp 0x10006888
jmp 0x1000691d
movzx eax, word [ebp - 0x24]
not eax
movsx ecx, word [ebp - 0x28]
cmp eax, ecx
jle 0x100068cf
movzx eax, byte [ebp - 0x12]
add eax, 0x2f2c22da
mov dword [0x10022934], eax
movzx eax, byte [0x100228eb]
cdq
mov ecx, dword [0x100228f0]
mov esi, dword [0x100228f4]
sub ecx, eax
sbb esi, edx
mov dword [0x10022940], ecx
mov dword [0x10022944], esi
jmp 0x1000691d
movzx eax, byte [ebp - 0x5c]
movzx ecx, word [0x10022930]
cmp eax, ecx
jg 0x1000691d
movsx eax, byte [0x100228ec]
not eax
test eax, eax
je 0x1000691d
mov eax, dword [0x1002294c]
shr eax, 1
mov word [0x100228e8], ax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
and ecx, 0x5daf65a8
movsx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, byte [ebp - 0x13]
xor eax, 0x8e
mov dword [0x10022950], eax
mov eax, dword [ebp - 0x318]
imul eax, dword [ebp - 0x178]
mov ecx, 0x393
sub ecx, eax
mov eax, dword [ebp - 0x17c]
sub eax, 0x39b
mov edx, dword [ebp - 0x178]
sub edx, dword [ebp - 0x17c]
imul eax, edx
cmp ecx, eax
je 0x1000a49c
and dword [ebp - 0x320], 0
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x31c], eax
cmp dword [ebp - 0x31c], 0
je 0x10006981
push dword [ebp - 0x320]
call dword [sym.imp.USER32.dll_GetCaretPos]
mov dword [ebp - 0x680], eax
movsx eax, word [0x10022904]
test eax, eax
je 0x10006ab1
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x684], ecx
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov word [ebp - 0x24], ax
movzx eax, word [ebp - 0x24]
test eax, eax
jl 0x100069dc
movzx eax, byte [ebp - 0x5c]
test eax, eax
je 0x100069d7
mov eax, dword [0x10022910]
push 4
pop ecx
imul ecx, ecx, 0x5b
mov dword [ecx + 0x100aafc8], eax
movzx eax, byte [ebp - 0x12]
add eax, 0xd6
mov word [0x10022954], ax
jmp 0x10006aaf
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x100069f8
xor eax, eax
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x274], eax
jmp 0x10006a03
xorps xmm0, xmm0
movlpd qword [ebp - 0x278], xmm0
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x274]
jb 0x10006a27
ja 0x10006a1b
mov eax, dword [ebp - 0x38]
cmp eax, dword [ebp - 0x278]
jb 0x10006a27
mov dword [ebp - 0x180], 1
jmp 0x10006a2e
and dword [ebp - 0x180], 0
movsx eax, word [0x100228f8]
cmp eax, dword [ebp - 0x180]
jg 0x10006a69
mov eax, dword [0x10022938]
cdq
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov word [0x10022924], cx
push 0
push 0x27a4f07a
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
call fcn.10018350
mov word [0x100228e8], ax
jmp 0x10006aaf
cmp dword [0x10022950], 0
je 0x10006aaf
push 0
push 0x5d697f4d
push dword [0x1002296c]
push dword [0x10022968]
call fcn.10018350
mov byte [0x100228e6], al
movsx eax, word [0x10022918]
imul eax, eax, 0xa9308ec6
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movzx eax, byte [ebp - 0x11]
cdq
sub eax, dword [ebp - 0x54]
mov byte [ebp - 0x11], al
jmp 0x10006ada
movsx eax, word [ebp - 0x1c]
add eax, 0x3c
mov word [0x10022918], ax
mov eax, dword [ebp - 0x58]
cdq
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push edx
push eax
call fcn.10018350
mov ecx, eax
mov eax, dword [ebp - 0x58]
cdq
xor eax, ecx
mov dword [ebp - 0x58], eax
movzx eax, word [0x10022954]
movsx ecx, word [ebp - 0x1c]
sub eax, ecx
mov word [0x10022954], ax
mov eax, dword [ebp - 0x38]
sub eax, 0xff
mov ecx, dword [ebp - 0x34]
sbb ecx, 0
add eax, dword [ebp - 0x38]
adc ecx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
movzx eax, byte [0x100228e3]
add eax, 0xb5f7
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
cmp dword [ebp + 8], 0
je 0x1000a49c
movsx eax, word [0x1002295c]
movsx ecx, word [ebp - 0x20]
cmp eax, ecx
jl 0x10006b6d
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x688], edx
add ecx, eax
not ecx
mov byte [0x100228e0], cl
movsx eax, word [0x1002293c]
and eax, dword [0x10022950]
movsx ecx, word [0x1002293c]
imul ecx, eax
mov word [0x1002293c], cx
jmp 0x10006b99
mov ax, word [0x1002295c]
sub ax, 1
mov word [0x1002295c], ax
movsx eax, word [ebp - 0x18]
sub eax, 0x5a
mov word [0x10022904], ax
mov eax, dword [0x10022928]
add eax, 0xa6e0
mov byte [0x100228ec], al
jmp 0x10006baa
jmp 0x10006bb6
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x48]
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x48]
not eax
sub eax, 0x99
movsx ecx, word [0x100228e8]
movzx edx, byte [ebp - 0x11]
not edx
add ecx, edx
xor eax, ecx
not eax
cdq
mov dword [0x10022978], eax
mov dword [0x1002297c], edx
mov eax, dword [ebp - 0xb0]
add eax, 0x1f9
mov dword [ebp - 0xb8], eax
mov ax, word [0x10022960]
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0x18]
add eax, dword [0x10022928]
movsx ecx, word [ebp - 0x18]
imul ecx, eax
mov word [ebp - 0x18], cx
mov eax, dword [ebp - 0xb0]
add eax, 0x310
mov dword [ebp - 0x184], eax
push dword [0x10022938]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x10022930], ax
movzx eax, word [0x10022930]
test eax, eax
jg 0x10006cc9
mov dword [ebp - 4], 0xe
mov eax, dword [ebp - 0x58]
cdq
push 0x1feca
push 0x61f81fd5
push edx
push eax
call fcn.10018350
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], esi
movsx eax, word [0x10022918]
imul eax, dword [0x1002292c]
mov word [0x10022918], ax
mov ax, word [0x1013ac30]
mov word [0x10022930], ax
jmp 0x10006cbf
or dword [ebp - 4], 0xffffffff
jmp 0x10006cc9
mov eax, dword [ebp - 0xb0]
add eax, 0x3a3
mov dword [ebp - 0x324], eax
movzx eax, byte [ebp - 0x12]
cmp eax, dword [0x10022970]
jge 0x10006de7
mov dword [ebp - 0xb4], 0x17d
jmp 0x10006d03
mov eax, dword [ebp - 0xb4]
dec eax
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jle 0x10006de5
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
movzx eax, ax
mov dword [0x10022970], eax
cmp dword [0x10022970], 0
jle 0x10006d3f
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor ecx, ecx
mov dword [0x10022968], eax
mov dword [0x1002296c], ecx
jmp 0x10006dd4
mov eax, dword [0x10022910]
add eax, dword [ebp - 0x6c]
mov ecx, dword [0x10022914]
adc ecx, dword [ebp - 0x68]
mov dword [ebp - 0x468], eax
mov dword [ebp - 0x464], ecx
mov eax, dword [ebp - 0x468]
or eax, dword [ebp - 0x464]
je 0x10006dd4
movsx eax, word [0x1002295c]
cdq
mov ecx, 0x61f49296
sub ecx, eax
mov eax, dword [0x100228f0]
mov edx, dword [0x100228f4]
mov dword [ebp - 0x68c], edx
not eax
add ecx, eax
mov byte [0x100228eb], cl
movsx eax, word [ebp - 0x18]
not eax
mov ecx, dword [0x10022928]
imul ecx, eax
neg ecx
sbb ecx, ecx
inc ecx
movzx eax, word [0x10022954]
xor eax, ecx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
push 0x56dfb
push 0x92344e48
push ecx
push eax
call fcn.10018350
mov dword [0x10022970], eax
mov al, byte [0x100228ec]
add al, 1
mov byte [0x100228ec], al
jmp 0x10006cf6
jmp 0x10006e4e
movsx eax, byte [0x100228ec]
test eax, eax
je 0x10006e4e
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x10006e0d
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], edx
jmp 0x10006e24
mov eax, dword [0x10022940]
mov ecx, dword [0x10022944]
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], ecx
mov ax, word [ebp - 0x280]
mov word [0x10022958], ax
movsx eax, word [0x100228f8]
sub eax, 0x83ef
movsx ecx, word [0x100228e8]
imul ecx, eax
mov word [0x100228e8], cx
mov eax, dword [ebp - 0x324]
sub eax, dword [ebp - 0x184]
mov ecx, dword [ebp - 0xb8]
sub ecx, 0x25d
imul eax, ecx
mov ecx, dword [ebp - 0xb8]
add ecx, dword [ebp - 0x184]
mov edx, dword [ebp - 0xb8]
imul edx, ecx
cmp eax, edx
je 0x1000a49c
mov eax, dword [0x10022920]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x5dc], edx
sub ecx, eax
mov eax, dword [0x10022920]
cdq
sub eax, ecx
mov dword [0x10022920], eax
mov ax, word [ebp - 0x1c]
mov word [0x10022954], ax
mov al, byte [0x1013ac30]
mov byte [ebp - 0x14], al
mov eax, dword [0x1002292c]
cdq
mov ecx, dword [0x100228f0]
mov esi, dword [0x100228f4]
push edx
push eax
push esi
push ecx
call fcn.10018350
mov ecx, dword [0x100228f0]
mov esi, dword [0x100228f4]
sub ecx, eax
sbb esi, edx
mov dword [0x100228f0], ecx
mov dword [0x100228f4], esi
movsx eax, word [0x1002293c]
xor eax, dword [ebp - 0x48]
mov word [0x1002293c], ax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x4c], eax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xbc], eax
movzx eax, byte [ebp - 0x5c]
movsx ecx, byte [0x100228ec]
xor edx, edx
cmp eax, ecx
setl dl
movzx eax, byte [ebp - 0x5c]
xor ecx, ecx
cmp eax, 0x2b
setl cl
cmp edx, ecx
jl 0x10006f90
push dword [0x1002292c]
movzx eax, word [0x100228e4]
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x5e0], ecx
mov cx, ax
xor dx, dx
call fcn.10001c3f
pop ecx
pop ecx
cwde
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x10006f8e
jmp 0x10006f74
jmp 0x10006f8e
jmp 0x10006fd0
mov eax, dword [0x10022928]
mov ecx, dword [ebp - 0x58]
neg ecx
sbb ecx, ecx
inc ecx
cmp eax, ecx
ja 0x10006fd0
mov eax, 0x2c36
mov word [0x100228e8], ax
movsx eax, byte [ebp - 0x14]
movzx ecx, byte [0x100228e2]
add eax, ecx
mov byte [ebp - 0x14], al
mov ax, word [ebp - 0x54]
push 2
pop ecx
imul ecx, ecx, 0x4502
mov word [ecx + 0x10123228], ax
mov eax, dword [ebp - 0xbc]
add eax, 0x3ad
mov dword [ebp - 0x1ac], eax
mov dword [ebp - 4], 0x10
call dword [sym.imp.USER32.dll_GetActiveWindow]
mov dword [0x10022970], eax
jmp 0x1000700d
or dword [ebp - 4], 0xffffffff
jmp 0x10007017
mov eax, dword [ebp - 0xbc]
add eax, 0x347
mov dword [ebp - 0x5e4], eax
mov esi, str.NdrProxyForwarding
lea edi, [ebp - 0x6dc]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x6dc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0xbc]
add eax, 0x1b5
mov dword [ebp - 0x5e8], eax
mov eax, dword [0x10022978]
mov ecx, dword [0x1002297c]
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], ecx
mov eax, dword [ebp - 0x470]
or eax, dword [ebp - 0x46c]
je 0x10007159
push 0x40
push 0
mov dx, 0x87
xor cx, cx
call fcn.10001170
pop ecx
pop ecx
mov byte [0x100228e3], al
movzx eax, byte [0x100228e3]
test eax, eax
jne 0x10007121
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], ecx
mov eax, dword [ebp - 0x478]
or eax, dword [ebp - 0x474]
je 0x100070e0
movzx eax, word [ebp - 0x24]
sub eax, dword [0x100228fc]
movzx ecx, byte [ebp - 0x13]
add eax, ecx
neg eax
sbb eax, eax
inc eax
mov dword [ebp - 0x48], eax
jmp 0x1000711f
movzx eax, byte [ebp - 0x12]
add eax, dword [ebp - 0x44]
movzx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
movsx eax, word [0x1002293c]
cdq
sub eax, 0x1a804c89
mov dword [ebp - 0x4c], eax
movsx eax, word [0x1002295c]
cdq
push 0xd4afe
push 0xef68cc74
push edx
push eax
call fcn.10018350
mov word [0x10022924], ax
jmp 0x10007157
movsx eax, word [0x10022924]
test eax, eax
je 0x10007157
mov eax, dword [0x10022950]
xor eax, dword [0x10022920]
mov dword [0x10022920], eax
movzx eax, byte [ebp - 0x13]
add eax, 0x20
mov byte [ebp - 0x12], al
xor eax, eax
mov dword [0x10022978], 1
mov dword [0x1002297c], eax
jmp 0x1000718a
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], ecx
mov eax, dword [ebp - 0x480]
or eax, dword [ebp - 0x47c]
je 0x1000718a
movzx eax, byte [0x100228e3]
add eax, 0x6f369a0f
mov dword [0x10022950], eax
call fcn.10002a01
movzx eax, al
test eax, eax
jne 0x10007704
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov word [ebp - 0x28], ax
movsx eax, word [ebp - 0x28]
test eax, eax
jl 0x1000720d
movzx eax, byte [0x100228e1]
cdq
push 0x1d593
push 0xe850df55
push edx
push eax
call fcn.10018350
mov word [0x10022954], ax
movsx eax, word [ebp - 0x18]
imul eax, dword [0x10022900]
movsx ecx, word [ebp - 0x18]
add ecx, eax
mov word [ebp - 0x18], cx
movzx eax, byte [ebp - 0x13]
cdq
push 0xfa6f3
push 0xc3762804
push edx
push eax
call fcn.10018350
mov ecx, eax
movsx eax, word [0x10022958]
cdq
sub eax, ecx
mov word [0x10022958], ax
jmp 0x10007323
movsx eax, word [0x1002295c]
test eax, eax
je 0x10007230
movzx eax, byte [ebp - 0x12]
test eax, eax
je 0x10007230
mov ax, word [ebp - 0x20]
mov byte [ebp - 0x11], al
mov byte [ebp - 0x11], 0xd8
jmp 0x10007323
movsx eax, word [ebp - 0x18]
not eax
movzx ecx, byte [ebp - 0x11]
sub eax, ecx
neg eax
sbb eax, eax
inc eax
movsx ecx, word [ebp - 0x1c]
sub eax, ecx
not eax
test eax, eax
je 0x10007281
movsx eax, word [0x10022904]
cdq
add eax, 0x4ea4bf4b
mov word [0x10022960], ax
mov eax, dword [0x10022968]
and eax, 0x2ab7
mov byte [0x100228e6], al
mov eax, dword [ebp - 0x58]
sar eax, 2
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10007323
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
not eax
not ecx
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], ecx
mov eax, dword [ebp - 0x488]
or eax, dword [ebp - 0x484]
je 0x10007323
movzx eax, byte [ebp - 0x13]
sub eax, dword [0x10022948]
sub eax, dword [ebp - 0x54]
mov dword [0x100228fc], eax
mov ecx, dword [ebp - 0x6c]
not ecx
mov esi, dword [ebp - 0x68]
not esi
add ecx, 0xe0b76e31
adc esi, 0xfff4eeb7
mov eax, dword [0x10022934]
neg eax
sbb eax, eax
inc eax
movsx edx, word [0x10022958]
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.10018350
mov ecx, eax
not ecx
movsx eax, byte [0x100228ea]
not eax
cdq
mov esi, eax
or esi, dword [ebp - 0x54]
not esi
movzx eax, word [ebp - 0x24]
movzx edx, byte [ebp - 0x12]
sub eax, edx
cdq
xor esi, eax
add ecx, esi
mov dword [0x10022950], ecx
xor eax, eax
inc eax
imul eax, eax, 0x14
mov cl, byte [ebp - 0x48]
mov byte [eax + 0x1013abd8], cl
mov eax, dword [0x10022920]
and eax, 0x3503fed6
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x10022940]
or eax, dword [0x10022944]
jne 0x1000734d
mov dword [ebp - 0x188], 1
jmp 0x10007354
and dword [ebp - 0x188], 0
movzx eax, word [ebp - 0x24]
imul eax, dword [ebp - 0x188]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
add ecx, dword [ebp - 0x38]
adc esi, dword [ebp - 0x34]
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xc4], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x18c], eax
cmp dword [ebp - 0x18c], 0
je 0x100073bc
push dword [ebp - 0x18c]
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x328], eax
push 1
push dword [ebp - 0x328]
call dword [sym.imp.USER32.dll_GetSubMenu]
mov dword [ebp - 0x5ec], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x18e
mov dword [ebp - 0x32c], eax
movsx eax, word [0x1002293c]
movzx ecx, word [0x10022930]
xor edx, edx
cmp eax, ecx
setl dl
movsx eax, word [0x1002293c]
xor ecx, ecx
cmp eax, 0x33
setl cl
cmp edx, ecx
jge 0x1000740a
push dword [0x10022970]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x20], ax
jmp 0x10007490
movzx eax, byte [0x100228e2]
movzx ecx, word [ebp - 0x24]
xor edx, edx
cmp ecx, dword [0x10022900]
setg dl
xor ecx, ecx
cmp eax, edx
setne cl
not ecx
test ecx, ecx
je 0x10007444
mov ax, word [0x100228e4]
mov word [0x100228e8], ax
mov eax, 0x4974
mov word [ebp - 0x1c], ax
jmp 0x10007490
mov eax, 0x99
test eax, eax
je 0x10007490
movsx eax, word [ebp - 0x20]
not eax
sub eax, dword [0x10022938]
movzx ecx, word [0x100228e4]
movzx edx, word [ebp - 0x24]
add ecx, edx
not ecx
sub eax, ecx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, 0xb829a
mov dword [ebp - 0x54], 0x23c20124
mov dword [ebp - 0x50], eax
movsx eax, word [0x10022904]
imul eax, eax, 0xc5
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0xc4]
add eax, 0x8b
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 4], 0x12
mov dword [ebp - 0xc0], 0x18b8
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
je 0x100074c6
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x190], eax
jmp 0x100074d3
movzx eax, byte [0x100228eb]
mov dword [ebp - 0x190], eax
mov eax, dword [ebp - 0x190]
mov dword [0x10022948], eax
movsx eax, word [ebp - 0x1c]
add eax, 0x36
cdq
add eax, dword [0x10022910]
adc edx, dword [0x10022914]
mov dword [0x10022910], eax
mov dword [0x10022914], edx
movsx eax, word [ebp - 0x20]
sar eax, 1
mov word [0x100228e8], ax
cmp dword [ebp - 0xc0], 0x181a
jle 0x1000755e
mov eax, dword [ebp - 0x40]
add eax, 0x881b7145
mov word [0x10022930], ax
movzx eax, byte [0x100228e7]
cdq
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov edx, dword [ebp - 0x6c]
sub edx, ecx
mov ecx, dword [ebp - 0x68]
sbb ecx, eax
mov dword [ebp - 0x6c], edx
mov dword [ebp - 0x68], ecx
mov eax, dword [0x1013ac30]
mov dword [0x1002291c], eax
mov eax, dword [ebp - 0xc0]
dec eax
mov dword [ebp - 0xc0], eax
jmp 0x10007509
jmp 0x10007588
or dword [ebp - 4], 0xffffffff
jmp 0x10007592
mov eax, dword [ebp - 0xc4]
add eax, 0x32f
mov dword [ebp - 0x330], eax
movzx eax, byte [0x100228e7]
sub eax, 0x73
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ax, word [0x1013ac30]
mov word [ebp - 0x1c], ax
imul eax, dword [ebp - 0x32c], 0x34f
cmp eax, dword [ebp - 0x330]
je 0x10007704
push 0xb
push 0
push 0
push dword [ebp - 0x5c]
mov eax, dword [0x10022978]
mov ecx, dword [0x1002297c]
mov dword [ebp - 0x5f4], ecx
movzx eax, al
push eax
xor dl, dl
mov cl, 0xcc
call fcn.10001a5e
add esp, 0x14
movzx eax, al
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, byte [ebp - 0x5c]
cmp eax, dword [ebp - 0x48]
jle 0x1000763f
movsx eax, word [ebp - 0x1c]
cdq
and eax, 0x1a68fe55
mov word [ebp - 0x1c], ax
xor eax, eax
inc eax
imul eax, eax, 0x8f
movzx eax, byte [eax + 0x10117888]
mov ecx, dword [0x1002292c]
and ecx, eax
mov dword [0x1002292c], ecx
jmp 0x1000766d
movsx eax, word [ebp - 0x20]
sub eax, 0x72bc
mov word [0x100228f8], ax
movzx eax, byte [0x100228e3]
add eax, 0x54af
mov byte [ebp - 0x11], al
movsx eax, word [0x10022958]
shl eax, 7
mov word [0x10022954], ax
push 0
push 0xeb
push 0
mov edx, dword [ebp - 0x44]
mov cl, byte [0x100228e3]
call fcn.10001830
add esp, 0xc
mov byte [ebp - 0x14], al
movsx eax, byte [ebp - 0x14]
xor ecx, ecx
test eax, eax
setl cl
movsx eax, byte [ebp - 0x14]
xor edx, edx
cmp eax, 2
setl dl
cmp ecx, edx
jg 0x100076cd
movsx eax, word [ebp - 0x18]
cdq
sub eax, 0xac95ae4f
sbb edx, 0xa66a1
mov dword [0x10022968], eax
mov dword [0x1002296c], edx
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x100076fc
mov al, byte [0x1013ac30]
mov byte [0x100228e3], al
movzx eax, byte [0x100228eb]
cdq
push 8
pop ecx
imul ecx, ecx, 0xb79b
mov dword [ecx + 0x100ab178], eax
mov dword [ecx + 0x100ab17c], edx
mov al, byte [0x1013ac30]
mov byte [ebp - 0x11], al
xor eax, eax
inc eax
jmp 0x1000a67f
movzx eax, byte [ebp - 0x13]
add eax, 0x98
mov ecx, dword [0x10022928]
imul ecx, eax
mov dword [0x10022928], ecx
mov eax, dword [0x10022910]
mov ecx, dword [0x10022914]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
call fcn.10003dc1
test eax, eax
je 0x10008040
cmp dword [ebp - 0x48], 0
je 0x10007781
jmp 0x10007754
jmp 0x10007775
jmp 0x1000777f
jmp 0x100077ce
mov eax, 0x2f92
test eax, eax
je 0x100077ce
movsx eax, byte [0x100228ec]
imul eax, eax, 0xbd78616b
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x54]
add ecx, 0xa614d7d8
movzx eax, byte [0x100228e7]
cdq
sub eax, ecx
mov byte [0x100228e7], al
imul eax, dword [0x10022928], 0x37455dc
movsx ecx, word [0x100228e8]
imul ecx, eax
mov word [0x100228e8], cx
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
movzx eax, word [0x10022960]
cdq
push 0xdca36
push 0x9c873553
push edx
push eax
call fcn.10018350
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x100228e4]
and eax, dword [0x10022920]
mov word [0x100228e4], ax
call fcn.10003fe9
test eax, eax
je 0x1000803b
jmp 0x10007835
jmp fcn.1000783c
movzx eax, byte [ebp - 0x11]
cmp dword [0x10022928], eax
sbb eax, eax
neg eax
cmp dword [0x10022928], 0x5f
sbb ecx, ecx
neg ecx
cmp eax, ecx
jne 0x10008085
mov esi, str.The_request_to_con
lea edi, [ebp - 0x6f0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x6f0]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [ebp - 0x1c], ax
jmp 0x1000814f
movzx eax, byte [0x100228e3]
movzx ecx, byte [ebp - 0x11]
add eax, ecx
je 0x100080ee
movsx eax, word [ebp - 0x18]
cdq
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], edx
mov eax, dword [ebp - 0x4ac]
cmp eax, dword [0x10022944]
jb 0x100080cf
ja 0x100080c3
mov eax, dword [ebp - 0x4b0]
cmp eax, dword [0x10022940]
jbe 0x100080cf
mov dword [ebp - 0x198], 1
jmp 0x100080d6
and dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
not eax
test eax, eax
je 0x100080ee
mov dword [ebp - 0x19c], 1
jmp 0x100080f5
and dword [ebp - 0x19c], 0
mov eax, dword [ebp - 0x19c]
not eax
test eax, eax
je 0x1000814f
mov dword [ebp - 0x44], 0xf15a
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x1000811c
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0x1a0], eax
jmp 0x10008126
movsx eax, word [ebp - 0x18]
mov dword [ebp - 0x1a0], eax
mov ax, word [ebp - 0x1a0]
mov word [ebp - 0x28], ax
push 0x2df58
push 0x1dde977e
push dword [0x10022944]
push dword [0x10022940]
call fcn.10018350
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x48]
test eax, eax
je 0x10008374
push 3
pop eax
mov word [ebp - 0x24], ax
movsx eax, word [0x10022924]
test eax, eax
je 0x10008188
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], edx
jmp 0x1000819f
mov eax, dword [0x10022968]
mov ecx, dword [0x1002296c]
mov dword [ebp - 0x248], eax
mov dword [ebp - 0x244], ecx
mov eax, dword [ebp - 0x248]
mov ecx, dword [ebp - 0x244]
mov dword [0x100228f0], eax
mov dword [0x100228f4], ecx
movsx eax, word [ebp - 0x18]
mov ecx, dword [ebp - 0x58]
xor ecx, eax
mov dword [ebp - 0x48], ecx
movzx eax, byte [0x100228e3]
cdq
mov ecx, dword [ebp - 0x6c]
not ecx
mov esi, dword [ebp - 0x68]
not esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x344], eax
mov eax, dword [ebp - 0x344]
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x10008216
sub dword [ebp - 0x78], 1
je 0x1000826d
sub dword [ebp - 0x78], 1
je 0x100082a1
sub dword [ebp - 0x78], 1
je 0x10008349
jmp 0x10008372
movsx eax, byte [0x100228ea]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x604], edx
add ecx, eax
mov eax, dword [0x1002292c]
cdq
sub ecx, eax
movzx eax, byte [ebp - 0x5c]
neg eax
sbb eax, eax
inc eax
movsx edx, word [0x10022958]
sub eax, edx
movsx edx, byte [ebp - 0x14]
movsx esi, word [ebp - 0x1c]
add edx, esi
or eax, edx
cdq
xor ecx, eax
mov byte [ebp - 0x12], cl
mov eax, dword [0x1002294c]
add eax, 0x870b
mov word [0x10022904], ax
jmp 0x10008372
mov eax, dword [0x100228f0]
mov ecx, dword [0x100228f4]
mov dword [ebp - 0x608], ecx
mov dword [0x1002294c], eax
mov al, byte [0x100228eb]
sub al, 1
mov byte [0x100228eb], al
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x10008372
xor eax, eax
inc eax
imul eax, eax, 0x5a
movzx ax, byte [eax + 0x10117888]
mov word [0x10022918], ax
mov eax, dword [0x1002291c]
sar eax, 3
mov word [0x1002293c], ax
mov eax, dword [0x10022940]
or eax, dword [0x10022944]
jne 0x100082dc
mov dword [ebp - 0x1a4], 1
jmp 0x100082e3
and dword [ebp - 0x1a4], 0
cmp dword [ebp - 0x4c], 0
jne 0x100082fd
xor eax, eax
mov dword [ebp - 0x2a0], 1
mov dword [ebp - 0x29c], eax
jmp 0x10008308
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a0], xmm0
movzx eax, word [0x10022954]
sub eax, dword [ebp - 0x1a4]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x5c]
add eax, dword [ebp - 0x44]
cdq
mov edi, dword [ebp - 0x40]
sub edi, dword [ebp - 0x2a0]
mov ebx, dword [ebp - 0x3c]
sbb ebx, dword [ebp - 0x29c]
sub eax, edi
sbb edx, ebx
push edx
push eax
push esi
push ecx
call fcn.10018350
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x10008372
mov eax, 0x81ba8
mov dword [ebp - 0x40], 0x9bc9cdb3
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x40]
sub eax, 0xc4aaff1b
mov byte [0x100228ea], al
mov eax, dword [ebp - 0x48]
add eax, 0x4214
mov byte [0x100228e1], al
jmp 0x100083db
mov eax, dword [0x1002294c]
cmp dword [0x10022970], eax
jae 0x100083b3
xor eax, eax
mov dword [ebp - 0x40], 0xe6
mov dword [ebp - 0x3c], eax
movsx eax, word [0x100228f8]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x38]
movzx eax, byte [ebp - 0x11]
movzx edx, word [0x10022960]
add eax, edx
cdq
or ecx, eax
mov word [0x10022924], cx
jmp 0x100083db
cmp dword [0x10022900], 0
je 0x100083db
mov al, byte [ebp - 0x54]
mov byte [ebp - 0x12], al
movsx eax, word [ebp - 0x1c]
mov ecx, dword [0x1002294c]
sub ecx, eax
mov eax, dword [0x1002294c]
imul eax, ecx
mov dword [0x1002294c], eax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xdc], eax
movzx eax, word [0x10022954]
movsx ecx, byte [0x100228ea]
xor edx, edx
cmp eax, ecx
setge dl
movzx eax, word [0x10022954]
xor ecx, ecx
cmp eax, 0x5b
setge cl
cmp edx, ecx
je 0x1000843e
movsx eax, word [0x1002295c]
movsx ecx, word [ebp - 0x1c]
xor eax, ecx
movsx ecx, word [0x1002295c]
sub ecx, eax
mov word [0x1002295c], cx
movzx eax, word [0x100228e4]
movzx ecx, byte [ebp - 0x11]
sub eax, ecx
mov word [0x100228e4], ax
mov eax, dword [ebp - 0xdc]
add eax, 0x3c4
mov dword [ebp - 0xe0], eax
mov esi, str.windows_1254
lea edi, [ebp - 0x6b4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x6b4]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x10022960], ax
mov eax, dword [ebp - 0xdc]
add eax, 0x379
mov dword [ebp - 0x348], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x100084bb
push dword [ebp - 0xd8]
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x610], eax
push dword [ebp - 0xd8]
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x614], eax
mov eax, dword [ebp - 0xdc]
add eax, 0x280
mov dword [ebp - 0x1a8], eax
movsx eax, word [ebp - 0x1c]
movsx ecx, word [0x10022924]
xor edx, edx
cmp eax, ecx
setg dl
movsx eax, word [ebp - 0x1c]
xor ecx, ecx
cmp eax, 0x31
setg cl
cmp edx, ecx
je 0x10008506
movzx eax, word [0x10022954]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100228e1], al
jmp 0x100085b8
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1000851d
movsx eax, word [0x1002293c]
test eax, eax
jne 0x100085b8
mov eax, dword [0x10022940]
sub eax, 0xcd
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x48], 0
jne 0x10008544
xor eax, eax
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2a4], eax
jmp 0x1000854f
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov eax, dword [0x10022938]
sub eax, 0x490d
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x48]
not eax
cdq
add eax, dword [0x10022940]
adc edx, dword [0x10022944]
add esi, eax
adc edi, edx
push dword [ebp - 0x2a4]
push dword [ebp - 0x2a8]
push dword [0x10022914]
push dword [0x10022910]
call fcn.10018350
mov ecx, eax
mov ebx, edx
movzx eax, byte [ebp - 0x11]
neg eax
sbb eax, eax
inc eax
mov edx, dword [ebp - 0x44]
sub edx, eax
mov eax, edx
cdq
add ecx, eax
adc ebx, edx
push ebx
push ecx
push edi
push esi
call fcn.10018350
mov byte [0x100228ea], al
mov eax, dword [ebp - 0xe0]
add eax, dword [ebp - 0x1a8]
mov ecx, dword [ebp - 0x1a8]
imul ecx, dword [ebp - 0xe0]
xor eax, ecx
mov ecx, dword [ebp - 0xe0]
or ecx, dword [ebp - 0x348]
mov edx, 0x3a5
sub edx, ecx
cmp eax, edx
je 0x1000a49c
mov dword [ebp - 4], 0x14
mov esi, str.Reading_from_file
lea edi, [ebp - 0x704]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
movsb byte es:[edi], byte [esi]
lea eax, [ebp - 0x704]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x100228e4], ax
jmp 0x1000865f
or dword [ebp - 4], 0xffffffff
jmp 0x10008669
mov eax, dword [ebp - 0x44]
dec eax
mov dword [ebp - 0x44], eax
movzx eax, word [0x100228e4]
add eax, 0x9d
mov byte [ebp - 0x14], al
mov eax, dword [0x10022900]
cdq
add eax, dword [0x10022908]
mov dword [0x10022900], eax
imul eax, dword [ebp - 0x1ac], 0x1ca
mov ecx, dword [ebp - 0x1ac]
and ecx, 0xa4
add eax, ecx
cmp eax, 0x2ef
je 0x1000a1b4
mov eax, 0x501b
mov word [0x100228e4], ax
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], ecx
mov eax, dword [0x1002294c]
xor ecx, ecx
push 8
pop edx
imul edx, edx, 0x72
mov dword [edx + 0x10122b70], eax
mov dword [edx + 0x10122b74], ecx
movzx eax, byte [ebp - 0x5c]
cdq
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x4b4]
jb 0x10008725
ja 0x1000870d
mov eax, dword [ebp - 0x40]
cmp eax, dword [ebp - 0x4b8]
jb 0x10008725
mov eax, dword [0x10022948]
add eax, 0x8721
mov byte [0x100228eb], al
mov dword [ebp - 0x58], 0x87
jmp 0x1000875f
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], ecx
mov eax, dword [ebp - 0x4c0]
or eax, dword [ebp - 0x4bc]
je 0x1000875f
movzx eax, byte [0x100228e1]
sub eax, 0x3285
mov word [0x10022924], ax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x58], eax
call fcn.1000328c
test eax, eax
je 0x10009acf
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x10008780
mov dword [ebp - 0x1b0], 1
jmp 0x10008787
and dword [ebp - 0x1b0], 0
mov eax, dword [0x10022920]
sub eax, 0x39
imul eax, dword [ebp - 0x1b0]
not eax
mov byte [ebp - 0x14], al
mov eax, dword [0x100228f0]
mov ecx, dword [0x100228f4]
push 0
push 0x1a
push ecx
push eax
call fcn.10018350
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x10022954]
imul eax, eax, 0x7c0033b9
cdq
mov dword [0x10022968], eax
mov dword [0x1002296c], edx
movzx eax, word [0x10022954]
imul eax, eax, 0x262e
mov dword [0x10022938], eax
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov ax, word [0x1013ac30]
mov word [ebp - 0x20], ax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x58]
cmp dword [0x10022928], eax
je 0x10008864
mov eax, dword [ebp - 0x48]
cdq
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x2c]
mov dword [ebp - 0x4c8], eax
mov dword [ebp - 0x4c4], edx
mov dword [ebp - 0x4d0], ecx
mov dword [ebp - 0x4cc], esi
mov eax, dword [ebp - 0x4c4]
cmp eax, dword [ebp - 0x4cc]
jl 0x10008862
jg 0x1000884f
mov eax, dword [ebp - 0x4c8]
cmp eax, dword [ebp - 0x4d0]
jbe 0x10008862
mov eax, dword [0x10022934]
sub eax, 0xdd
movzx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
jmp 0x100088b8
movzx eax, word [0x10022930]
test eax, eax
je 0x100088b8
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x10022968]
sub ecx, eax
mov eax, dword [0x1002296c]
sbb eax, edx
mov edx, dword [0x10022968]
sub edx, ecx
mov ecx, dword [0x1002296c]
sbb ecx, eax
mov dword [0x10022968], edx
mov dword [0x1002296c], ecx
mov eax, dword [0x10022970]
add eax, dword [0x1002294c]
mov ecx, dword [0x10022970]
sub ecx, eax
mov dword [0x10022970], ecx
mov eax, dword [ebp - 0xe4]
add eax, 0x227
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x4d8], ecx
mov dword [ebp - 0x4d4], esi
mov dword [ebp - 0x2e8], eax
mov dword [ebp - 0x2e4], edx
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0x2e4]
jg 0x10008916
jl 0x1000890a
mov eax, dword [ebp - 0x4d8]
cmp eax, dword [ebp - 0x2e8]
ja 0x10008916
mov dword [ebp - 0x1b4], 1
jmp 0x1000891d
and dword [ebp - 0x1b4], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], ecx
cmp dword [ebp - 0x4dc], 0
jg 0x1000894f
jl 0x10008943
cmp dword [ebp - 0x4e0], 9
ja 0x1000894f
mov dword [ebp - 0x1b8], 1
jmp 0x10008956
and dword [ebp - 0x1b8], 0
mov eax, dword [ebp - 0x1b4]
cmp eax, dword [ebp - 0x1b8]
jge 0x100089f2
call dword [sym.imp.USER32.dll_GetMessagePos]
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0x4c], 0
ja 0x100089c4
movsx eax, word [ebp - 0x18]
cmp dword [ebp - 0x44], eax
jl 0x100089b1
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x28]
sub eax, ecx
movsx ecx, word [ebp - 0x20]
add ecx, eax
mov word [ebp - 0x20], cx
mov eax, dword [0x10022934]
cdq
mov ecx, eax
add ecx, 0xd25576a9
mov eax, dword [0x1002292c]
cdq
add eax, ecx
mov dword [0x1002292c], eax
jmp 0x100089c2
mov al, byte [ebp - 0x12]
sub al, 1
mov byte [ebp - 0x12], al
mov eax, 0xf12a
mov word [ebp - 0x24], ax
jmp 0x100089f0
mov eax, 0xd225c
mov dword [0x10022940], 0xee84fc0
mov dword [0x10022944], eax
mov byte [ebp - 0x5c], 0x1f
movsx eax, word [ebp - 0x18]
sub eax, dword [0x10022950]
movsx ecx, word [ebp - 0x18]
sub ecx, eax
mov word [ebp - 0x18], cx
jmp 0x10008a18
movzx eax, byte [0x100228e3]
test eax, eax
je 0x10008a18
mov eax, dword [ebp - 0x58]
dec eax
mov dword [ebp - 0x58], eax
imul eax, dword [0x10022938], 0xc1
movzx ecx, byte [ebp - 0x11]
imul ecx, eax
mov byte [ebp - 0x11], cl
mov eax, dword [ebp - 0xe4]
add eax, 0x3d8
mov dword [ebp - 0x618], eax
movsx eax, word [0x10022958]
neg eax
sbb eax, eax
inc eax
sub eax, dword [0x1002294c]
mov byte [ebp - 0x13], al
mov dword [0x10022948], 4
mov eax, dword [ebp - 0xe4]
add eax, 0x143
mov dword [ebp - 0x61c], eax
jmp 0x10008a88
jmp 0x10008aa8
jmp 0x10008ae6
jmp 0x10008af7
jmp 0x10008b3f
mov eax, dword [ebp - 0xe8]
sub eax, 0x35a
mov ecx, dword [ebp - 0xe8]
imul ecx, dword [ebp - 0xe8]
cmp eax, ecx
je 0x10009aca
movzx eax, byte [ebp - 0x11]
not eax
test eax, eax
je 0x10008c21
mov dword [ebp - 4], 0x16
movsx eax, byte [0x100228ec]
movzx ecx, word [0x10022960]
add eax, ecx
mov byte [0x100228ec], al
movsx eax, word [0x1002295c]
sub eax, 0xf4
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x5c]
cdq
mov edi, dword [ebp - 0x54]
sub edi, eax
mov eax, dword [ebp - 0x50]
sbb eax, edx
push eax
push edi
push esi
push ecx
call fcn.10018350
movzx ecx, byte [0x100228eb]
mov edx, dword [0x100228fc]
not edx
add ecx, edx
movzx edx, byte [ebp - 0x12]
movsx esi, byte [ebp - 0x14]
add edx, esi
or ecx, edx
sub eax, ecx
mov word [ebp - 0x28], ax
mov eax, dword [0x1013ac30]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x10008c15
or dword [ebp - 4], 0xffffffff
jmp 0x10008c1f
jmp 0x10008c5d
mov eax, dword [0x10022948]
sub eax, dword [ebp - 0x4c]
mov ecx, dword [0x10022948]
sub ecx, eax
mov dword [0x10022948], ecx
movsx eax, word [ebp - 0x20]
imul eax, dword [0x10022920]
or eax, dword [0x10022920]
mov dword [0x10022920], eax
movsx eax, word [ebp - 0x1c]
sub eax, 0xf4a1
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov al, byte [ebp - 0x12]
mov byte [0x100228eb], al
movzx eax, byte [0x100228e2]
sub eax, 0xf335
mov word [ebp - 0x18], ax
call fcn.10003fe9
test eax, eax
jne 0x10009a8e
movsx eax, word [0x100228f8]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], edx
mov eax, dword [ebp - 0x4e8]
or eax, dword [ebp - 0x4e4]
jne 0x10008cb6
mov dword [ebp - 0x1bc], 1
jmp 0x10008cbd
and dword [ebp - 0x1bc], 0
mov eax, dword [0x1002292c]
not eax
test eax, eax
jne 0x10008cf5
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
not eax
not ecx
mov dword [ebp - 0x4f0], eax
mov dword [ebp - 0x4ec], ecx
mov eax, dword [ebp - 0x4f0]
or eax, dword [ebp - 0x4ec]
jne 0x10008cf5
and dword [ebp - 0x1c0], 0
jmp 0x10008cff
mov dword [ebp - 0x1c0], 1
movsx eax, word [0x10022904]
test eax, eax
jne 0x10008d1e
xor eax, eax
mov dword [ebp - 0x2b0], 1
mov dword [ebp - 0x2ac], eax
jmp 0x10008d29
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov ecx, dword [ebp - 0x54]
not ecx
mov esi, dword [ebp - 0x50]
not esi
movzx eax, byte [0x100228e2]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], esi
mov eax, dword [ebp - 0x2ac]
cmp eax, dword [ebp - 0x4f4]
jl 0x10008d75
jg 0x10008d69
mov eax, dword [ebp - 0x2b0]
cmp eax, dword [ebp - 0x4f8]
jb 0x10008d75
mov dword [ebp - 0x1c4], 1
jmp 0x10008d7c
and dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1bc]
xor ecx, ecx
cmp eax, dword [ebp - 0x1c0]
setg cl
mov eax, dword [ebp - 0x1c4]
not eax
cmp ecx, eax
jge 0x10008e05
mov eax, dword [0x10022900]
sar eax, 6
cdq
mov dword [0x10022978], eax
mov dword [0x1002297c], edx
mov eax, dword [0x100228fc]
xor ecx, ecx
push 0x6e038
push 0x1bfa41a7
push ecx
push eax
call fcn.10018350
mov word [ebp - 0x1c], ax
movsx eax, word [ebp - 0x18]
movzx ecx, byte [0x100228e3]
xor eax, ecx
movzx ecx, word [0x10022960]
movsx edx, byte [ebp - 0x14]
neg edx
sbb edx, edx
inc edx
sub ecx, edx
imul eax, ecx
movzx ecx, byte [ebp - 0x13]
movsx edx, word [ebp - 0x20]
sub edx, dword [ebp - 0x44]
add ecx, edx
add eax, ecx
mov word [0x10022924], ax
jmp 0x10008f63
movsx eax, byte [0x100228e0]
test eax, eax
je 0x10008e7b
mov eax, dword [ebp - 0x44]
sub eax, dword [0x1002292c]
mov ecx, dword [ebp - 0x44]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov eax, dword [0x10022900]
mov word [ebp - 0x1c], ax
movsx eax, word [0x10022918]
movsx ecx, word [0x1002293c]
imul eax, ecx
cdq
mov ecx, dword [0x10022978]
mov esi, dword [0x1002297c]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x4fc], esi
mov eax, dword [ebp - 0x500]
or eax, dword [ebp - 0x4fc]
jne 0x10008e6c
mov byte [ebp - 0x7e], 1
jmp 0x10008e70
mov byte [ebp - 0x7e], 0
mov al, byte [ebp - 0x7e]
mov byte [ebp - 0x13], al
jmp 0x10008f63
movzx eax, byte [0x100228eb]
xor ecx, ecx
cmp eax, 0x47
setl cl
mov eax, dword [ebp - 0x4c]
imul eax, dword [ebp - 0x48]
neg eax
sbb eax, eax
inc eax
imul ecx, eax
not ecx
test ecx, ecx
je 0x10008ecb
mov eax, dword [0x10022968]
mov ecx, dword [0x1002296c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebp - 0x58]
add eax, 0x1060
mov ecx, dword [0x10022950]
sub ecx, eax
mov dword [0x10022950], ecx
jmp 0x10008f63
mov eax, dword [ebp - 0x4c]
xor ecx, ecx
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], ecx
mov eax, dword [0x1002290c]
cmp eax, dword [ebp - 0x504]
ja 0x10008f04
jb 0x10008ef8
mov eax, dword [0x10022908]
cmp eax, dword [ebp - 0x508]
ja 0x10008f04
mov dword [ebp - 0x1cc], 1
jmp 0x10008f0b
and dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
jne 0x10008f1f
mov dword [ebp - 0x1c8], 1
jmp 0x10008f26
and dword [ebp - 0x1c8], 0
mov eax, 0x88528182
cmp eax, dword [ebp - 0x1c8]
sbb eax, eax
inc eax
or eax, dword [ebp - 0x1cc]
je 0x10008f63
mov eax, dword [0x10022934]
mov byte [ebp - 0x13], al
movsx eax, byte [0x100228ea]
movzx ecx, word [0x10022960]
sub eax, ecx
movsx ecx, byte [0x100228ea]
sub ecx, eax
mov byte [0x100228ea], cl
movzx eax, byte [0x100228eb]
cmp dword [0x10022948], eax
sbb eax, eax
neg eax
movzx ecx, byte [0x100228eb]
xor edx, edx
cmp ecx, 1
setg dl
cmp eax, edx
jle 0x10008fa0
movzx eax, word [ebp - 0x24]
imul eax, eax, 0x1e30
mov dword [0x10022900], eax
movsx eax, word [ebp - 0x28]
movsx ecx, byte [0x100228e0]
imul eax, ecx
movzx ecx, byte [ebp - 0x11]
not ecx
movzx edx, word [0x10022954]
sub ecx, edx
not ecx
or eax, ecx
mov byte [0x100228e2], al
xor eax, eax
jmp 0x1000a67f
jmp 0x1000a1b4
movsx eax, word [ebp - 0x1c]
and eax, 0xeed
mov dword [0x10022950], eax
xor eax, eax
inc eax
imul eax, eax, 0x65
movzx eax, byte [eax + 0x10117888]
mov dword [0x10022950], eax
movsx eax, word [ebp - 0x28]
test eax, eax
je 0x10009b0d
movzx eax, byte [0x100228e1]
cdq
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], edx
jmp 0x10009b1f
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x2d0], eax
mov dword [ebp - 0x2cc], ecx
mov ax, word [ebp - 0x2d0]
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x24]
cmp eax, dword [0x10022900]
jg 0x10009d00
mov byte [0x100228e1], 3
mov eax, dword [ebp - 0x40]
sub eax, 0x99b3
mov dword [ebp - 0x48], eax
movzx eax, byte [0x100228e3]
neg eax
sbb eax, eax
inc eax
movsx ecx, word [ebp - 0x18]
imul eax, ecx
cdq
mov esi, eax
mov edi, edx
xor eax, eax
mov ecx, dword [ebp - 0x38]
sub ecx, dword [0x10022928]
mov edx, dword [ebp - 0x34]
sbb edx, eax
sub esi, ecx
sbb edi, edx
not esi
not edi
movzx eax, byte [0x100228e3]
cdq
push edx
push eax
push dword [ebp - 0x34]
push dword [ebp - 0x38]
call fcn.10018350
xor eax, dword [ebp - 0x40]
xor edx, dword [ebp - 0x3c]
add esi, eax
adc edi, edx
mov dword [ebp - 0x580], esi
mov dword [ebp - 0x57c], edi
mov eax, dword [ebp - 0x580]
or eax, dword [ebp - 0x57c]
jne 0x10009bbb
mov byte [ebp - 0x80], 1
jmp 0x10009bbf
mov byte [ebp - 0x80], 0
mov al, byte [ebp - 0x80]
mov byte [0x100228e0], al
movsx eax, word [0x100228e8]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, byte [0x100228e1]
mov dword [ebp - 0x34c], eax
mov eax, dword [ebp - 0x34c]
mov dword [ebp - 0x7c], eax
cmp dword [ebp - 0x7c], 0
je 0x10009c12
sub dword [ebp - 0x7c], 1
je 0x10009c52
sub dword [ebp - 0x7c], 1
je 0x10009c73
sub dword [ebp - 0x7c], 1
je 0x10009c9e
jmp 0x10009cfb
movsx eax, word [0x1002295c]
imul eax, eax, 0xb7de
mov dword [0x10022934], eax
xor eax, eax
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], eax
mov ecx, dword [0x1002294c]
xor ecx, 0xdc
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
call fcn.10018490
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp 0x10009cfb
movzx eax, byte [ebp - 0x12]
neg eax
sbb eax, eax
inc eax
imul eax, dword [ebp - 0x44]
mov byte [0x100228e6], al
mov dword [0x1002294c], 0xd53afdd1
jmp 0x10009cfb
movsx eax, word [0x10022958]
imul eax, eax, 0xdba36522
xor ecx, ecx
mov dword [0x10022908], eax
mov dword [0x1002290c], ecx
movsx eax, byte [ebp - 0x14]
add eax, dword [0x100228fc]
mov dword [0x100228fc], eax
jmp 0x10009cfb
mov eax, dword [0x10022940]
or eax, dword [0x10022944]
je 0x10009cc4
mov eax, dword [0x10022940]
mov ecx, dword [0x10022944]
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], ecx
jmp 0x10009cd8
movsx eax, word [0x1002293c]
cdq
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
mov al, byte [ebp - 0x2d8]
mov byte [0x100228ea], al
mov eax, dword [0x10022950]
sub eax, 0x58
movsx ecx, word [0x10022904]
sub ecx, eax
mov word [0x10022904], cx
jmp 0x10009d93
movzx eax, word [ebp - 0x24]
not eax
movsx ecx, word [0x1002295c]
xor edx, edx
cmp eax, ecx
setge dl
movzx eax, byte [ebp - 0x5c]
movsx ecx, word [0x10022958]
add eax, ecx
cmp edx, eax
jne 0x10009d93
movsx eax, word [0x100228e8]
sub eax, 0xfa
cdq
mov ecx, dword [ebp - 0x4c]
xor esi, esi
add ecx, dword [ebp - 0x54]
adc esi, dword [ebp - 0x50]
add eax, ecx
adc edx, esi
mov dword [ebp - 0x588], eax
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x588]
or eax, dword [ebp - 0x584]
jne 0x10009d67
mov dword [ebp - 0x1f8], 1
jmp 0x10009d6e
and dword [ebp - 0x1f8], 0
mov eax, dword [ebp - 0x1f8]
mov dword [0x10022920], eax
mov eax, dword [ebp - 0x44]
cdq
sub eax, 0x687bf14a
sbb edx, 0x2be31
mov dword [0x10022908], eax
mov dword [0x1002290c], edx
call fcn.10003fe9
test eax, eax
jne 0x1000a1b4
jmp 0x10009dc6
jmp 0x10009dd9
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
xor ecx, ecx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
not ecx
not esi
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], edx
mov dword [ebp - 0x598], ecx
mov dword [ebp - 0x594], esi
mov eax, dword [ebp - 0x58c]
cmp eax, dword [ebp - 0x594]
jg 0x10009e38
jl 0x10009e2c
mov eax, dword [ebp - 0x590]
cmp eax, dword [ebp - 0x598]
ja 0x10009e38
mov dword [ebp - 0x1fc], 1
jmp 0x10009e3f
and dword [ebp - 0x1fc], 0
movsx eax, word [ebp - 0x1c]
xor ecx, ecx
cmp eax, dword [ebp - 0x1fc]
setg cl
cmp dword [0x1002292c], ecx
jg 0x10009f15
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], ecx
cmp dword [ebp - 0x59c], 0xafa0e
jg 0x10009ea2
jl 0x10009e86
cmp dword [ebp - 0x5a0], 0xe1a53aef
jae 0x10009ea2
movsx eax, byte [0x100228e6]
test eax, eax
jne 0x10009ea2
mov eax, dword [ebp - 0x54]
or eax, dword [ebp - 0x50]
jne 0x10009ea2
and dword [ebp - 0x200], 0
jmp 0x10009eac
mov dword [ebp - 0x200], 1
mov eax, dword [ebp - 0x200]
not eax
test eax, eax
je 0x10009f13
movzx eax, word [ebp - 0x24]
push 4
pop ecx
shl ecx, 5
mov dword [ecx + 0x100aadb8], eax
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
jne 0x10009edc
mov dword [ebp - 0x204], 1
jmp 0x10009ee3
and dword [ebp - 0x204], 0
movsx eax, word [0x100228e8]
movzx ecx, word [0x10022930]
sub eax, ecx
not eax
mov ecx, dword [0x1002294c]
not ecx
mov edx, dword [ebp - 0x58]
sub edx, dword [ebp - 0x204]
add ecx, edx
sub eax, ecx
neg eax
sbb al, al
inc al
mov byte [ebp - 0x14], al
jmp 0x10009f4d
mov eax, dword [ebp - 0x48]
mov dword [0x10022948], eax
movzx eax, byte [ebp - 0x5c]
cdq
mov ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x2c]
mov dword [ebp - 0x630], edx
add eax, ecx
not eax
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x4c]
neg eax
sbb eax, eax
inc eax
movsx ecx, word [0x1002293c]
add eax, ecx
not eax
mov byte [0x100228e0], al
mov eax, dword [0x1013ac30]
mov dword [ebp - 0xf0], eax
mov eax, dword [0x10022934]
neg eax
sbb eax, eax
inc eax
movzx ecx, word [0x10022930]
neg ecx
sbb ecx, ecx
inc ecx
sub eax, ecx
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0xf0]
add eax, 0x107
mov dword [ebp - 0x2dc], eax
jmp 0x10009f99
jmp 0x10009faf
mov eax, dword [ebp - 0xf0]
add eax, 0x220
mov dword [ebp - 0x208], eax
push dword [0x10022928]
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [0x100228ea], al
mov eax, dword [ebp - 0xf0]
add eax, 0x14a
mov dword [ebp - 0x350], eax
mov al, byte [0x1013ac30]
mov byte [ebp - 0x14], al
mov eax, dword [0x1013ac30]
mov dword [0x1002292c], eax
mov eax, 0x31d
sub eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x208]
xor ecx, eax
mov eax, dword [ebp - 0x208]
imul eax, dword [ebp - 0x2dc]
cmp ecx, eax
je 0x1000a1b4
mov eax, dword [0x100228f0]
mov edx, dword [0x100228f4]
mov cl, 5
call fcn.10018490
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x1002292c]
cdq
mov ecx, dword [0x10022910]
sub ecx, eax
movsx eax, byte [ebp - 0x14]
mov edx, dword [0x10022920]
sub edx, eax
mov eax, edx
cdq
sub ecx, eax
mov word [ebp - 0x1c], cx
cmp dword [ebp - 0x48], 0
je 0x1000a1ac
movzx eax, word [0x100228e4]
test eax, eax
jne 0x1000a086
movsx eax, word [ebp - 0x20]
not eax
movzx ecx, byte [ebp - 0x5c]
cmp eax, ecx
jle 0x1000a086
mov dword [ebp - 0x20c], 1
jmp 0x1000a08d
and dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x20c]
not eax
test eax, eax
je 0x1000a185
mov dword [ebp - 0x4c], 2
movsx eax, word [ebp - 0x1c]
movzx ecx, byte [ebp - 0x12]
and eax, ecx
mov word [ebp - 0x1c], ax
mov eax, 0xf72f9
mov dword [ebp - 0x54], 0x4fa0c496
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2e0], eax
mov eax, dword [ebp - 0x2e0]
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0
je 0x1000a0f6
sub dword [ebp - 0x88], 1
je 0x1000a12d
sub dword [ebp - 0x88], 1
je 0x1000a160
jmp 0x1000a183
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x634], ecx
add eax, 0x13fb
mov word [0x100228e4], ax
movsx eax, word [ebp - 0x28]
neg eax
sbb eax, eax
inc eax
imul eax, eax, 0x1ba4
neg eax
sbb eax, eax
inc eax
mov ecx, dword [ebp - 0x44]
imul ecx, eax
mov word [ebp - 0x20], cx
jmp 0x1000a183
movzx eax, word [0x10022960]
sar eax, 8
mov word [0x10022958], ax
mov eax, dword [0x100228f0]
mov ecx, dword [0x100228f4]
xor eax, 0x75ae0ac2
xor ecx, 0x6d088
mov dword [0x10022978], eax
mov dword [0x1002297c], ecx
jmp 0x1000a183
mov ax, word [0x10022940]
mov word [ebp - 0x18], ax
mov eax, dword [ebp - 0x38]
xor eax, 0xa8cbfc63
mov ecx, dword [ebp - 0x34]
xor ecx, 0
mov dword [0x10022978], eax
mov dword [0x1002297c], ecx
jmp 0x1000a1ac
movsx eax, word [0x100228e8]
test eax, eax
jne 0x1000a1ac
movsx eax, word [ebp - 0x18]
add eax, 0x62
mov byte [ebp - 0x12], al
movzx eax, word [0x10022930]
imul eax, eax, 0xdc7a
mov dword [0x10022900], eax
xor eax, eax
inc eax
jmp 0x1000a67f
mov eax, dword [ebp - 0x48]
sub eax, 0x7b87
cdq
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], edx
mov eax, dword [0x1002296c]
cmp eax, dword [ebp - 0x5a4]
jb 0x1000a375
ja 0x1000a1ed
mov eax, dword [0x10022968]
cmp eax, dword [ebp - 0x5a8]
jbe 0x1000a375
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x58], eax
ja 0x1000a2fd
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x68]
je 0x1000a22e
mov eax, dword [0x1002294c]
xor ecx, ecx
push 8
pop edx
imul edx, edx, 0x56c
mov dword [edx + 0x10023460], eax
mov dword [edx + 0x10023464], ecx
xor eax, eax
mov dword [ebp - 0x30], 8
mov dword [ebp - 0x2c], eax
jmp 0x1000a2fb
mov eax, dword [0x10022978]
mov ecx, dword [0x1002297c]
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], ecx
mov eax, dword [ebp - 0x5b0]
or eax, dword [ebp - 0x5ac]
je 0x1000a270
movzx eax, byte [0x100228eb]
cdq
add eax, 0x8a3aa2bd
mov dword [ebp - 0x58], eax
mov eax, dword [0x1013ac30]
mov dword [ebp - 0x48], eax
jmp 0x1000a2fb
movsx eax, word [ebp - 0x18]
neg eax
sbb eax, eax
inc eax
xor ecx, ecx
cmp dword [0x10022948], eax
setne cl
movsx eax, word [ebp - 0x28]
cmp eax, dword [0x1002294c]
sbb eax, eax
inc eax
cmp ecx, eax
jl 0x1000a2a4
movsx eax, word [ebp - 0x18]
cdq
add eax, 0xec453527
mov dword [ebp - 0x58], eax
jmp 0x1000a2fb
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x3c]
je 0x1000a2fb
mov eax, dword [0x100228fc]
xor ecx, ecx
push 0x8ce64
push 0xa97aa82
push ecx
push eax
call fcn.10018350
mov dword [0x100228f0], eax
mov dword [0x100228f4], edx
mov eax, dword [0x10022938]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x3150f097
adc esi, 0x6ece9
movzx eax, byte [0x100228e2]
cdq
push esi
push ecx
push edx
push eax
call fcn.10018350
mov byte [0x100228e2], al
jmp 0x1000a370
mov eax, dword [ebp - 0x48]
not eax
test eax, eax
je 0x1000a370
movsx eax, byte [0x100228ea]
not eax
movzx ecx, word [0x10022930]
neg ecx
sbb ecx, ecx
inc ecx
imul eax, ecx
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [0x10022978]
mov esi, dword [0x1002297c]
not ecx
not esi
mov eax, dword [ebp - 0x58]
cdq
push edx
push eax
push esi
push ecx
call fcn.10018350
mov ecx, eax
movzx eax, word [0x100228e4]
cdq
add ecx, eax
movsx eax, word [0x10022904]
imul eax, eax, 0x64
movsx edx, word [0x1002295c]
add edx, dword [0x1002291c]
and eax, edx
cdq
and ecx, eax
mov byte [0x100228e0], cl
jmp 0x1000a495
movsx eax, word [0x10022918]
cdq
mov dword [ebp - 0x5b8], eax
mov dword [ebp - 0x5b4], edx
mov eax, dword [ebp - 0x5b4]
cmp eax, dword [ebp - 0x68]
jl 0x1000a3ad
jg 0x1000a3a1
mov eax, dword [ebp - 0x5b8]
cmp eax, dword [ebp - 0x6c]
jb 0x1000a3ad
mov dword [ebp - 0x210], 1
jmp 0x1000a3b4
and dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x48]
cdq
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], edx
mov eax, dword [ebp - 0x5bc]
cmp eax, dword [0x1002290c]
ja 0x1000a3ee
jb 0x1000a3e2
mov eax, dword [ebp - 0x5c0]
cmp eax, dword [0x10022908]
jae 0x1000a3ee
mov dword [ebp - 0x214], 1
jmp 0x1000a3f5
and dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x210]
cmp eax, dword [ebp - 0x214]
jl 0x1000a433
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x638], ecx
sub eax, 0x9dca
mov byte [0x100228e2], al
push 0
push 0xe43eefa1
push dword [ebp - 0x3c]
push dword [ebp - 0x40]
call fcn.10018350
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
jmp 0x1000a495
movsx eax, word [0x100228f8]
movzx ecx, byte [ebp - 0x11]
cmp eax, ecx
jge 0x1000a465
mov eax, dword [0x1002294c]
imul eax, dword [ebp - 0x44]
mov ecx, dword [0x1002294c]
or ecx, eax
mov dword [0x1002294c], ecx
mov dword [0x1002291c], 0xe469526
jmp 0x1000a495
movzx eax, byte [ebp - 0x5c]
movsx ecx, word [ebp - 0x18]
not ecx
sub eax, ecx
movzx ecx, byte [0x100228e3]
movsx edx, byte [0x100228ec]
imul ecx, edx
cmp eax, ecx
je 0x1000a495
movsx eax, word [0x1002293c]
xor eax, 0x82fb
mov byte [ebp - 0x5c], al
xor eax, eax
jmp 0x1000a67f