Function at 0x1002aca0
Capabilities:
Encode data using base64
Encode data using xor
Identify system language via api
Terminate process

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x10066570
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x7dc
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x6dc], 0xf6
movsx eax, word [0x1007f1a8]
mov dword [ebp - 0x3c], eax
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x38], ecx
movzx dx, byte [0x1007f026]
mov word [ebp - 0x1c], dx
mov ax, word [0x1007f16c]
mov word [ebp - 0x2c], ax
mov cl, byte [0x1007f120]
mov byte [ebp - 0x13], cl
mov dx, word [0x1007f16c]
mov word [ebp - 0x28], dx
mov byte [ebp - 0x12], 0x15
mov eax, 0xe5dc
mov word [ebp - 0x20], ax
mov cx, word [0x1007f1b8]
mov byte [ebp - 0x15], cl
mov edx, dword [0x1007f178]
mov eax, dword [0x1007f17c]
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x1007f1bc]
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov edx, dword [0x1007f120]
mov dword [ebp - 0x48], edx
mov eax, 0x8c72e
mov dword [ebp - 0x50], 0xa6fdf8f6
mov dword [ebp - 0x4c], eax
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov ecx, 0x357
mov word [ebp - 0x24], cx
mov dx, word [0x1007f188]
mov word [ebp - 0x30], dx
mov dword [ebp - 0x34], 0x3945a32e
mov byte [ebp - 0x14], 0x7c
mov dword [ebp - 0x78], 0xad2a
xor eax, eax
mov dword [ebp - 0x68], 0x6a5d
mov dword [ebp - 0x64], eax
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x70], ecx
movsx edx, word [0x1007f148]
mov dword [ebp - 0x74], edx
mov byte [ebp - 0x11], 0x58
mov eax, 0xffffaf70
mov word [ebp - 0x3bc], ax
mov dword [ebp - 0x6e0], 0xf2
mov ecx, dword [0x1007f154]
mov dword [ebp - 0x6e4], ecx
xor edx, edx
mov dword [ebp - 0x788], 0x4f6fc784
mov dword [ebp - 0x784], edx
mov ax, word [0x1007f14c]
mov word [ebp - 0x3c0], ax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x6e8], edx
mov word [ebp - 0x3c4], cx
mov eax, 0xffffccea
mov word [ebp - 0x3c8], ax
mov dword [ebp - 0x6ec], 0xf70b147f
mov byte [ebp - 0x101], 9
mov dword [ebp - 0x6f0], 0x61b53d68
xor ecx, ecx
mov dword [ebp - 0x790], 0x3c
mov dword [ebp - 0x78c], ecx
movsx edx, byte [ebp - 0x13]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0x24]
test eax, eax
jg 0x1002ae7a
mov dword [ebp - 0x2f0], 1
jmp 0x1002ae84
mov dword [ebp - 0x2f0], 0
movsx ecx, word [ebp - 0x24]
cmp ecx, 0x23
jg 0x1002ae99
mov dword [ebp - 0x2f8], 1
jmp 0x1002aea3
mov dword [ebp - 0x2f8], 0
mov edx, dword [ebp - 0x2f0]
cmp edx, dword [ebp - 0x2f8]
jle 0x1002aefe
movzx eax, word [0x1007f1b8]
xor eax, dword [ebp - 0x38]
movzx ecx, word [0x1007f1b8]
add ecx, eax
mov word [0x1007f1b8], cx
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
push 0x51038
push 0x5adfe1c1
push eax
push edx
call fcn.1005a1b0
mov word [0x1007f1a8], ax
mov ecx, dword [ebp - 0x48]
sub ecx, 0x9a81
mov dword [ebp - 0x78], ecx
jmp 0x1002afec
mov edx, dword [0x1007f144]
cmp dword [ebp - 0x38], edx
jge 0x1002af15
mov dword [ebp - 0x2fc], 1
jmp 0x1002af1f
mov dword [ebp - 0x2fc], 0
cmp dword [0x1007f144], 0x81
jge 0x1002af37
mov dword [ebp - 0x300], 1
jmp 0x1002af41
mov dword [ebp - 0x300], 0
mov eax, dword [ebp - 0x2fc]
sub eax, dword [ebp - 0x300]
je 0x1002afec
movzx ecx, word [0x1007f1c8]
test ecx, ecx
jne 0x1002af6a
mov dword [ebp - 0x12c], 1
jmp 0x1002af74
mov dword [ebp - 0x12c], 0
movsx edx, byte [ebp - 0x13]
movzx eax, byte [0x1007f026]
add edx, eax
jne 0x1002af8f
mov dword [ebp - 0x130], 1
jmp 0x1002af99
mov dword [ebp - 0x130], 0
movzx ecx, word [0x1007f1b8]
mov eax, ecx
imul eax, dword [ebp - 0x12c]
imul eax, dword [ebp - 0x130]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x1007f1b0]
sub ecx, eax
mov eax, dword [0x1007f1b4]
sbb eax, edx
mov dword [0x1007f1b0], ecx
mov dword [0x1007f1b4], eax
movzx ecx, byte [ebp - 0x15]
imul eax, ecx, 0x6767
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x98], edx
movzx eax, word [0x1007f128]
cdq
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x6f4], edx
add ecx, eax
mov eax, dword [0x1007f160]
mov edx, dword [0x1007f164]
call fcn.1005a1f0
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov eax, dword [ebp - 0x74]
xor eax, 0x4531fc26
imul eax, dword [0x1007f1bc]
mov dword [0x1007f1bc], eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x126
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x3c], 1
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
je 0x1002b076
movsx eax, byte [ebp - 0x13]
mov dword [ebp - 0x134], eax
jmp 0x1002b083
movzx ecx, word [0x1007f128]
mov dword [ebp - 0x134], ecx
mov edx, dword [ebp - 0x134]
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x98]
add eax, 0x4d48
mov dword [ebp - 0x3cc], eax
push 0x34
push 0
movzx ecx, byte [ebp - 0x15]
push ecx
call fcn.10036060
add esp, 0xc
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
je 0x1002b128
mov dword [ebp - 0x118], 0x5b
movzx eax, word [ebp - 0x1c]
add eax, 0x4e2e3732
mov byte [0x1007f04e], al
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov eax, 0xffffb785
mov word [ebp - 0x2c], ax
movzx ecx, byte [ebp - 0x12]
sub ecx, 0xe1
mov dword [0x1007f180], ecx
mov edx, dword [ebp - 0x118]
add edx, 1
mov dword [ebp - 0x118], edx
cmp dword [ebp - 0x118], 0x24b9
jl 0x1002b0f2
jmp 0x1002b14d
movsx eax, byte [ebp - 0x13]
imul eax, dword [0x1007f140]
mov dword [0x1007f140], eax
mov eax, dword [ebp - 0x74]
cdq
sub eax, 0xbce0bc4a
sbb edx, 0xf9238
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x98]
add ecx, 0x6e53
mov dword [ebp - 0x3d0], ecx
movzx edx, word [0x1007f1b8]
add edx, 0xf1
movsx eax, byte [ebp - 0x11]
sub eax, edx
mov byte [ebp - 0x11], al
movzx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
movzx eax, word [ebp - 0x28]
cdq
xor eax, ecx
mov word [ebp - 0x28], ax
mov edx, dword [0x1007f140]
xor edx, 0x56d3
mov byte [ebp - 0x14], dl
push 0xe
push 0
movsx ax, byte [ebp - 0x11]
movzx ecx, ax
push ecx
push 0xff
movzx edx, word [str.C]
push edx
call fcn.10036ef0
add esp, 0x14
movzx eax, ax
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x43c], eax
mov dword [ebp - 0x438], ecx
mov edx, dword [ebp - 0x43c]
or edx, dword [ebp - 0x438]
je 0x1002b229
mov eax, dword [ebp - 0x50]
add eax, 0xe8a5e33f
mov word [ebp - 0x24], ax
movzx ecx, word [0x1007f1b8]
imul eax, ecx, 0x5a
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
imul edx, dword [ebp - 0x48], 0x97
movzx eax, word [0x1007f16c]
sub eax, edx
mov word [0x1007f16c], ax
mov ecx, dword [ebp - 0x3cc]
imul ecx, dword [ebp - 0x3d0]
sub ecx, 0x214dfb01
mov dword [ebp - 0x3e8], ecx
push 0
push 0
push 0
push 0x37
push 0
push 0x47
push 0
push 0
mov eax, dword [ebp - 0x48]
cdq
push edx
push eax
movzx eax, word [ebp - 0x1c]
cdq
push edx
push eax
call fcn.10035400
add esp, 0x30
mov byte [ebp - 0x15], al
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x1002b2a4
mov eax, dword [0x1007fc38]
xor ecx, ecx
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
mov edx, 4
imul eax, edx, 0x5cc6
mov ecx, dword [eax + 0x100e04e0]
mov dword [ebp - 0x34], ecx
mov byte [0x1007f026], 0x3e
jmp 0x1002b33b
movzx eax, byte [0x1007f026]
not eax
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
mov dword [ebp - 0x44c], ecx
mov dword [ebp - 0x448], esi
mov edx, dword [ebp - 0x440]
cmp edx, dword [ebp - 0x448]
jg 0x1002b33b
jl 0x1002b2ea
mov eax, dword [ebp - 0x444]
cmp eax, dword [ebp - 0x44c]
ja 0x1002b33b
mov ecx, dword [ebp - 0x58]
add ecx, 1
mov edx, dword [ebp - 0x54]
adc edx, 0
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movzx eax, word [0x1007f128]
imul eax, dword [0x1007f180]
movzx ecx, word [0x1007f128]
or ecx, eax
mov word [0x1007f128], cx
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
add ecx, eax
adc esi, edx
mov dword [0x1007f1d0], ecx
mov dword [0x1007f1d4], esi
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x9c], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x8c], eax
cmp dword [ebp - 0x8c], 0
je 0x1002b395
mov eax, dword [ebp - 0x8c]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x6fc], eax
mov ecx, dword [ebp - 0x8c]
push ecx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0x700], eax
mov edx, dword [ebp - 0x8c]
push edx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x704], eax
mov eax, dword [ebp - 0x9c]
add eax, 0x306
mov dword [ebp - 0x1a4], eax
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0xde862518
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
push 0
push 0xcc677a7d
push edx
push ecx
call fcn.1005a1b0
mov ecx, eax
movsx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
movsx eax, word [0x1007f148]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
add ecx, eax
adc esi, edx
movsx eax, word [ebp - 0x2c]
not eax
movsx edx, word [ebp - 0x24]
xor eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x708], edx
add eax, ecx
mov dword [0x1007f180], eax
mov eax, dword [ebp - 0x9c]
add eax, 0x406
mov dword [ebp - 0x3e4], eax
mov ecx, dword [ebp - 0x34]
shl ecx, 7
mov word [0x1007f14c], cx
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0x9c]
add edx, 0x196
mov dword [ebp - 0x1a0], edx
mov dword [ebp - 0xa0], 0x40
movsx eax, word [ebp - 0x24]
cdq
add eax, 0xd02dd305
mov word [0x1007f1a0], ax
movsx eax, word [0x1007f1a8]
sub eax, 0x37c5e4c5
mov word [ebp - 0x24], ax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
xor ecx, dword [ebp - 0x58]
movsx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
mov edx, 4
imul eax, edx, 0x2dbe
mov cx, word [eax + 0x102cddf8]
mov word [ebp - 0x20], cx
mov edx, 0x94b08
mov dword [ebp - 0x50], 0x56d32bf3
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x7c8
jl 0x1002b48d
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0xa4], ecx
mov byte [ebp - 0x15], 0x73
xor edx, edx
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
add eax, dword [0x1007f180]
adc ecx, edx
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], ecx
mov edx, dword [0x1007f1a4]
add edx, 1
mov dword [0x1007f1a4], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x2fc
mov dword [ebp - 0x3f0], eax
movsx eax, word [ebp - 0x2c]
cdq
and eax, dword [0x1007f120]
mov word [ebp - 0x2c], ax
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x1007f1b4]
push ecx
mov ecx, dword [0x1007f1b0]
push ecx
push edx
push eax
call fcn.1005a1b0
mov word [ebp - 0x20], ax
mov dword [0x1007f140], 0x7a5d
mov edx, dword [ebp - 0xa4]
add edx, 0x240
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0x74], 0
jne 0x1002b594
xor eax, eax
mov dword [ebp - 0x320], 1
mov dword [ebp - 0x31c], eax
jmp 0x1002b59f
xorps xmm0, xmm0
movlpd qword [ebp - 0x320], xmm0
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
add ecx, 0xf3bdd1e2
adc esi, 0xb0f4a
not ecx
not esi
movsx eax, word [ebp - 0x24]
movsx edx, byte [ebp - 0x13]
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
not ecx
not esi
movsx eax, byte [ebp - 0x11]
cdq
mov edi, dword [0x1007f134]
mov ebx, dword [ebp - 0x320]
sub ebx, dword [0x1007f130]
mov dword [ebp - 0x3d4], ecx
mov ecx, dword [ebp - 0x31c]
sbb ecx, edi
sub eax, ebx
sbb edx, ecx
push edx
push eax
push esi
mov ecx, dword [ebp - 0x3d4]
push ecx
call fcn.1005a1b0
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
movsx eax, word [0x1007f148]
cdq
push edx
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.1005a1b0
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x70c], edx
sub ecx, dword [ebp - 0x58]
mov word [0x1007f128], cx
mov eax, dword [ebp - 0xa4]
add eax, 0x26b
mov dword [ebp - 0x3f4], eax
mov ecx, dword [0x1007f1bc]
cmp ecx, dword [0x1007f158]
ja 0x1002b688
mov dword [ebp - 0x138], 1
jmp 0x1002b692
mov dword [ebp - 0x138], 0
cmp dword [0x1007f1bc], 0x3d
ja 0x1002b6a7
mov dword [ebp - 0x13c], 1
jmp 0x1002b6b1
mov dword [ebp - 0x13c], 0
mov edx, dword [ebp - 0x138]
cmp edx, dword [ebp - 0x13c]
jge 0x1002b7b5
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x454], eax
mov dword [ebp - 0x450], ecx
mov edx, dword [ebp - 0x454]
or edx, dword [ebp - 0x450]
je 0x1002b72f
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
mov dword [ebp - 0x710], ecx
sub eax, 0x604fa4b3
mov word [ebp - 0x20], ax
movsx edx, byte [ebp - 0x13]
mov eax, dword [ebp - 0x34]
sub eax, edx
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x34], ecx
movsx eax, word [0x1007f148]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
jmp 0x1002b745
mov edx, dword [0x1007fc38]
mov dword [0x1007f180], edx
mov eax, dword [0x1007fc38]
mov dword [str.C], eax
jmp 0x1002b7a5
mov dword [ebp - 4], 0xffffffff
jmp 0x1002b7b5
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xb0], eax
movzx eax, word [0x1007f128]
cdq
sub eax, 0x5bc16cb0
sbb edx, 0xda6de
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov ecx, dword [0x1007f140]
sub ecx, 0xcf
mov word [0x1007f1b8], cx
mov edx, dword [ebp - 0xb0]
add edx, 0x316
mov dword [ebp - 0x714], edx
movsx eax, word [0x1007f148]
cmp dword [0x1007f1a4], eax
jle 0x1002b81e
mov dword [ebp - 0x144], 1
jmp 0x1002b828
mov dword [ebp - 0x144], 0
cmp dword [0x1007f1a4], 0x2d
jle 0x1002b83d
mov dword [ebp - 0x148], 1
jmp 0x1002b847
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [ebp - 0x148]
jl 0x1002b99e
mov dword [ebp - 0xa8], 0x2187
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
cmp dword [ebp - 0xa8], 0x1fbb
jle 0x1002b99c
push 0xe6
call fcn.10037420
add esp, 4
mov byte [ebp - 0x11], al
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
jle 0x1002b943
movzx edx, word [0x1007f16c]
test edx, edx
jne 0x1002b8c0
xor eax, eax
mov dword [ebp - 0x328], 1
mov dword [ebp - 0x324], eax
jmp 0x1002b8cb
xorps xmm0, xmm0
movlpd qword [ebp - 0x328], xmm0
mov esi, dword [0x1007f158]
xor esi, dword [0x1007f154]
xor edi, edi
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
mov eax, dword [ebp - 0x324]
push eax
mov ecx, dword [ebp - 0x328]
push ecx
call fcn.1005a1b0
push edx
push eax
push edi
push esi
call fcn.1005a1b0
mov ecx, eax
movsx eax, word [0x1007f15c]
cdq
mov edx, dword [0x1007f190]
mov esi, dword [0x1007f194]
mov dword [ebp - 0x718], esi
add edx, eax
add ecx, edx
not ecx
mov byte [ebp - 0x11], cl
mov eax, dword [ebp - 0x80]
mov edx, dword [ebp - 0x7c]
mov cl, 2
call fcn.1005a1f0
mov byte [ebp - 0x13], al
movsx eax, word [ebp - 0x24]
sub eax, 0x8a
mov word [0x1007f16c], ax
jmp 0x1002b988
movsx ecx, word [0x1007f1a8]
add ecx, 0x271c
mov dword [str.C], ecx
mov edx, dword [0x1007fc38]
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov ecx, dword [str.C]
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
mov dword [ebp - 0x71c], eax
xor ecx, edx
not ecx
add ecx, 0x2d2e7397
mov dword [ebp - 0x78], ecx
mov ecx, dword [ebp - 0xa8]
sub ecx, 1
mov dword [ebp - 0xa8], ecx
jmp 0x1002b875
jmp 0x1002b9e3
movsx edx, word [0x1007f148]
xor edx, dword [str.C]
mov dword [str.C], edx
mov eax, dword [0x1007f1a4]
cdq
mov ecx, dword [0x1007f1c4]
push ecx
mov ecx, dword [0x1007f1c0]
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f1a4], eax
mov edx, dword [ebp - 0x50]
sub edx, 1
mov eax, dword [ebp - 0x4c]
sbb eax, 0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0xb0]
add ecx, 0x26c
mov dword [ebp - 0x720], ecx
push 0
push 0x42
mov edx, dword [0x1007f1b4]
push edx
mov eax, dword [0x1007f1b0]
push eax
push 0
push 0x88
push 0
push 0xa1
call fcn.10034db0
add esp, 0x20
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x45c], ecx
mov dword [ebp - 0x458], edx
mov eax, dword [ebp - 0x45c]
or eax, dword [ebp - 0x458]
jne 0x1002ba59
mov dword [ebp - 0x14c], 1
jmp 0x1002ba63
mov dword [ebp - 0x14c], 0
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x464], ecx
mov dword [ebp - 0x460], edx
cmp dword [ebp - 0x464], 0x16
jne 0x1002ba99
cmp dword [ebp - 0x460], 0
jne 0x1002ba99
mov dword [ebp - 0x150], 1
jmp 0x1002baa3
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x150]
jg 0x1002bb13
mov dword [ebp - 0x3dc], 0
mov dword [ebp - 0x3d8], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0
je 0x1002bb0e
mov ecx, dword [ebp - 0x3d8]
push ecx
mov edx, dword [ebp - 0xac]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x724], eax
mov eax, dword [ebp - 0x3dc]
push eax
mov ecx, dword [ebp - 0xac]
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x728], eax
jmp 0x1002bba1
movzx edx, word [ebp - 0x1c]
not edx
cmp dword [ebp - 0x78], edx
jne 0x1002bb5e
mov ax, word [0x1007fc38]
mov word [ebp - 0x30], ax
movsx ecx, word [ebp - 0x24]
movzx edx, byte [ebp - 0x14]
sub ecx, edx
movzx eax, word [0x1007f168]
mov edx, dword [ebp - 0x38]
add edx, eax
imul ecx, edx
not ecx
mov dword [ebp - 0x78], ecx
movsx eax, word [ebp - 0x24]
imul eax, dword [0x1007f158]
movsx ecx, word [ebp - 0x24]
imul ecx, eax
mov word [ebp - 0x24], cx
jmp 0x1002bba1
cmp dword [ebp - 0x74], 0
je 0x1002bba1
movzx edx, byte [ebp - 0x12]
add edx, 0x1fdb9ac5
mov word [0x1007f16c], dx
movzx eax, word [0x1007f1b8]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
movsx eax, word [ebp - 0x24]
cdq
mov edx, dword [0x1007f170]
add edx, dword [ebp - 0x50]
add eax, edx
mov word [ebp - 0x28], ax
mov eax, dword [ebp - 0xb0]
add eax, 0x2d4
mov dword [ebp - 0x1d8], eax
mov ecx, dword [0x1007f170]
imul ecx, dword [0x1007f180]
not ecx
movzx edx, word [0x1007f14c]
add edx, 0x9f
not edx
movzx eax, word [ebp - 0x1c]
movzx esi, word [ebp - 0x20]
add eax, esi
sub edx, eax
sub ecx, edx
jne 0x1002bbe9
mov byte [ebp - 0x81], 1
jmp 0x1002bbf0
mov byte [ebp - 0x81], 0
mov cl, byte [ebp - 0x81]
mov byte [ebp - 0x13], cl
movzx eax, byte [ebp - 0x12]
cdq
xor eax, dword [ebp - 0x80]
mov byte [ebp - 0x12], al
mov edx, dword [ebp - 0x3c]
xor edx, 0x6a
mov word [ebp - 0x28], dx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xbc], eax
push 0
push 0
call fcn.100364f0
add esp, 8
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
cmp dword [ebp - 0x4c], 0
ja 0x1002bc38
cmp dword [ebp - 0x50], 0
jb 0x1002bc61
jmp 0x1002bc46
jmp 0x1002bc61
mov ecx, dword [ebp - 0xbc]
add ecx, 0x1a4
mov dword [ebp - 0x220], ecx
call dword [sym.imp.KERNEL32.dll_GetACP]
mov dword [0x1007f180], eax
mov edx, dword [ebp - 0xbc]
add edx, 0x222
mov dword [ebp - 0x408], edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x72c], ecx
movzx edx, ax
push edx
push 0xfd
push 0
push 0
movzx eax, word [0x1007f1a0]
push eax
mov ecx, dword [ebp - 0x3c]
push ecx
push 0
call fcn.10035820
add esp, 0x1c
movsx edx, ax
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0x74], 0
jne 0x1002be4a
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x1002bd0f
mov eax, dword [ebp - 0xb4]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x730], eax
mov ecx, dword [ebp - 0xb4]
push ecx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x734], eax
movzx edx, word [ebp - 0x20]
test edx, edx
jne 0x1002bd23
mov dword [ebp - 0x154], 1
jmp 0x1002bd2d
mov dword [ebp - 0x154], 0
movzx eax, word [ebp - 0x20]
cmp eax, 0x40
jne 0x1002bd42
mov dword [ebp - 0x158], 1
jmp 0x1002bd4c
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x158]
jl 0x1002bdbb
mov dword [ebp - 0xb8], 0x246
jmp 0x1002bd75
mov edx, dword [ebp - 0xb8]
sub edx, 1
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0xb8], 0
jle 0x1002bdb6
mov eax, dword [0x1007f178]
add eax, 3
mov dword [ebp - 0x34], eax
movzx ecx, word [0x1007f128]
add ecx, 0x1c3f8cc0
xor edx, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
mov ax, word [0x1007f1a0]
add ax, 1
mov word [0x1007f1a0], ax
jmp 0x1002bd66
jmp 0x1002be48
movzx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x1002bdcf
mov dword [ebp - 0x15c], 1
jmp 0x1002bdd9
mov dword [ebp - 0x15c], 0
mov edx, dword [0x1007f170]
cmp edx, dword [ebp - 0x15c]
je 0x1002bdf3
mov dword [ebp - 0x160], 1
jmp 0x1002bdfd
mov dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x160]
not eax
test eax, eax
je 0x1002be48
cmp dword [0x1007f154], 0
jne 0x1002be48
movzx ecx, word [ebp - 0x28]
mov edx, dword [ebp - 0x3c]
add edx, ecx
mov eax, dword [ebp - 0x3c]
add eax, edx
mov dword [ebp - 0x3c], eax
movsx ecx, byte [ebp - 0x11]
imul eax, ecx, 0xb7f1
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
mov edx, dword [0x1007f120]
not edx
mov word [0x1007f15c], dx
jmp 0x1002be8c
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x46c], eax
mov dword [ebp - 0x468], ecx
mov edx, dword [ebp - 0x46c]
or edx, dword [ebp - 0x468]
jne 0x1002be8c
mov ax, word [0x1007f168]
add ax, 1
mov word [0x1007f168], ax
movzx ecx, byte [0x1007f026]
sub ecx, 0x71
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0xbc]
add edx, 0x3f9
mov dword [ebp - 0x224], edx
movzx eax, byte [ebp - 0x14]
movsx ecx, byte [ebp - 0x11]
imul eax, ecx
mov byte [ebp - 0x14], al
mov edx, dword [0x1007f180]
sub edx, 0xc961
mov dword [0x1007f140], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xc0], eax
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x474], eax
mov dword [ebp - 0x470], edx
mov ecx, dword [ebp - 0x470]
cmp ecx, dword [0x1007f18c]
ja 0x1002bf04
jb 0x1002bef8
mov edx, dword [ebp - 0x474]
cmp edx, dword [0x1007f188]
jae 0x1002bf04
mov dword [ebp - 0x164], 1
jmp 0x1002bf0e
mov dword [ebp - 0x164], 0
movsx eax, byte [ebp - 0x13]
cmp eax, 5
jge 0x1002bf23
mov dword [ebp - 0x168], 1
jmp 0x1002bf2d
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [ebp - 0x168]
jne 0x1002c01a
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x47c], edx
mov dword [ebp - 0x478], eax
mov ecx, dword [ebp - 0x47c]
or ecx, dword [ebp - 0x478]
je 0x1002bf8b
mov edx, 0x6e
mov word [ebp - 0x24], dx
mov eax, dword [0x1007f154]
sub eax, dword [0x1007f1bc]
mov ecx, dword [0x1007f154]
sub ecx, eax
mov dword [0x1007f154], ecx
jmp 0x1002c01a
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x484], edx
mov dword [ebp - 0x480], eax
mov ecx, dword [ebp - 0x484]
or ecx, dword [ebp - 0x480]
jne 0x1002bfc7
cmp dword [0x1007f1a4], 0
jne 0x1002bfc7
mov edx, dword [str.C]
cmp edx, dword [0x1007f154]
jbe 0x1002bfe5
movsx eax, word [0x1007f1a8]
sub eax, 0x9bca
mov byte [ebp - 0x14], al
movzx ecx, word [0x1007f168]
shl ecx, 5
mov dword [ebp - 0x34], ecx
jmp 0x1002c01a
cmp dword [0x1007f154], 0
je 0x1002c01a
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
sub edx, dword [ebp - 0x50]
sbb eax, dword [ebp - 0x4c]
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
mov ecx, dword [0x1007f1bc]
sub ecx, 0x69
mov word [0x1007f1a0], cx
mov edx, dword [ebp - 0xc0]
add edx, 0x1f9
mov dword [ebp - 0x234], edx
mov eax, dword [0x1007f140]
cdq
mov dword [ebp - 0x48c], eax
mov dword [ebp - 0x488], edx
mov eax, dword [ebp - 0x488]
cmp eax, dword [ebp - 0x7c]
jl 0x1002c062
jg 0x1002c056
mov ecx, dword [ebp - 0x48c]
cmp ecx, dword [ebp - 0x80]
jbe 0x1002c062
mov dword [ebp - 0x16c], 1
jmp 0x1002c06c
mov dword [ebp - 0x16c], 0
cmp dword [0x1007f140], 0x27
jle 0x1002c081
mov dword [ebp - 0x170], 1
jmp 0x1002c08b
mov dword [ebp - 0x170], 0
mov edx, dword [ebp - 0x16c]
cmp edx, dword [ebp - 0x170]
jg 0x1002c12f
movzx eax, word [ebp - 0x20]
cmp eax, dword [ebp - 0x74]
jge 0x1002c0da
movzx eax, word [0x1007f168]
cdq
push 0xa4f9f
push 0xd7360652
push edx
push eax
call fcn.1005a1b0
mov word [ebp - 0x24], ax
mov ecx, 2
imul edx, ecx, 0x5e2b
movsx eax, word [edx + 0x102f6648]
mov dword [ebp - 0x48], eax
jmp 0x1002c12d
movzx ecx, word [0x1007f1b8]
test ecx, ecx
je 0x1002c12d
mov eax, dword [0x1007f140]
cdq
push edx
push eax
mov edx, dword [0x1007f18c]
push edx
mov eax, dword [0x1007f188]
push eax
call fcn.1005a1b0
push edx
push eax
mov ecx, dword [0x1007f18c]
push ecx
mov edx, dword [0x1007f188]
push edx
call fcn.1005a1b0
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
movzx eax, byte [ebp - 0x12]
cdq
sub eax, 0xdf569e4a
mov word [ebp - 0x20], ax
jmp 0x1002c199
movzx eax, word [0x1007f1b8]
movzx ecx, word [ebp - 0x20]
cmp eax, ecx
jle 0x1002c15e
cmp dword [ebp - 0x34], 0
jne 0x1002c15e
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
je 0x1002c15e
mov dword [ebp - 0x174], 0
jmp 0x1002c168
mov dword [ebp - 0x174], 1
mov eax, dword [ebp - 0x174]
not eax
test eax, eax
je 0x1002c199
movzx ecx, word [0x1007f128]
add ecx, 0xc9
mov word [0x1007f15c], cx
movzx edx, byte [0x1007f04e]
add edx, 0xf07a
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0xc0]
add eax, 0x3a1
mov dword [ebp - 0x738], eax
xor ecx, ecx
mov dword [0x1007f190], 1
mov dword [0x1007f194], ecx
mov edx, 2
imul eax, edx, 0xc
movsx eax, word [eax + 0x103a8010]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
add ecx, eax
adc esi, edx
mov dword [0x1007f1d0], ecx
mov dword [0x1007f1d4], esi
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x73c], eax
add edx, 0xe1
mov byte [ebp - 0x14], dl
xor ecx, ecx
mov dword [0x1007f138], 0x10
mov dword [0x1007f13c], ecx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x308], edx
mov dword [ebp - 0x304], eax
mov ecx, dword [ebp - 0x308]
or ecx, dword [ebp - 0x304]
je 0x1002c24d
cmp dword [ebp - 0x308], 1
jne 0x1002c24b
cmp dword [ebp - 0x304], 0
je 0x1002c298
jmp 0x1002c2b7
mov edx, dword [ebp - 0x78]
add edx, 0x40ff0eca
xor eax, eax
mov dword [0x1007f188], edx
mov dword [0x1007f18c], eax
mov ecx, dword [0x1007f1bc]
and ecx, 0xb2
xor edx, edx
mov dword [0x1007f198], ecx
mov dword [0x1007f19c], edx
mov eax, 8
imul ecx, eax, 0x6d9b
mov edx, dword [ebp - 0x34]
mov cl, byte [ecx + 0x10172690]
sar edx, cl
mov dword [ebp - 0x34], edx
jmp 0x1002c2b7
movsx eax, word [0x1007f148]
cdq
sub eax, dword [ebp - 0x58]
mov word [0x1007f148], ax
movsx eax, byte [ebp - 0x11]
cdq
sub eax, dword [0x1007f120]
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xc0]
add eax, 0x3e1
mov dword [ebp - 0x414], eax
mov ecx, dword [0x1007f1a4]
push ecx
call dword [sym.imp.USER32.dll_GetDlgCtrlID]
mov word [ebp - 0x20], ax
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xc8], edx
movsx eax, word [0x1007f1a8]
xor eax, dword [0x1007f180]
add eax, dword [0x1007f180]
mov dword [0x1007f180], eax
movzx eax, word [ebp - 0x1c]
sub eax, 0x1d7e2a1a
cdq
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov ecx, dword [0x1007f158]
add ecx, dword [ebp - 0x70]
imul ecx, dword [0x1007f158]
mov dword [0x1007f158], ecx
mov edx, dword [ebp - 0xc8]
add edx, 0x3e2
mov dword [ebp - 0x94], edx
movzx eax, word [0x1007f168]
cdq
push edx
push eax
movzx eax, word [0x1007f1c8]
cdq
push edx
push eax
push 0
push 0x22
call fcn.10035b90
add esp, 0x18
mov dword [ebp - 0x78], eax
cmp dword [ebp - 0x78], 0
je 0x1002c424
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
not eax
not ecx
mov edx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push esi
push edx
push ecx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x494], eax
mov dword [ebp - 0x490], edx
mov eax, dword [ebp - 0x494]
or eax, dword [ebp - 0x490]
je 0x1002c3d5
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0x48], ecx
mov edx, 4
imul eax, edx, 0x10e6
movzx ecx, byte [ebp - 0x15]
add ecx, dword [eax + 0x102b9e20]
mov byte [ebp - 0x15], cl
movzx edx, word [ebp - 0x28]
sub edx, 0x6593
mov dword [ebp - 0x78], edx
jmp 0x1002c41f
mov eax, dword [ebp - 0x74]
imul eax, dword [0x1007f144]
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x80]
add ecx, 0x62a0d860
mov edx, dword [ebp - 0x7c]
adc edx, 0
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
movzx eax, word [0x1007f1a0]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
jmp 0x1002c4ed
mov ecx, dword [0x1007f1b0]
not ecx
mov esi, dword [0x1007f1b4]
not esi
movsx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x49c], ecx
mov dword [ebp - 0x498], esi
mov dword [ebp - 0x4a4], eax
mov dword [ebp - 0x4a0], edx
mov edx, dword [ebp - 0x498]
cmp edx, dword [ebp - 0x4a0]
jl 0x1002c47b
jg 0x1002c46f
mov eax, dword [ebp - 0x49c]
cmp eax, dword [ebp - 0x4a4]
jb 0x1002c47b
mov dword [ebp - 0x178], 1
jmp 0x1002c485
mov dword [ebp - 0x178], 0
movsx ecx, word [ebp - 0x30]
cmp dword [ebp - 0x3c], ecx
jne 0x1002c49a
mov dword [ebp - 0x17c], 1
jmp 0x1002c4a4
mov dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0x178]
cmp edx, dword [ebp - 0x17c]
jge 0x1002c4ed
mov eax, 4
mov word [ebp - 0x28], ax
movsx ecx, byte [ebp - 0x11]
imul edx, ecx, 0xdd
mov dword [str.C], edx
movzx eax, word [0x1007f168]
movsx ecx, word [ebp - 0x2c]
add eax, ecx
cdq
mov ecx, eax
mov eax, dword [ebp - 0x34]
cdq
add eax, 0x5f734404
or ecx, eax
mov word [0x1007f148], cx
mov edx, dword [ebp - 0xc8]
add edx, 0x44e
mov dword [ebp - 0x26c], edx
mov eax, dword [ebp - 0x74]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4b4], ecx
mov dword [ebp - 0x4b0], esi
mov edx, dword [ebp - 0x4ac]
cmp edx, dword [ebp - 0x4b4]
jne 0x1002c54f
mov eax, dword [ebp - 0x4a8]
cmp eax, dword [ebp - 0x4b0]
jne 0x1002c54f
mov dword [ebp - 0x180], 1
jmp 0x1002c559
mov dword [ebp - 0x180], 0
cmp dword [ebp - 0x74], 1
jne 0x1002c56b
mov dword [ebp - 0x184], 1
jmp 0x1002c575
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [ebp - 0x184]
jge 0x1002c63f
mov dword [ebp - 0xc4], 0
jmp 0x1002c5a2
mov edx, dword [ebp - 0xc4]
add edx, 2
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0x22c
jge 0x1002c63f
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
movzx eax, word [0x1007f128]
cdq
mov dword [ebp - 0x4bc], ecx
mov dword [ebp - 0x4b8], esi
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4c0], edx
mov edx, dword [ebp - 0x4b8]
cmp edx, dword [ebp - 0x4c0]
jg 0x1002c61e
jl 0x1002c5fc
mov eax, dword [ebp - 0x4bc]
cmp eax, dword [ebp - 0x4c4]
jae 0x1002c61e
imul ecx, dword [0x1007f180], 0xcd
mov dword [0x1007f154], ecx
xor edx, edx
mov dword [0x1007f1d0], 1
mov dword [0x1007f1d4], edx
mov eax, dword [0x1007f120]
add eax, 1
mov ecx, dword [0x1007f124]
adc ecx, 0
mov dword [0x1007f120], eax
mov dword [0x1007f124], ecx
jmp 0x1002c593
mov edx, dword [ebp - 0xc8]
add edx, 0x1c6
mov dword [ebp - 0x740], edx
movzx eax, word [0x1007f128]
test eax, eax
je 0x1002c76b
push 0
push 0x14
call fcn.10035170
add esp, 8
mov byte [ebp - 0x14], al
mov ecx, dword [0x1007f1c0]
or ecx, dword [0x1007f1c4]
je 0x1002c6fa
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x1002c6fa
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
mov eax, dword [0x1007f1a4]
cdq
mov dword [ebp - 0x4cc], ecx
mov dword [ebp - 0x4c8], esi
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], edx
mov edx, dword [ebp - 0x4c8]
cmp edx, dword [ebp - 0x4d0]
jl 0x1002c6f8
jg 0x1002c6c7
mov eax, dword [ebp - 0x4cc]
cmp eax, dword [ebp - 0x4d4]
jbe 0x1002c6f8
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
add ecx, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
add ecx, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1007f178]
sub eax, 0xaceb52f4
mov ecx, dword [0x1007f17c]
sbb ecx, 0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
jmp 0x1002c769
movsx edx, word [0x1007f148]
test edx, edx
je 0x1002c769
mov dword [ebp - 0x74], 0x315823d5
mov eax, dword [ebp - 0x3c]
and eax, dword [0x1007f140]
imul ecx, dword [str.C], 0xba9bbaff
not ecx
add eax, ecx
xor edx, edx
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
movsx eax, word [0x1007f1a8]
cdq
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f198], ecx
mov dword [0x1007f19c], esi
jmp 0x1002c798
movzx eax, byte [ebp - 0x12]
cdq
add eax, 0x8c63d0c5
mov dword [0x1007f180], eax
movsx edx, word [ebp - 0x30]
add edx, dword [0x1007f140]
imul edx, dword [0x1007f154]
xor eax, eax
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0x6c], ax
movsx ecx, byte [ebp - 0x13]
add ecx, 0xab
mov edx, dword [0x1007f180]
sub edx, ecx
mov dword [0x1007f180], edx
mov eax, dword [ebp - 0x80]
sub eax, 0xc2bb33d
mov word [0x1007f148], ax
imul ecx, dword [ebp - 0x78], 0x96
mov edx, dword [0x1007f1bc]
sub edx, ecx
mov dword [0x1007f1bc], edx
movzx eax, word [ebp - 0x6c]
cmp eax, 0x42b
jne 0x1002cae3
mov ecx, dword [ebp - 0x34]
mov dword [0x1007f144], ecx
movzx eax, word [0x1007f1a0]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x188], eax
cmp dword [ebp - 0x188], 0
je 0x1002c837
mov edx, dword [ebp - 0x188]
push edx
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x744], eax
call dword [sym.imp.USER32.dll_EndMenu]
mov dword [ebp - 0x748], eax
movzx eax, word [0x1007f1a0]
test eax, eax
jl 0x1002c95c
mov ecx, dword [0x1007f1bc]
xor edx, edx
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 0x4d8], edx
mov eax, dword [ebp - 0x4d8]
cmp eax, dword [ebp - 0x54]
jb 0x1002c87e
ja 0x1002c872
mov ecx, dword [ebp - 0x4dc]
cmp ecx, dword [ebp - 0x58]
jbe 0x1002c87e
mov dword [ebp - 0x18c], 1
jmp 0x1002c888
mov dword [ebp - 0x18c], 0
cmp dword [0x1007f1bc], 2
jbe 0x1002c89d
mov dword [ebp - 0x190], 1
jmp 0x1002c8a7
mov dword [ebp - 0x190], 0
mov edx, dword [ebp - 0x18c]
cmp edx, dword [ebp - 0x190]
jl 0x1002c917
movzx eax, byte [ebp - 0x14]
movsx ecx, word [0x1007f15c]
imul eax, ecx
mov byte [ebp - 0x14], al
mov dword [ebp - 0x34], 0x88e9
cmp dword [ebp - 0x48], 0
jne 0x1002c8df
mov dword [ebp - 0x194], 1
jmp 0x1002c8e9
mov dword [ebp - 0x194], 0
movsx edx, word [ebp - 0x2c]
xor edx, dword [0x1007f154]
movzx eax, word [ebp - 0x1c]
imul edx, eax
movzx ecx, byte [ebp - 0x12]
mov eax, dword [ebp - 0x38]
sub eax, ecx
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x194]
imul eax, ecx
imul edx, eax
mov dword [ebp - 0x38], edx
jmp 0x1002c957
cmp dword [0x1007f1a4], 0
je 0x1002c957
mov edx, 0x25fd
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
sub eax, dword [ebp - 0x80]
sbb ecx, dword [ebp - 0x7c]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x74c], ecx
xor edx, eax
mov dword [0x1007f140], edx
jmp 0x1002cad9
movzx edx, word [ebp - 0x1c]
movzx eax, word [ebp - 0x20]
cmp edx, eax
jge 0x1002c999
mov ecx, dword [ebp - 0x3c]
cmp dword [0x1007f170], ecx
jbe 0x1002c97f
mov dword [ebp - 0x198], 1
jmp 0x1002c989
mov dword [ebp - 0x198], 0
mov edx, dword [ebp - 0x198]
not edx
test edx, edx
je 0x1002ca20
mov eax, dword [ebp - 0x3c]
add eax, 0x34
xor ecx, ecx
mov dword [0x1007f160], eax
mov dword [0x1007f164], ecx
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
add edx, 1
adc eax, 0
mov dword [0x1007f190], edx
mov dword [0x1007f194], eax
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1002c9dc
mov dword [ebp - 0x19c], 1
jmp 0x1002c9e6
mov dword [ebp - 0x19c], 0
movsx edx, word [0x1007f148]
movzx eax, byte [ebp - 0x15]
imul ecx, eax, 0xe3e5a2b9
imul edx, ecx
movzx eax, word [0x1007f1a0]
not eax
sub eax, dword [ebp - 0x19c]
mov ecx, dword [0x1007f144]
sub ecx, eax
imul edx, ecx
mov word [0x1007f1c8], dx
jmp 0x1002cad9
movsx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e0], edx
mov edx, dword [ebp - 0x4e0]
cmp edx, dword [ebp - 0x5c]
jg 0x1002cad9
jl 0x1002ca51
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x60]
jae 0x1002cad9
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x750], edx
sub ecx, 0x24d1
mov eax, dword [ebp - 0x70]
cdq
add eax, ecx
mov dword [ebp - 0x70], eax
movzx eax, byte [0x1007f027]
add eax, 0xd8
mov word [0x1007f168], ax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], edx
mov eax, dword [ebp - 0x4ec]
or eax, dword [ebp - 0x4e8]
je 0x1002caba
movzx eax, word [0x1007f128]
cdq
mov dword [ebp - 0x330], eax
mov dword [ebp - 0x32c], edx
jmp 0x1002cacc
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x330], ecx
mov dword [ebp - 0x32c], edx
mov ax, word [ebp - 0x330]
mov word [0x1007f14c], ax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [0x1007f164]
push ecx
mov edx, dword [0x1007f160]
push edx
push 0
push 0x5b
mov eax, dword [ebp - 0x78]
cdq
push edx
push eax
call fcn.10035b90
add esp, 0x18
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x34], 0
jle 0x1002cbc9
xor eax, eax
mov word [0x1007f14c], ax
mov ecx, dword [ebp - 0x80]
or ecx, dword [ebp - 0x7c]
jne 0x1002cb34
xor edx, edx
mov dword [ebp - 0x4f4], 1
mov dword [ebp - 0x4f0], edx
jmp 0x1002cb3f
xorps xmm0, xmm0
movlpd qword [ebp - 0x4f4], xmm0
movzx eax, word [0x1007f168]
not eax
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x80]
movzx eax, byte [0x1007f04e]
movzx edx, word [ebp - 0x1c]
sub eax, edx
cdq
sub ecx, eax
mov eax, dword [0x1007f188]
sub eax, dword [ebp - 0x4f4]
movsx edx, byte [ebp - 0x11]
imul edx, dword [0x1007f158]
not edx
sub eax, edx
sub ecx, eax
mov byte [ebp - 0x13], cl
xor eax, eax
mov dword [0x1007f1b0], 0x2673
mov dword [0x1007f1b4], eax
movzx ecx, word [0x1007f14c]
mov dword [ebp - 0x3e0], ecx
cmp dword [ebp - 0x3e0], 0
je 0x1002cba6
jmp 0x1002cbc9
movsx edx, byte [ebp - 0x13]
add edx, 0x415a7ed8
xor eax, eax
mov dword [0x1007f120], edx
mov dword [0x1007f124], eax
movzx ecx, word [0x1007f14c]
not ecx
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x1a0]
or edx, dword [ebp - 0x1a4]
mov eax, dword [ebp - 0x3e4]
add eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0x3e8]
sub ecx, dword [ebp - 0x1a4]
sub eax, ecx
cmp edx, eax
je 0x10030843
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x4fc], eax
mov dword [ebp - 0x4f8], edx
mov edx, dword [ebp - 0x4fc]
cmp edx, dword [ebp - 0x58]
jne 0x1002cc1e
mov eax, dword [ebp - 0x4f8]
cmp eax, dword [ebp - 0x54]
je 0x1002cc2a
mov dword [ebp - 0x1a8], 1
jmp 0x1002cc34
mov dword [ebp - 0x1a8], 0
movzx ecx, byte [ebp - 0x12]
cmp ecx, 0x1f
je 0x1002cc49
mov dword [ebp - 0x1ac], 1
jmp 0x1002cc53
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x1ac]
jg 0x1002cdae
mov dword [0x1007f154], 0
movzx eax, word [0x1007f168]
cdq
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov eax, dword [ebp - 0x70]
cdq
push edx
push eax
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx edx, byte [ebp - 0x15]
add edx, 0x52481d38
mov dword [ebp - 0x78], edx
mov eax, dword [0x1007f154]
mov dword [ebp - 0x3ec], eax
cmp dword [ebp - 0x3ec], 0
je 0x1002ccc1
jmp 0x1002cdac
cmp dword [0x1007f1bc], 0
jne 0x1002ccde
xor ecx, ecx
mov dword [ebp - 0x338], 1
mov dword [ebp - 0x334], ecx
jmp 0x1002cce9
xorps xmm0, xmm0
movlpd qword [ebp - 0x338], xmm0
movzx eax, word [0x1007f168]
add eax, dword [ebp - 0x70]
cdq
mov esi, eax
mov edi, edx
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1007f190]
mov ebx, dword [0x1007f194]
push edx
push eax
push ebx
push ecx
call fcn.1005a1b0
xor esi, eax
xor edi, edx
mov dword [ebp - 0x504], esi
mov dword [ebp - 0x500], edi
mov edx, dword [ebp - 0x504]
or edx, dword [ebp - 0x500]
jne 0x1002cd44
xor eax, eax
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x33c], eax
jmp 0x1002cd4f
xorps xmm0, xmm0
movlpd qword [ebp - 0x340], xmm0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
not ecx
not edx
push edx
push ecx
mov eax, dword [ebp - 0x334]
push eax
mov ecx, dword [ebp - 0x338]
push ecx
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x48]
cdq
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x33c]
push edx
mov eax, dword [ebp - 0x340]
push eax
push esi
push ecx
call fcn.1005a1b0
mov word [0x1007f16c], ax
mov ecx, dword [0x1007f180]
shl ecx, 8
xor edx, edx
mov dword [0x1007f1c0], ecx
mov dword [0x1007f1c4], edx
jmp 0x1002cdd5
push 0
push 0x3c4eedaa
mov eax, dword [0x1007f18c]
push eax
mov ecx, dword [0x1007f188]
push ecx
call fcn.1005a1b0
mov dword [0x1007f144], eax
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x48]
shl eax, 8
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x34]
xor eax, 0xcb909d84
mov byte [0x1007f027], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x754], edx
add ecx, 0xb489b9d9
mov eax, dword [0x1007f180]
add eax, ecx
mov dword [0x1007f180], eax
movzx ecx, word [ebp - 0x6c]
cmp ecx, 0x42c
je 0x1002ce29
movzx edx, word [ebp - 0x6c]
cmp edx, 0x82c
jne 0x1002d06a
movzx eax, word [ebp - 0x30]
push eax
push 0
push 0xa0
movzx ecx, word [ebp - 0x30]
push ecx
push 0x2e
call fcn.10036ef0
add esp, 0x14
mov word [ebp - 0x28], ax
movzx edx, word [ebp - 0x28]
test edx, edx
je 0x1002ce5c
mov dword [ebp - 0x1b0], 1
jmp 0x1002ce66
mov dword [ebp - 0x1b0], 0
movzx eax, word [ebp - 0x28]
cmp eax, 0x46
je 0x1002ce7b
mov dword [ebp - 0x1b4], 1
jmp 0x1002ce85
mov dword [ebp - 0x1b4], 0
mov ecx, dword [ebp - 0x1b0]
cmp ecx, dword [ebp - 0x1b4]
jle 0x1002cf3c
mov edx, dword [0x1007f180]
xor eax, eax
mov ecx, dword [0x1007f198]
mov esi, dword [0x1007f19c]
not ecx
not esi
mov dword [ebp - 0x50c], edx
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x514], ecx
mov dword [ebp - 0x510], esi
mov edx, dword [ebp - 0x508]
cmp edx, dword [ebp - 0x510]
jg 0x1002cf25
jl 0x1002cee5
mov eax, dword [ebp - 0x50c]
cmp eax, dword [ebp - 0x514]
ja 0x1002cf25
mov ecx, dword [ebp - 0x3c]
xor edx, edx
push edx
push ecx
mov eax, dword [0x1007f17c]
push eax
mov ecx, dword [0x1007f178]
push ecx
call fcn.1005a1b0
add eax, dword [0x1007f178]
adc edx, dword [0x1007f17c]
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movzx eax, byte [ebp - 0x15]
shl eax, 3
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
jmp 0x1002cf3a
movsx edx, word [ebp - 0x2c]
test edx, edx
je 0x1002cf3a
movzx eax, word [ebp - 0x28]
cdq
sub eax, 0x3c8e28d7
mov byte [ebp - 0x14], al
jmp 0x1002cf65
movzx eax, word [0x1007f1c8]
test eax, eax
je 0x1002cf65
mov ecx, dword [ebp - 0x78]
sar ecx, 3
mov word [ebp - 0x2c], cx
movzx eax, word [0x1007f1a0]
cdq
sub eax, dword [0x1007f1b0]
mov word [0x1007f1a0], ax
mov dword [ebp - 0xcc], 0x35b
jmp 0x1002cf80
mov edx, dword [ebp - 0xcc]
sub edx, 1
mov dword [ebp - 0xcc], edx
cmp dword [ebp - 0xcc], 0
jle 0x1002d060
mov eax, dword [ebp - 0x50]
sub eax, 0x3b
mov ecx, dword [ebp - 0x4c]
sbb ecx, 0
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x51c]
or edx, dword [ebp - 0x518]
jne 0x1002cfc7
xor eax, eax
mov dword [ebp - 0x524], 1
mov dword [ebp - 0x520], eax
jmp 0x1002cfd2
xorps xmm0, xmm0
movlpd qword [ebp - 0x524], xmm0
mov ebx, dword [ebp - 0x50]
not ebx
sub ebx, dword [ebp - 0x524]
not ebx
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
not eax
add ebx, eax
mov byte [ebp - 0x12], bl
movzx edx, word [0x1007f14c]
movzx eax, word [0x1007f1a0]
lea eax, [edx + eax - 0xa552]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1007f027]
not eax
cdq
add eax, dword [0x1007f1c0]
adc edx, dword [0x1007f1c4]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], esi
mov edx, dword [0x1007f178]
add edx, 1
mov eax, dword [0x1007f17c]
adc eax, 0
mov dword [0x1007f178], edx
mov dword [0x1007f17c], eax
jmp 0x1002cf71
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
call dword [sym.imp.USER32.dll_GetCapture]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x3f0]
add ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd0]
imul edx, dword [ebp - 0x3f4]
add ecx, edx
imul eax, dword [ebp - 0xd0], 0x186
cmp ecx, eax
je 0x10030843
movzx ecx, word [ebp - 0x20]
movzx edx, byte [ebp - 0x15]
sub ecx, edx
imul ecx, dword [0x1007f180]
mov word [0x1007f1c8], cx
movzx eax, word [0x1007f1b8]
add eax, 0x7db2
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x52c], ecx
mov dword [ebp - 0x528], edx
mov eax, dword [ebp - 0x52c]
or eax, dword [ebp - 0x528]
je 0x1002d15a
movsx ecx, word [ebp - 0x30]
test ecx, ecx
je 0x1002d15a
movsx edx, word [ebp - 0x24]
movzx eax, word [ebp - 0x1c]
cmp edx, eax
je 0x1002d15a
mov ecx, dword [ebp - 0x58]
not ecx
mov edx, dword [ebp - 0x54]
not edx
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x7c]
cmp eax, dword [ebp - 0x530]
ja 0x1002d135
jb 0x1002d129
mov ecx, dword [ebp - 0x80]
cmp ecx, dword [ebp - 0x534]
jae 0x1002d135
mov dword [ebp - 0x1b8], 1
jmp 0x1002d13f
mov dword [ebp - 0x1b8], 0
movsx edx, word [ebp - 0x24]
add edx, dword [ebp - 0x3c]
cmp edx, dword [ebp - 0x1b8]
jb 0x1002d15a
mov dword [ebp - 0x1bc], 1
jmp 0x1002d164
mov dword [ebp - 0x1bc], 0
mov eax, dword [ebp - 0x1bc]
not eax
test eax, eax
je 0x1002d190
movzx ecx, byte [ebp - 0x12]
movzx edx, word [ebp - 0x20]
sub ecx, edx
mov byte [ebp - 0x12], cl
mov eax, dword [0x1007f1a4]
imul eax, dword [0x1007f154]
mov dword [0x1007f154], eax
jmp 0x1002d1c9
movzx eax, byte [0x1007f04e]
cdq
push 0xcd1bc
push 0x18f71267
push edx
push eax
call fcn.1005a1b0
mov byte [ebp - 0x13], al
movzx ecx, byte [ebp - 0x15]
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov dword [ebp - 0x48], edx
movsx eax, word [0x1007f148]
cdq
add eax, 0x53b038b6
mov word [ebp - 0x1c], ax
movzx eax, word [ebp - 0x6c]
cmp eax, 0x423
jne 0x1002d3c2
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x1002d220
mov edx, dword [0x1007f188]
or edx, dword [0x1007f18c]
je 0x1002d1fa
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x1c0], eax
jmp 0x1002d203
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x1c0], ecx
mov edx, dword [ebp - 0x1c0]
mov dword [ebp - 0x78], edx
xor eax, eax
sub eax, dword [ebp - 0x38]
mov word [0x1007f1c8], ax
mov dword [ebp - 0x78], 0x5d9c60f2
jmp 0x1002d292
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x1002d292
movzx edx, byte [ebp - 0x14]
imul edx, dword [0x1007f140]
movzx eax, byte [ebp - 0x14]
sub eax, edx
mov byte [ebp - 0x14], al
movzx ecx, byte [0x1007f027]
add ecx, 0x2a
mov word [0x1007f1c8], cx
movzx edx, word [0x1007f14c]
test edx, edx
je 0x1002d26e
movsx eax, word [0x1007f1a8]
cdq
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], edx
jmp 0x1002d280
mov eax, dword [ebp - 0x50]
mov ecx, dword [ebp - 0x4c]
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x310]
mov eax, dword [ebp - 0x30c]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x34]
cdq
mov dword [ebp - 0x53c], eax
mov dword [ebp - 0x538], edx
mov ecx, dword [0x1007f1c4]
cmp ecx, dword [ebp - 0x538]
jl 0x1002d3b8
jg 0x1002d2c8
mov edx, dword [0x1007f1c0]
cmp edx, dword [ebp - 0x53c]
jbe 0x1002d3b8
mov dword [ebp - 0xd4], 0
jmp 0x1002d2e3
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x1fb
jge 0x1002d3b8
mov dword [ebp - 0xd8], 0x1d8
jmp 0x1002d30e
mov ecx, dword [ebp - 0xd8]
sub ecx, 1
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0
jle 0x1002d3aa
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, eax
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x758], eax
sub ecx, edx
movzx eax, byte [ebp - 0x15]
cdq
and eax, ecx
mov byte [ebp - 0x15], al
movzx eax, word [ebp - 0x28]
cdq
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 0x64]
sub esi, dword [ebp - 0x68]
sbb edi, ecx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x64]
add eax, dword [ebp - 0x68]
adc edx, ecx
add esi, eax
adc edi, edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov ebx, edx
movsx edx, byte [ebp - 0x13]
mov eax, dword [ebp - 0x34]
add eax, edx
cdq
add ecx, eax
adc ebx, edx
not ecx
not ebx
push ebx
push ecx
push edi
push esi
call fcn.1005a1b0
mov dword [0x1007f140], eax
mov ax, word [ebp - 0x20]
add ax, 1
mov word [ebp - 0x20], ax
jmp 0x1002d2ff
mov ecx, dword [ebp - 0x3c]
add ecx, 1
mov dword [ebp - 0x3c], ecx
jmp 0x1002d2d4
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
push 0xffffffffffffffee
push 0xffffffffffffff90
call fcn.10035170
add esp, 8
movsx edx, al
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x3c], 0
je 0x1002d3e6
mov dword [ebp - 0x1c4], 1
jmp 0x1002d3f0
mov dword [ebp - 0x1c4], 0
cmp dword [ebp - 0x3c], 0x30
je 0x1002d402
mov dword [ebp - 0x1c8], 1
jmp 0x1002d40c
mov dword [ebp - 0x1c8], 0
mov eax, dword [ebp - 0x1c4]
cmp eax, dword [ebp - 0x1c8]
jle 0x1002d502
mov dword [ebp - 0xdc], 0x1968
movzx ecx, word [0x1007f1a0]
imul edx, ecx, 0xa3b1446
movzx eax, byte [0x1007f026]
sub eax, edx
mov byte [0x1007f026], al
mov ecx, dword [0x1007f1bc]
add ecx, 0x432f
xor edx, edx
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], edx
movzx eax, byte [ebp - 0x15]
add eax, dword [ebp - 0x48]
movzx ecx, byte [ebp - 0x15]
sub ecx, eax
mov byte [ebp - 0x15], cl
cmp dword [ebp - 0xdc], 0x1786
jle 0x1002d500
mov dl, byte [0x1007fc38]
mov byte [ebp - 0x14], dl
cmp dword [0x1007f144], 0
jne 0x1002d49b
mov dword [ebp - 0x1cc], 1
jmp 0x1002d4a5
mov dword [ebp - 0x1cc], 0
mov eax, dword [ebp - 0x78]
sub eax, dword [str.C]
xor ecx, ecx
sub eax, dword [ebp - 0x60]
sbb ecx, dword [ebp - 0x5c]
movzx edx, word [0x1007f1c8]
mov esi, dword [ebp - 0x1cc]
sub esi, edx
movzx edx, word [0x1007f128]
add edx, dword [0x1007f180]
and esi, edx
xor edx, edx
add eax, esi
adc ecx, edx
mov dword [0x1007f130], eax
mov dword [0x1007f134], ecx
mov dword [ebp - 0x48], 0x55c4
mov eax, dword [ebp - 0xdc]
sub eax, 1
mov dword [ebp - 0xdc], eax
jmp 0x1002d46d
jmp 0x1002d56e
mov ecx, dword [ebp - 0x48]
cmp ecx, dword [0x1007f154]
je 0x1002d519
mov dword [ebp - 0x1d0], 1
jmp 0x1002d523
mov dword [ebp - 0x1d0], 0
movsx edx, word [0x1007f15c]
cmp dword [ebp - 0x1d0], edx
jge 0x1002d56e
movsx eax, byte [ebp - 0x13]
cdq
add eax, 0x86790009
adc edx, 0x8c89e
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov edx, 1
imul eax, edx, 0x2d0
mov cl, byte [0x1007f1bc]
mov byte [eax + 0x100b6fa8], cl
movzx edx, word [ebp - 0x6c]
cmp edx, 0x43f
jne 0x1002d6fd
mov eax, dword [0x1007f1c0]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x30], ax
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
add ecx, eax
adc esi, edx
mov dword [0x1007f190], ecx
mov dword [0x1007f194], esi
movsx edx, word [0x1007f148]
imul eax, edx, 0xb2ed
cdq
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xe0], eax
movzx eax, word [ebp - 0x1c]
add eax, 9
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0xe0]
add ecx, 0x2b4
mov dword [ebp - 0x90], ecx
movsx edx, word [0x1007f148]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0xe0]
add eax, 0x4dd
mov dword [ebp - 0x75c], eax
movzx ecx, word [0x1007f16c]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov byte [ebp - 0x12], al
movzx edx, byte [ebp - 0x12]
test edx, edx
je 0x1002d66f
movzx eax, word [0x1007f128]
add eax, dword [0x1007f1bc]
mov ecx, dword [0x1007f1bc]
sub ecx, eax
mov dword [0x1007f1bc], ecx
movzx edx, word [0x1007f1b8]
add edx, dword [0x1007f1bc]
mov eax, dword [0x1007f1bc]
sub eax, edx
mov dword [0x1007f1bc], eax
movsx ecx, word [ebp - 0x30]
add ecx, 0x4a355802
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0xe0]
add edx, 0x41d
mov dword [ebp - 0x760], edx
push 0x100677e8
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x1007f16c], ax
imul eax, dword [ebp - 0x90], 0x26d
mov ecx, dword [ebp - 0x90]
imul ecx, dword [ebp - 0x90]
mov edx, dword [ebp - 0x90]
sub edx, ecx
cmp eax, edx
je 0x1002d6fd
mov eax, dword [0x1007f1b0]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
movzx ecx, word [0x1007f1a0]
movzx edx, byte [ebp - 0x14]
sub ecx, edx
movzx eax, word [0x1007f1a0]
add eax, ecx
mov word [0x1007f1a0], ax
imul ecx, dword [0x1007f154], 0x72ec
xor edx, edx
mov dword [0x1007f138], ecx
mov dword [0x1007f13c], edx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x1002d722
jmp 0x1002d733
jmp 0x1002d74b
jmp 0x1002d77e
movzx eax, word [ebp - 0x6c]
cmp eax, 0x440
jne 0x1002d8c7
movzx ecx, byte [ebp - 0x15]
movzx edx, word [0x1007f16c]
cmp ecx, edx
jg 0x1002d7d8
push 0
push 0
push 0
push 0xa1
push 0
push 0x30
push 0
push 0
call fcn.10034db0
add esp, 0x20
mov word [0x1007f14c], ax
movzx eax, word [0x1007f14c]
test eax, eax
jle 0x1002d7d6
mov ecx, dword [ebp - 0x50]
push ecx
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov word [ebp - 0x24], ax
jmp 0x1002d822
mov eax, dword [ebp - 0x34]
cdq
push edx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
xor ecx, ecx
mov dword [0x1007f130], 0x297d6e7c
mov dword [0x1007f134], ecx
movzx eax, word [0x1007f1a0]
cdq
add eax, dword [0x1007f178]
adc edx, dword [0x1007f17c]
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov dword [ebp - 0xe4], 0x62
mov edx, dword [ebp - 0x60]
sub edx, 0xf9
mov word [ebp - 0x1c], dx
movzx eax, byte [0x1007f027]
mov ecx, dword [0x1007f140]
lea edx, [eax + ecx - 0x78]
mov byte [0x1007f027], dl
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], ecx
mov edx, dword [ebp - 0x544]
or edx, dword [ebp - 0x540]
je 0x1002d87b
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1d4], eax
jmp 0x1002d888
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x1d4], ecx
mov dx, word [ebp - 0x1d4]
mov word [0x1007f14c], dx
push 0x100677f0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0xe4]
add eax, 1
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0x2189
jl 0x1002d896
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, 9
mov esi, str.WicaAvPathsExpired
lea edi, [ebp - 0x7c4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0x7c4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov edx, dword [ebp - 0x1d8]
sub edx, dword [ebp - 0x1d8]
mov eax, 0x304
sub eax, edx
cmp eax, 0x6f
je 0x10030843
call dword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov byte [ebp - 0x15], al
movzx ecx, word [0x1007f168]
mov edx, dword [ebp - 0x34]
add edx, ecx
mov eax, dword [ebp - 0x34]
add eax, edx
mov dword [ebp - 0x34], eax
mov cl, byte [0x1007f04e]
mov byte [ebp - 0x15], cl
mov edx, 4
mov word [ebp - 0x30], dx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xe8], eax
movsx ecx, byte [ebp - 0x11]
cmp dword [ebp - 0x38], ecx
jge 0x1002d9fe
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x54c], eax
mov dword [ebp - 0x548], edx
mov dword [ebp - 0x554], ecx
mov dword [ebp - 0x550], esi
mov edx, dword [ebp - 0x548]
cmp edx, dword [ebp - 0x550]
jg 0x1002d9b7
jl 0x1002d997
mov eax, dword [ebp - 0x54c]
cmp eax, dword [ebp - 0x554]
ja 0x1002d9b7
mov ecx, dword [ebp - 0x78]
and ecx, 0x3a0beec8
mov dword [0x1007f158], ecx
mov edx, dword [ebp - 0x48]
add edx, 0x22
movsx eax, byte [ebp - 0x11]
xor eax, edx
mov byte [ebp - 0x11], al
jmp 0x1002d9fc
movzx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x1002d9fc
push 0
push 0xaa395ef7
mov edx, dword [0x1007f124]
push edx
mov eax, dword [0x1007f120]
push eax
call fcn.1005a1b0
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
movzx eax, byte [ebp - 0x14]
movzx ecx, word [0x1007f128]
sub eax, ecx
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
jmp 0x1002da69
mov edx, dword [0x1007f178]
add edx, 0x3a13
mov eax, dword [0x1007f17c]
adc eax, 0
mov dword [0x1007f120], edx
mov dword [0x1007f124], eax
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1002da31
mov dword [ebp - 0x1dc], 1
jmp 0x1002da3b
mov dword [ebp - 0x1dc], 0
mov edx, dword [0x1007f158]
imul edx, dword [ebp - 0x1dc]
mov eax, dword [ebp - 0x3c]
not eax
xor edx, eax
not edx
mov word [0x1007f168], dx
movsx ecx, word [0x1007f15c]
imul edx, ecx, 0x829e2b1
mov word [ebp - 0x30], dx
mov eax, dword [ebp - 0xe8]
add eax, 0x7419
mov dword [ebp - 0x3fc], eax
cmp dword [0x1007f1bc], 0
jne 0x1002da8f
mov dword [ebp - 0x1e0], 1
jmp 0x1002da99
mov dword [ebp - 0x1e0], 0
mov ecx, dword [0x1007f1a4]
cmp dword [ebp - 0x1e0], ecx
jne 0x1002dab3
mov dword [ebp - 0x1e4], 1
jmp 0x1002dabd
mov dword [ebp - 0x1e4], 0
mov edx, dword [ebp - 0x1e4]
cmp edx, dword [0x1007f170]
jb 0x1002db56
movsx eax, word [ebp - 0x2c]
movzx ecx, byte [0x1007f026]
cmp eax, ecx
jle 0x1002daf2
xor edx, edx
mov dword [ebp - 0x348], 1
mov dword [ebp - 0x344], edx
jmp 0x1002dafd
xorps xmm0, xmm0
movlpd qword [ebp - 0x348], xmm0
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 0x348]
cmp edx, dword [ebp - 0x55c]
jne 0x1002db30
mov eax, dword [ebp - 0x344]
cmp eax, dword [ebp - 0x558]
je 0x1002db3c
mov dword [ebp - 0x1e8], 1
jmp 0x1002db46
mov dword [ebp - 0x1e8], 0
mov ecx, dword [ebp - 0x1e8]
not ecx
test ecx, ecx
je 0x1002dc08
movzx edx, word [0x1007f1b8]
test edx, edx
jne 0x1002db6d
mov dword [ebp - 0x1ec], 1
jmp 0x1002db77
mov dword [ebp - 0x1ec], 0
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
jne 0x1002db93
xor ecx, ecx
mov dword [ebp - 0x350], 1
mov dword [ebp - 0x34c], ecx
jmp 0x1002db9e
xorps xmm0, xmm0
movlpd qword [ebp - 0x350], xmm0
mov esi, dword [0x1007f1b0]
sub esi, dword [ebp - 0x58]
mov edi, dword [0x1007f1b4]
sbb edi, dword [ebp - 0x54]
movsx eax, word [ebp - 0x30]
not eax
cdq
add esi, eax
adc edi, edx
movzx eax, word [0x1007f1a0]
or eax, dword [ebp - 0x1ec]
cdq
mov ecx, dword [ebp - 0x350]
sub ecx, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x34c]
sbb ebx, dword [ebp - 0x5c]
push ebx
push ecx
push edx
push eax
call fcn.1005a1b0
add esi, eax
adc edi, edx
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x4c], edi
movzx edx, word [0x1007f16c]
add edx, 0x13219e41
mov dword [ebp - 0x74], edx
mov al, byte [0x1007fc38]
mov byte [ebp - 0x12], al
jmp 0x1002dc2d
movsx ecx, word [ebp - 0x30]
sub ecx, 0xc9
mov byte [ebp - 0x11], cl
mov eax, dword [0x1007f140]
cdq
mov ecx, eax
add ecx, 0x6f273cee
movzx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov byte [ebp - 0x12], al
mov edx, dword [ebp - 0xe8]
add edx, 0x8412
mov dword [ebp - 0x400], edx
push 0x23
mov eax, dword [ebp - 0x34]
push eax
call fcn.10035170
add esp, 8
movsx cx, al
mov word [ebp - 0x1c], cx
movzx edx, word [ebp - 0x1c]
test edx, edx
jg 0x1002dc7d
movzx eax, byte [0x1007f027]
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
xor ecx, ecx
mov dword [0x1007f120], eax
mov dword [0x1007f124], ecx
jmp 0x1002dd68
movzx edx, word [ebp - 0x28]
test edx, edx
je 0x1002dc9c
movsx eax, word [0x1007f15c]
test eax, eax
je 0x1002dc9c
mov dword [ebp - 0x1f0], 1
jmp 0x1002dca6
mov dword [ebp - 0x1f0], 0
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x564], eax
mov dword [ebp - 0x560], edx
cmp dword [ebp - 0x560], 0x5d7b9
jg 0x1002dce0
jl 0x1002dcd4
cmp dword [ebp - 0x564], 0x9d67abcf
jae 0x1002dce0
mov dword [ebp - 0x1f4], 1
jmp 0x1002dcea
mov dword [ebp - 0x1f4], 0
mov ecx, dword [ebp - 0x1f0]
add ecx, dword [ebp - 0x1f4]
je 0x1002dd68
mov edx, 2
imul eax, edx, 0x25
movzx eax, word [eax + 0x10316d70]
cdq
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x56c], ecx
mov dword [ebp - 0x568], edx
mov eax, dword [ebp - 0x56c]
or eax, dword [ebp - 0x568]
jne 0x1002dd3f
mov dword [ebp - 0x1f8], 1
jmp 0x1002dd49
mov dword [ebp - 0x1f8], 0
movsx ecx, byte [ebp - 0x13]
imul ecx, dword [ebp - 0x1f8]
mov word [0x1007f1b8], cx
movzx edx, byte [ebp - 0x14]
movzx eax, word [ebp - 0x1c]
add edx, eax
mov byte [ebp - 0x14], dl
mov ecx, dword [ebp - 0xe8]
add ecx, 0x193
mov dword [ebp - 0x3f8], ecx
mov edx, dword [ebp - 0x48]
not edx
cmp edx, 0x4b82c645
jne 0x1002dd93
mov dword [ebp - 0x1fc], 1
jmp 0x1002dd9d
mov dword [ebp - 0x1fc], 0
cmp dword [ebp - 0x1fc], 0x5114
jge 0x1002ddbd
xor eax, eax
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x354], eax
jmp 0x1002ddc8
xorps xmm0, xmm0
movlpd qword [ebp - 0x358], xmm0
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x574], ecx
mov dword [ebp - 0x570], edx
mov eax, dword [ebp - 0x570]
cmp eax, dword [ebp - 0x354]
jg 0x1002de27
jl 0x1002ddfe
mov ecx, dword [ebp - 0x574]
cmp ecx, dword [ebp - 0x358]
ja 0x1002de27
mov edx, 2
imul eax, edx, 0x2a70
mov cx, word [ebp - 0x30]
mov word [eax + 0x10355558], cx
movsx edx, word [ebp - 0x2c]
xor edx, 0x6aa45f99
mov word [0x1007f14c], dx
jmp 0x1002de54
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x764], ecx
sub eax, 0x72b68aaa
mov word [0x1007f1a8], ax
movzx edx, word [0x1007f16c]
sub edx, 0xb5
mov word [ebp - 0x28], dx
mov ebx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x768], eax
sub ebx, dword [0x1007f188]
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
not ecx
not edx
push 0
push 4
push edx
push ecx
call fcn.1005a1b0
xor ebx, eax
not ebx
mov byte [ebp - 0x13], bl
mov eax, dword [0x1007f1bc]
add eax, 0x9907
mov word [0x1007f1a8], ax
cmp dword [str.C], 0
jne 0x1002deba
xor ecx, ecx
mov dword [ebp - 0x360], 1
mov dword [ebp - 0x35c], ecx
jmp 0x1002dec5
xorps xmm0, xmm0
movlpd qword [ebp - 0x360], xmm0
mov edx, dword [0x1007f154]
xor eax, eax
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
add ecx, dword [ebp - 0x360]
adc esi, dword [ebp - 0x35c]
not ecx
not esi
and edx, ecx
and eax, esi
mov dword [ebp - 0x57c], edx
mov dword [ebp - 0x578], eax
mov edx, dword [ebp - 0x57c]
or edx, dword [ebp - 0x578]
jne 0x1002df13
mov dword [ebp - 0x200], 1
jmp 0x1002df1d
mov dword [ebp - 0x200], 0
movsx eax, word [ebp - 0x2c]
movzx ecx, word [ebp - 0x28]
imul eax, ecx
not eax
sub eax, 0x46734cb3
xor eax, dword [ebp - 0x200]
cdq
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
mov edx, dword [ebp - 0x3f8]
xor edx, dword [ebp - 0x3fc]
mov eax, dword [ebp - 0x400]
or eax, 0xaefa
imul edx, eax
xor edx, 0x50569788
mov dword [ebp - 0x404], edx
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x3c], ecx
jae 0x1002df7b
mov dword [ebp - 0x204], 1
jmp 0x1002df85
mov dword [ebp - 0x204], 0
cmp dword [ebp - 0x3c], 0x3f
jae 0x1002df97
mov dword [ebp - 0x208], 1
jmp 0x1002dfa1
mov dword [ebp - 0x208], 0
mov edx, dword [ebp - 0x204]
cmp edx, dword [ebp - 0x208]
jl 0x1002dff6
mov al, byte [ebp - 0x58]
mov byte [ebp - 0x14], al
movzx ecx, word [0x1007f1c8]
sub ecx, dword [0x1007f180]
movzx edx, word [ebp - 0x1c]
imul edx, dword [ebp - 0x48]
add ecx, edx
jne 0x1002dfda
mov dword [ebp - 0x20c], 1
jmp 0x1002dfe4
mov dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x20c]
mov dword [ebp - 0x38], eax
mov ecx, dword [ebp - 0x34]
sub ecx, 0x7c
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xec], edx
movsx eax, byte [ebp - 0x13]
mov dword [ebp - 0x48], eax
mov cx, word [0x1007f1bc]
mov word [0x1007f14c], cx
mov edx, dword [ebp - 0xec]
add edx, 0x152
mov dword [ebp - 0x76c], edx
cmp dword [ebp - 0x3c], 0
je 0x1002e03a
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x210], eax
jmp 0x1002e047
movzx ecx, word [0x1007f1b8]
mov dword [ebp - 0x210], ecx
mov dx, word [ebp - 0x210]
mov word [0x1007f1b8], dx
movsx eax, word [0x1007f1a8]
sub eax, 0x404cbfda
mov byte [0x1007f027], al
movsx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x1002e082
xor edx, edx
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x364], edx
jmp 0x1002e08d
xorps xmm0, xmm0
movlpd qword [ebp - 0x368], xmm0
mov eax, dword [ebp - 0x364]
push eax
mov ecx, dword [ebp - 0x368]
push ecx
mov edx, dword [0x1007f124]
push edx
mov eax, dword [0x1007f120]
push eax
call fcn.1005a1b0
mov word [0x1007f1b8], ax
mov ecx, dword [ebp - 0xec]
add ecx, 0x71f0
mov dword [ebp - 0x214], ecx
movsx edx, word [ebp - 0x24]
imul eax, edx, 0xfc69
mov dword [0x1007f144], eax
movzx ecx, byte [ebp - 0x12]
not ecx
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0xec]
add edx, 0x16d
mov dword [ebp - 0x770], edx
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x774], ecx
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov dword [ebp - 0x48], eax
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov byte [0x1007f026], al
mov edx, dword [ebp - 0x214]
xor edx, dword [ebp - 0x214]
add edx, 0x1c2
mov dword [ebp - 0x410], edx
movzx eax, word [0x1007f1b8]
xor eax, dword [0x1007f140]
movzx ecx, word [0x1007f1b8]
sub ecx, eax
mov word [0x1007f1b8], cx
movzx edx, word [ebp - 0x6c]
cmp edx, 0x818
jne 0x1002e598
mov dword [ebp - 0x74], 0x12a47724
movzx eax, word [ebp - 0x28]
imul ecx, eax, 0xd337
mov word [0x1007f148], cx
mov dx, word [0x1007f128]
mov eax, 1
imul ecx, eax, 0x2fa3
mov byte [ecx + 0x1016af40], dl
mov byte [ebp - 0x14], 0x8e
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xf4], edx
mov dword [ebp - 4], 2
xorps xmm0, xmm0
movlpd qword [0x1007f1c0], xmm0
movzx eax, word [0x1007f168]
and eax, 0x1e95c874
mov word [ebp - 0x24], ax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
add ecx, 0x4bed7b9
adc edx, 0xd2172
add ecx, dword [0x1007f178]
adc edx, dword [0x1007f17c]
mov dword [0x1007f178], ecx
mov dword [0x1007f17c], edx
mov eax, dword [0x1007f1c0]
mov ecx, dword [0x1007f1c4]
mov dword [ebp - 0x584], eax
mov dword [ebp - 0x580], ecx
mov edx, dword [ebp - 0x584]
or edx, dword [ebp - 0x580]
je 0x1002e214
jmp 0x1002e24a
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
add eax, dword [0x1007f188]
adc ecx, dword [0x1007f18c]
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
movsx eax, word [0x1007f15c]
cdq
add eax, 0x8913300c
adc edx, 0x5ac0b
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1002e2a3
mov dword [ebp - 4], 0xffffffff
jmp 0x1002e2b3
mov edx, dword [ebp - 0xf4]
add edx, 0x211
mov dword [ebp - 0x77c], edx
movzx eax, word [0x1007f1b8]
test eax, eax
jne 0x1002e2dc
mov dword [ebp - 0x218], 1
jmp 0x1002e2e6
mov dword [ebp - 0x218], 0
movsx ecx, word [0x1007f15c]
imul edx, ecx, 0xc5
mov eax, dword [ebp - 0x218]
sub eax, edx
jne 0x1002e311
xor ecx, ecx
mov dword [ebp - 0x370], 1
mov dword [ebp - 0x36c], ecx
jmp 0x1002e31c
xorps xmm0, xmm0
movlpd qword [ebp - 0x370], xmm0
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [ebp - 0x40]
sub eax, dword [ebp - 0x44]
sbb edx, ecx
xor eax, dword [0x1007f178]
xor edx, dword [0x1007f17c]
not eax
not edx
add eax, dword [ebp - 0x370]
adc edx, dword [ebp - 0x36c]
mov dword [ebp - 0x58c], eax
mov dword [ebp - 0x588], edx
mov edx, dword [ebp - 0x58c]
or edx, dword [ebp - 0x588]
jne 0x1002e372
xor eax, eax
mov dword [ebp - 0x378], 1
mov dword [ebp - 0x374], eax
jmp 0x1002e37d
xorps xmm0, xmm0
movlpd qword [ebp - 0x378], xmm0
mov ecx, dword [ebp - 0x378]
mov edx, dword [ebp - 0x374]
mov dword [0x1007f160], ecx
mov dword [0x1007f164], edx
push 0
push 0x7859
mov eax, dword [0x1007f1c4]
push eax
mov ecx, dword [0x1007f1c0]
push ecx
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0xf4]
add edx, 0x1c7
mov dword [ebp - 0x780], edx
mov dword [ebp - 0x70], 2
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x79c], ecx
sub eax, 0x78a35b48
mov dword [ebp - 0x78], eax
movsx eax, byte [ebp - 0x11]
not eax
sub eax, dword [ebp - 0x78]
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movzx edx, byte [0x1007f026]
movsx eax, word [0x1007f15c]
sub edx, eax
movzx ecx, byte [0x1007f026]
imul ecx, edx
mov byte [0x1007f026], cl
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0xf0], edx
cmp dword [ebp - 0xf0], 0
je 0x1002e450
cmp dword [ebp - 0xf0], 1
je 0x1002e491
cmp dword [ebp - 0xf0], 2
je 0x1002e4a8
jmp 0x1002e4c7
mov eax, dword [0x1007f170]
sub eax, 0xa49b
mov dword [ebp - 0x78], eax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
add ecx, dword [0x1007f1b0]
adc edx, dword [0x1007f1b4]
mov eax, dword [0x1007f160]
mov esi, dword [0x1007f164]
sub eax, ecx
sbb esi, edx
mov dword [0x1007f160], eax
mov dword [0x1007f164], esi
jmp 0x1002e4c7
mov cx, word [ebp - 0x20]
mov edx, 1
imul eax, edx, 0x4996
mov byte [eax + 0x10316e28], cl
jmp 0x1002e4c7
mov dword [0x1007f140], 0x803b
movsx ecx, word [0x1007f148]
mov edx, dword [str.C]
sub edx, ecx
mov dword [str.C], edx
mov eax, dword [ebp - 0xf4]
add eax, 0x217
mov dword [ebp - 0x21c], eax
movsx eax, word [0x1007f15c]
cdq
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov esi, dword [str.C]
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.1005a1b0
xor esi, eax
mov edx, 0x23bfae53
sub edx, esi
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x50]
sub eax, 0x26
mov word [0x1007f16c], ax
mov ecx, dword [ebp - 0x21c]
add ecx, dword [ebp - 0x404]
mov edx, dword [ebp - 0x21c]
xor edx, 0x21
cmp ecx, edx
je 0x1002e596
mov ecx, 9
mov esi, str.Compresscallbackfa
lea edi, [ebp - 0x7ec]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [ebp - 0x7ec]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x38], eax
movzx ecx, byte [0x1007f027]
mov dword [ebp - 0x74], ecx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x1002e5aa
mov edx, dword [ebp - 0x34]
sub edx, 0x54
mov eax, dword [0x1007f144]
xor eax, edx
mov dword [0x1007f144], eax
mov ecx, dword [ebp - 0x3c]
shr ecx, 1
mov byte [0x1007f04e], cl
mov edx, dword [ebp - 0x220]
sub edx, dword [ebp - 0x408]
mov eax, dword [ebp - 0x224]
sub eax, edx
mov ecx, dword [ebp - 0x220]
imul ecx, dword [ebp - 0x224]
cmp eax, ecx
je 0x10030843
movzx edx, word [0x1007f14c]
movzx eax, word [ebp - 0x20]
cmp edx, eax
jle 0x1002e5f9
mov dword [ebp - 0x228], 1
jmp 0x1002e603
mov dword [ebp - 0x228], 0
xor eax, eax
sub eax, dword [ebp - 0x228]
cdq
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], edx
mov ecx, dword [ebp - 0x590]
cmp ecx, dword [0x1007f124]
jb 0x1002e642
ja 0x1002e636
mov edx, dword [ebp - 0x594]
cmp edx, dword [0x1007f120]
jb 0x1002e642
mov dword [ebp - 0x22c], 1
jmp 0x1002e64c
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x22c]
not eax
test eax, eax
je 0x1002e768
mov dword [ebp - 4], 4
cmp dword [0x1007f170], 0
je 0x1002e6b7
movsx eax, word [0x1007f148]
cdq
sub eax, 0xba31b6c2
sbb edx, 0x947ba
mov ecx, dword [str.C]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [str.C], eax
mov edx, dword [ebp - 0x3c]
xor eax, eax
sub edx, 0xb7af36d5
sbb eax, 0x19e59
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
jmp 0x1002e6d6
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
jmp 0x1002e756
mov dword [ebp - 4], 0xffffffff
jmp 0x1002e766
jmp 0x1002e78e
movzx edx, word [0x1007f168]
test edx, edx
jne 0x1002e78e
movzx eax, byte [ebp - 0x12]
add eax, dword [ebp - 0x74]
movzx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
movzx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
movzx edx, word [0x1007f1c8]
test edx, edx
je 0x1002e7ce
movzx eax, byte [0x1007f026]
cdq
sub eax, 0x1866bac7
mov dword [0x1007f144], eax
movsx eax, byte [ebp - 0x13]
cdq
sub eax, 0x75bb36ff
sbb edx, 0x7be1a
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movzx eax, word [0x1007f168]
not eax
mov word [ebp - 0x20], ax
movzx ecx, word [ebp - 0x6c]
cmp ecx, 0x419
jne 0x1002e921
mov dword [ebp - 0xfc], 0x40
mov edx, 2
mov word [ebp - 0x30], dx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xf8], 0x14c
jmp 0x1002e814
mov ecx, dword [ebp - 0xf8]
sub ecx, 1
mov dword [ebp - 0xf8], ecx
cmp dword [ebp - 0xf8], 0
jle 0x1002e885
mov dword [ebp - 0x70], 0x35b4bb72
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x59c], edx
mov dword [ebp - 0x598], eax
mov ecx, dword [ebp - 0x59c]
or ecx, dword [ebp - 0x598]
je 0x1002e858
movsx edx, word [0x1007f148]
mov dword [ebp - 0x230], edx
jmp 0x1002e863
mov eax, dword [0x1007f1a4]
mov dword [ebp - 0x230], eax
mov cx, word [ebp - 0x230]
mov word [0x1007f148], cx
mov edx, dword [ebp - 0x60]
add edx, 1
mov eax, dword [ebp - 0x5c]
adc eax, 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
jmp 0x1002e805
mov ecx, dword [ebp - 0xfc]
add ecx, 1
mov dword [ebp - 0xfc], ecx
cmp dword [ebp - 0xfc], 0x2451
jl 0x1002e7f9
mov byte [ebp - 0x11], 0
movsx edx, byte [ebp - 0x13]
sub edx, 0x17b52db9
mov byte [0x1007f027], dl
mov ax, word [0x1007fc38]
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x2c]
mov edx, dword [str.C]
sub edx, ecx
mov dword [0x1007f144], edx
mov al, byte [ebp - 0x11]
mov byte [ebp - 0x40c], al
cmp byte [ebp - 0x40c], 0
je 0x1002e8e8
jmp 0x1002e917
movzx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], esi
mov eax, dword [ebp - 0x74]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], esi
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
movzx eax, byte [ebp - 0x15]
cdq
sub eax, 0x51b8a54f
mov dword [0x1007f154], eax
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov cl, 8
call fcn.1005a210
mov dword [0x1007f170], eax
mov edx, dword [ebp - 0x410]
or edx, 0x34b
mov eax, dword [ebp - 0x234]
sub eax, dword [ebp - 0x234]
mov ecx, dword [ebp - 0x414]
add ecx, 0x2eb
sub eax, ecx
cmp edx, eax
je 0x10030843
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x5a4], eax
mov dword [ebp - 0x5a0], edx
mov edx, dword [ebp - 0x5a0]
cmp edx, dword [ebp - 0x4c]
jb 0x1002eb1e
ja 0x1002e9a1
mov eax, dword [ebp - 0x5a4]
cmp eax, dword [ebp - 0x50]
jb 0x1002eb1e
mov ecx, dword [ebp - 0x58]
or ecx, dword [ebp - 0x54]
je 0x1002eab8
mov dword [ebp - 4], 6
movsx edx, word [ebp - 0x30]
test edx, edx
je 0x1002e9cb
movsx eax, word [0x1007f1a8]
mov dword [ebp - 0x238], eax
jmp 0x1002e9d5
movsx ecx, byte [ebp - 0x13]
mov dword [ebp - 0x238], ecx
mov eax, dword [ebp - 0x238]
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
sub edx, dword [ebp - 0x60]
sbb eax, dword [ebp - 0x5c]
mov dword [0x1007f198], edx
mov dword [0x1007f19c], eax
mov byte [ebp - 0x11], 0xa7
jmp 0x1002eaa6
mov dword [ebp - 4], 0xffffffff
jmp 0x1002eab6
jmp 0x1002eb19
cmp dword [ebp - 0x70], 0
jne 0x1002eae8
movzx eax, word [ebp - 0x20]
test eax, eax
jne 0x1002ead2
mov dword [ebp - 0x23c], 1
jmp 0x1002eadc
mov dword [ebp - 0x23c], 0
cmp dword [ebp - 0x23c], 0xa3e7
jle 0x1002eb19
mov ecx, dword [0x1007f154]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x69c], eax
add ecx, edx
add ecx, dword [ebp - 0x60]
mov dword [0x1007f144], ecx
movzx ecx, word [ebp - 0x28]
movzx edx, byte [ebp - 0x14]
sub ecx, edx
movzx eax, word [ebp - 0x28]
sub eax, ecx
mov word [ebp - 0x28], ax
jmp 0x1002ebb2
movzx ecx, word [ebp - 0x1c]
cmp dword [ebp - 0x48], ecx
jg 0x1002ebb2
mov edx, dword [0x1007f1b0]
not edx
mov eax, dword [0x1007f1b4]
not eax
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
or ecx, edx
or esi, eax
push 0
push 0x86b
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f194]
add eax, dword [0x1007f190]
adc edx, ecx
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], edx
mov edx, dword [ebp - 0x5b4]
or edx, dword [ebp - 0x5b0]
jne 0x1002eb86
mov dword [ebp - 0x240], 1
jmp 0x1002eb90
mov dword [ebp - 0x240], 0
mov eax, dword [ebp - 0x240]
mov dword [0x1007f170], eax
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
sub ecx, dword [0x1007f188]
movsx eax, byte [ebp - 0x13]
cdq
sub eax, ecx
mov byte [ebp - 0x13], al
mov edx, dword [0x1007f170]
push edx
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp dword [ebp - 0x38], 0
je 0x1002ec29
movsx eax, byte [ebp - 0x13]
movsx ecx, byte [ebp - 0x13]
cmp eax, ecx
jle 0x1002ec27
movsx edx, word [0x1007f148]
sub edx, dword [0x1007f1a4]
movsx eax, word [0x1007f148]
add eax, edx
mov word [0x1007f148], ax
movsx ecx, word [0x1007f1a8]
imul edx, ecx, 0x684b3bbc
mov dword [0x1007f144], edx
mov eax, dword [ebp - 0x60]
sub eax, dword [0x1007f120]
mov ecx, dword [ebp - 0x5c]
sbb ecx, dword [0x1007f124]
push ecx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
jmp 0x1002ec52
movzx eax, word [0x1007f1b8]
cdq
add eax, 0x932ccfb3
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x38]
sar ecx, 7
mov dword [ebp - 0x3c], ecx
movsx edx, word [ebp - 0x2c]
mov eax, dword [0x1007f144]
sub eax, edx
mov dword [0x1007f144], eax
movzx ecx, word [ebp - 0x6c]
cmp ecx, 0x428
jne 0x1002f28d
movzx edx, byte [ebp - 0x14]
cmp edx, 0x45bd
jl 0x1002eca2
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x418], eax
mov dword [ebp - 0x41c], 0
cmp dword [ebp - 0x418], 0
je 0x1002eca0
mov eax, dword [ebp - 0x41c]
push eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x6a0], eax
jmp 0x1002eceb
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
add ecx, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
push edx
push ecx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1005a1b0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
imul edx, dword [0x1007f1a4], 0xf1c8a944
mov byte [0x1007f026], dl
movzx eax, word [0x1007f128]
add eax, 0x9a
mov word [0x1007f1b8], ax
movsx ecx, word [ebp - 0x30]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x3c], eax
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x100], edx
mov eax, 0xff82
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x74], 0
jne 0x1002ed20
mov dword [ebp - 0x244], 1
jmp 0x1002ed2a
mov dword [ebp - 0x244], 0
mov ecx, dword [ebp - 0x244]
mov dword [0x1007f170], ecx
mov edx, dword [ebp - 0x58]
sub edx, 0x98402c5f
mov eax, dword [ebp - 0x54]
sbb eax, 0
mov ecx, dword [ebp - 0x60]
sub ecx, edx
mov edx, dword [ebp - 0x5c]
sbb edx, eax
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x100]
add eax, 0x2a2
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x48], 4
xor ecx, ecx
mov dword [0x1007f130], 4
mov dword [0x1007f134], ecx
mov edx, dword [ebp - 0x3c]
shr edx, 8
mov word [0x1007f15c], dx
movsx eax, word [0x1007f1a8]
imul eax, dword [0x1007f170]
mov ecx, dword [0x1007f170]
sub ecx, eax
mov dword [0x1007f170], ecx
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x248], edx
cmp dword [ebp - 0x248], 4
ja case.default.0x1002edc4
mov eax, dword [ebp - 0x248]
jmp dword [eax*4 + 0x10030c70]
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1007f1b4]
push ecx
mov ecx, dword [0x1007f1b0]
push ecx
push edx
push eax
call fcn.1005a1b0
mov byte [ebp - 0x12], al
mov edx, dword [ebp - 0x58]
or edx, dword [ebp - 0x54]
jne 0x1002edfc
mov dword [ebp - 0x24c], 1
jmp 0x1002ee06
mov dword [ebp - 0x24c], 0
movsx eax, word [0x1007f148]
add eax, dword [ebp - 0x24c]
cdq
add eax, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5b8], edx
mov eax, dword [ebp - 0x5bc]
or eax, dword [ebp - 0x5b8]
jne 0x1002ee42
mov ecx, 1
mov word [ebp - 0x86], cx
jmp 0x1002ee4b
xor edx, edx
mov word [ebp - 0x86], dx
mov ax, word [ebp - 0x86]
mov word [ebp - 0x24], ax
jmp case.default.0x1002edc4
mov ecx, dword [str.C]
mov dword [ebp - 0x74], ecx
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
push 0
push 0xb2
push eax
push edx
call fcn.1005a1b0
mov byte [ebp - 0x12], al
movzx ecx, byte [0x1007f027]
imul eax, ecx, 0x502e
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
jmp case.default.0x1002edc4
mov dl, byte [ebp - 0x14]
sub dl, 1
mov byte [ebp - 0x14], dl
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov edx, dword [0x1007f17c]
push edx
mov edx, dword [0x1007f178]
push edx
push ecx
push eax
call fcn.1005a1b0
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
sub ecx, eax
sbb esi, edx
mov dword [0x1007f160], ecx
mov dword [0x1007f164], esi
jmp case.default.0x1002edc4
movzx eax, byte [0x1007f04e]
cdq
sub eax, 0xbc519cbb
sbb edx, 0x74893
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
add ecx, eax
adc esi, edx
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
push esi
push ecx
push eax
push edx
call fcn.1005a1b0
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
jmp case.default.0x1002edc4
movzx ecx, word [ebp - 0x1c]
imul ecx, dword [0x1007f154]
movzx edx, word [0x1007f1b8]
add edx, dword [ebp - 0x38]
add ecx, edx
mov dword [str.C], ecx
mov eax, dword [ebp - 0x100]
add eax, 0x258
mov dword [ebp - 0x420], eax
xor ecx, ecx
mov dword [0x1007f178], 0xd46d
mov dword [0x1007f17c], ecx
cmp dword [0x1007f170], 0
je 0x1002ef9a
mov edx, dword [0x1007f130]
mov eax, dword [0x1007f134]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x384], eax
jmp 0x1002efac
mov eax, dword [0x1007f144]
cdq
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], edx
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0x100]
add edx, 0x213
mov dword [ebp - 0x6a4], edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
movzx eax, ax
mov dword [0x1007f144], eax
mov ecx, dword [ebp - 0x250]
sub ecx, dword [ebp - 0x420]
cmp ecx, dword [ebp - 0x250]
je 0x1002f28b
mov edx, dword [0x1007f170]
cmp edx, dword [str.C]
jae 0x1002f007
mov dword [ebp - 0x254], 1
jmp 0x1002f011
mov dword [ebp - 0x254], 0
cmp dword [0x1007f170], 0x12
jae 0x1002f026
mov dword [ebp - 0x258], 1
jmp 0x1002f030
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x258]
je 0x1002f1f6
mov dword [ebp - 4], 8
mov ecx, dword [0x1007f170]
cmp ecx, dword [ebp - 0x48]
ja 0x1002f0fc
mov edx, dword [0x1007f138]
mov eax, dword [0x1007f13c]
add edx, dword [ebp - 0x58]
adc eax, dword [ebp - 0x54]
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
not ecx
not esi
add edx, ecx
adc eax, esi
mov dword [ebp - 0x5c4], edx
mov dword [ebp - 0x5c0], eax
mov edx, dword [ebp - 0x5c4]
or edx, dword [ebp - 0x5c0]
jne 0x1002f0ab
xor eax, eax
mov dword [ebp - 0x5cc], 1
mov dword [ebp - 0x5c8], eax
jmp 0x1002f0b6
xorps xmm0, xmm0
movlpd qword [ebp - 0x5cc], xmm0
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6a8], edx
mov eax, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x6ac], edx
add ecx, eax
movzx eax, byte [ebp - 0x14]
cdq
and eax, dword [ebp - 0x50]
xor ecx, eax
xor ecx, dword [ebp - 0x5cc]
mov word [0x1007f1c8], cx
movzx ax, byte [ebp - 0x14]
mov word [0x1007f15c], ax
jmp 0x1002f191
movsx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x1002f11b
movsx edx, word [0x1007f1a8]
test edx, edx
jne 0x1002f11b
mov dword [ebp - 0x25c], 1
jmp 0x1002f125
mov dword [ebp - 0x25c], 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [0x1007f154]
jb 0x1002f13c
mov dword [ebp - 0x260], 1
jmp 0x1002f146
mov dword [ebp - 0x260], 0
mov ecx, dword [ebp - 0x25c]
imul ecx, dword [ebp - 0x260]
test ecx, ecx
je 0x1002f191
movzx eax, word [ebp - 0x1c]
cdq
sub eax, 0xbe243e6c
mov dword [ebp - 0x48], eax
mov eax, dword [0x1007f1c0]
mov edx, dword [0x1007f1c4]
mov cl, 8
call fcn.1005a210
mov dword [ebp - 0x38], eax
mov edx, dword [0x1007f154]
add edx, dword [str.C]
add edx, dword [0x1007f154]
mov dword [0x1007f154], edx
jmp 0x1002f1e4
mov dword [ebp - 4], 0xffffffff
jmp 0x1002f1f4
jmp 0x1002f24d
movsx eax, word [0x1007f15c]
test eax, eax
je 0x1002f21a
imul ecx, dword [ebp - 0x70], 0xaf
mov byte [ebp - 0x14], cl
movzx edx, byte [ebp - 0x15]
not edx
add edx, dword [ebp - 0x34]
mov word [ebp - 0x1c], dx
jmp 0x1002f24d
movsx eax, word [ebp - 0x2c]
or eax, dword [str.C]
movzx ecx, byte [ebp - 0x15]
cmp eax, ecx
je 0x1002f24d
movzx edx, word [0x1007f1a0]
mov eax, dword [ebp - 0x38]
sub eax, edx
mov ecx, dword [ebp - 0x38]
add ecx, eax
mov dword [ebp - 0x38], ecx
movzx edx, word [0x1007f128]
not edx
mov word [ebp - 0x30], dx
mov eax, dword [ebp - 0x34]
cdq
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
and ecx, eax
and esi, edx
mov dword [0x1007f130], ecx
mov dword [0x1007f134], esi
mov edx, dword [0x1007f154]
and edx, dword [ebp - 0x70]
xor eax, eax
mov dword [0x1007f190], edx
mov dword [0x1007f194], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x1002f299
mov ecx, 0x6364
mov word [0x1007f1a8], cx
mov ecx, dword [ebp - 0x50]
not ecx
mov esi, dword [ebp - 0x4c]
not esi
mov eax, dword [0x1007f140]
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x5d4], eax
mov dword [ebp - 0x5d0], edx
mov edx, dword [ebp - 0x5d4]
or edx, dword [ebp - 0x5d0]
jne 0x1002f2ea
mov byte [ebp - 0x82], 1
jmp 0x1002f2f1
mov byte [ebp - 0x82], 0
mov al, byte [ebp - 0x82]
mov byte [ebp - 0x13], al
imul ecx, dword [0x1007f170], 0x446d5b2e
mov word [ebp - 0x30], cx
movzx edx, word [ebp - 0x6c]
cmp edx, 0x442
jne 0x1002f4e1
mov eax, dword [ebp - 0x38]
cdq
sub eax, 0x205351b3
mov word [ebp - 0x20], ax
cmp dword [ebp - 0x70], 0
jne 0x1002f337
mov dword [ebp - 0x264], 1
jmp 0x1002f341
mov dword [ebp - 0x264], 0
mov eax, 2
sub eax, dword [ebp - 0x264]
jne 0x1002f362
xor ecx, ecx
mov dword [ebp - 0x390], 1
mov dword [ebp - 0x38c], ecx
jmp 0x1002f36d
xorps xmm0, xmm0
movlpd qword [ebp - 0x390], xmm0
mov edx, dword [0x1007f120]
not edx
mov eax, dword [0x1007f124]
not eax
mov ecx, dword [ebp - 0x60]
sub ecx, edx
mov esi, dword [ebp - 0x5c]
sbb esi, eax
add ecx, dword [ebp - 0x390]
adc esi, dword [ebp - 0x38c]
movzx edx, word [0x1007f1a0]
mov eax, dword [ebp - 0x38]
sub eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
movzx eax, byte [0x1007f026]
test eax, eax
je 0x1002f464
movzx ecx, word [ebp - 0x28]
mov eax, dword [ebp - 0x48]
sub eax, ecx
not eax
add eax, 0xbd
movzx edx, word [0x1007f14c]
mov ecx, dword [ebp - 0x78]
sub ecx, edx
movzx edx, word [ebp - 0x28]
movzx esi, word [0x1007f128]
add edx, esi
xor ecx, edx
imul eax, ecx
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
cmp dword [ebp - 0x38], 0
jne 0x1002f411
xor eax, eax
mov dword [ebp - 0x5dc], 1
mov dword [ebp - 0x5d8], eax
jmp 0x1002f41c
xorps xmm0, xmm0
movlpd qword [ebp - 0x5dc], xmm0
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x6b0], edx
add ecx, dword [ebp - 0x5dc]
mov eax, dword [0x1007f1c0]
not eax
mov edx, dword [0x1007f160]
mov esi, dword [0x1007f164]
mov dword [ebp - 0x6b4], esi
xor eax, edx
sub ecx, eax
mov dword [ebp - 0x48], ecx
movsx eax, byte [ebp - 0x11]
imul ecx, eax, 0xdc61cb84
mov word [ebp - 0x20], cx
jmp 0x1002f4d7
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x5e4], eax
mov dword [ebp - 0x5e0], edx
mov edx, dword [ebp - 0x5e0]
cmp edx, dword [0x1007f1c4]
jg 0x1002f49f
jl 0x1002f493
mov eax, dword [ebp - 0x5e4]
cmp eax, dword [0x1007f1c0]
ja 0x1002f49f
mov dword [ebp - 0x268], 1
jmp 0x1002f4a9
mov dword [ebp - 0x268], 0
movzx ecx, word [ebp - 0x20]
cmp dword [ebp - 0x268], ecx
jge 0x1002f4d7
mov dl, byte [0x1007fc38]
mov byte [0x1007f026], dl
mov eax, dword [0x1007f154]
xor eax, dword [ebp - 0x58]
mov ecx, dword [0x1007f154]
add ecx, eax
mov dword [0x1007f154], ecx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [0x1007f180]
xor eax, eax
mov ecx, dword [0x1007f1b4]
push ecx
mov ecx, dword [0x1007f1b0]
push ecx
push eax
push edx
call fcn.1005a1b0
mov edx, dword [0x1007f180]
add edx, eax
mov dword [0x1007f180], edx
push 0
push 0x67294c63
mov eax, dword [0x1007f124]
push eax
mov ecx, dword [0x1007f120]
push ecx
call fcn.1005a1b0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov edx, dword [ebp - 0x94]
sub edx, dword [ebp - 0x26c]
mov eax, dword [ebp - 0x26c]
imul eax, dword [ebp - 0x94]
imul edx, eax
mov ecx, dword [ebp - 0x94]
imul ecx, dword [ebp - 0x94]
cmp edx, ecx
je 0x10030843
movzx edx, word [0x1007f16c]
add edx, 0x75db
mov word [0x1007f1a0], dx
mov eax, dword [ebp - 0x34]
sub eax, dword [0x1007f1bc]
mov ecx, dword [ebp - 0x34]
sub ecx, eax
mov dword [ebp - 0x34], ecx
movzx edx, word [ebp - 0x28]
not edx
test edx, edx
jne 0x1002f5a4
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x1002f5a4
mov dword [ebp - 0x270], 0
jmp 0x1002f5ae
mov dword [ebp - 0x270], 1
movsx ecx, byte [ebp - 0x13]
movzx edx, word [ebp - 0x20]
cmp ecx, edx
jg 0x1002f5c6
mov dword [ebp - 0x274], 1
jmp 0x1002f5d0
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x270]
cmp eax, dword [ebp - 0x274]
jl 0x1002f6ae
mov ecx, dword [ebp - 0x80]
not ecx
mov edx, dword [ebp - 0x7c]
not edx
mov dword [ebp - 0x5ec], ecx
mov dword [ebp - 0x5e8], edx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5e8]
ja 0x1002f61c
jb 0x1002f610
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x5ec]
ja 0x1002f61c
mov dword [ebp - 0x278], 1
jmp 0x1002f626
mov dword [ebp - 0x278], 0
movsx edx, word [ebp - 0x24]
cmp edx, dword [ebp - 0x278]
jge 0x1002f6ae
jmp 0x1002f656
jmp 0x1002f662
jmp 0x1002f693
jmp 0x1002f6a9
jmp 0x1002f7b0
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x5f0], ecx
mov edx, dword [ebp - 0x5f4]
or edx, dword [ebp - 0x5f0]
je 0x1002f738
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
je 0x1002f738
mov eax, dword [ebp - 0x48]
cdq
push 0x8d56d
push 0xd3bcaee4
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
movzx ecx, byte [0x1007f026]
xor ecx, dword [ebp - 0x48]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
add edx, dword [0x1007f120]
adc eax, dword [0x1007f124]
mov ecx, dword [0x1007f120]
sub ecx, edx
mov edx, dword [0x1007f124]
sbb edx, eax
mov dword [0x1007f120], ecx
mov dword [0x1007f124], edx
jmp 0x1002f7b0
movzx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x50]
not ecx
mov esi, dword [ebp - 0x4c]
not esi
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x5f8], edx
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x600], esi
mov edx, dword [ebp - 0x5f8]
cmp edx, dword [ebp - 0x600]
ja 0x1002f7b0
jb 0x1002f77d
mov eax, dword [ebp - 0x5fc]
cmp eax, dword [ebp - 0x604]
jae 0x1002f7b0
movzx eax, word [0x1007f1c8]
cdq
push 0xad60f
push 0x439798b3
push edx
push eax
call fcn.1005a1b0
mov word [ebp - 0x28], ax
movsx ecx, byte [ebp - 0x11]
imul eax, ecx, 0x1155
cdq
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movzx edx, word [ebp - 0x6c]
cmp edx, 0x43b
je 0x1002f7cb
movzx eax, word [ebp - 0x6c]
cmp eax, 0x843
jne 0x1003008e
mov dword [ebp - 4], 0xa
movsx ecx, byte [ebp - 0x13]
shl ecx, 7
mov word [ebp - 0x24], cx
movsx eax, word [ebp - 0x24]
cdq
mov edx, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x6b8], ecx
sub eax, edx
mov word [ebp - 0x24], ax
jmp 0x1002f8fd
mov dword [ebp - 4], 0xffffffff
jmp 0x1002f90d
movzx ecx, word [ebp - 0x1c]
cmp dword [ebp - 0x38], ecx
jne 0x1002f922
mov dword [ebp - 0x27c], 1
jmp 0x1002f92c
mov dword [ebp - 0x27c], 0
cmp dword [ebp - 0x38], 3
jne 0x1002f93e
mov dword [ebp - 0x280], 1
jmp 0x1002f948
mov dword [ebp - 0x280], 0
mov edx, dword [ebp - 0x27c]
cmp edx, dword [ebp - 0x280]
jle 0x1002fa8b
movzx eax, byte [0x1007f026]
cmp eax, dword [ebp - 0x70]
jg 0x1002f972
mov dword [ebp - 0x284], 1
jmp 0x1002f97c
mov dword [ebp - 0x284], 0
movzx ecx, byte [0x1007f026]
cmp ecx, 0x4b
jg 0x1002f994
mov dword [ebp - 0x288], 1
jmp 0x1002f99e
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x284]
cmp edx, dword [ebp - 0x288]
jg 0x1002f9eb
mov eax, dword [0x1007f1a4]
add eax, 0xad
movzx ecx, word [ebp - 0x1c]
sub ecx, eax
mov word [ebp - 0x1c], cx
movzx edx, byte [0x1007f027]
add edx, 0x1867a5cb
mov ecx, edx
add ecx, 0xa865ea6c
movsx eax, word [0x1007f148]
cdq
sub ecx, eax
mov word [0x1007f1a0], cx
jmp 0x1002fa86
movsx edx, byte [ebp - 0x11]
movzx eax, word [ebp - 0x20]
mov ecx, dword [0x1007f170]
sub ecx, eax
not ecx
cmp edx, ecx
je 0x1002fa86
mov edx, 0x7b
mov word [ebp - 0x20], dx
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], ecx
mov edx, dword [ebp - 0x61c]
or edx, dword [ebp - 0x618]
jne 0x1002fa3f
mov dword [ebp - 0x2f4], 1
jmp 0x1002fa49
mov dword [ebp - 0x2f4], 0
movzx eax, byte [ebp - 0x12]
add eax, dword [ebp - 0x2f4]
movzx ecx, word [0x1007f16c]
sub eax, ecx
mov dword [0x1007f140], eax
mov eax, dword [0x1007f1a4]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
push eax
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x50]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1002fb62
movzx eax, word [0x1007f1b8]
cdq
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x620], edx
mov eax, dword [0x1007f178]
cmp eax, dword [ebp - 0x624]
jne 0x1002fabe
mov ecx, dword [0x1007f17c]
cmp ecx, dword [ebp - 0x620]
je 0x1002fb62
cmp dword [0x1007f180], 0
jne 0x1002fadb
xor edx, edx
mov dword [ebp - 0x62c], 1
mov dword [ebp - 0x628], edx
jmp 0x1002fae6
xorps xmm0, xmm0
movlpd qword [ebp - 0x62c], xmm0
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x6bc], ecx
mov esi, dword [ebp - 0x62c]
sub esi, eax
movzx eax, word [0x1007f128]
cdq
add esi, eax
movzx eax, byte [0x1007f026]
cdq
mov ecx, dword [0x1007f138]
mov edi, dword [0x1007f13c]
sub ecx, eax
sbb edi, edx
movsx eax, word [ebp - 0x2c]
cdq
push edx
push eax
push edi
push ecx
call fcn.1005a1b0
add esi, eax
not esi
mov dword [ebp - 0x3c], esi
movzx eax, byte [ebp - 0x14]
cdq
sub eax, 0x979760e9
mov word [0x1007f1a8], ax
mov edx, dword [0x1007f1c0]
sub edx, 1
mov eax, dword [0x1007f1c4]
sbb eax, 0
mov dword [0x1007f1c0], edx
mov dword [0x1007f1c4], eax
mov ecx, dword [0x1007fc38]
mov dword [ebp - 0x108], ecx
mov edx, dword [str.FileDescription]
mov dword [ebp - 0x68c], edx
mov eax, dword [0x10067850]
mov dword [ebp - 0x688], eax
mov ecx, dword [0x10067854]
mov dword [ebp - 0x684], ecx
mov edx, dword [0x10067858]
mov dword [ebp - 0x680], edx
lea eax, [ebp - 0x68c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x1007f1c8], ax
mov ecx, dword [ebp - 0x108]
add ecx, 0x494
mov dword [ebp - 0x424], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x64]
mov dword [ebp - 0x634], edx
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x63c], ecx
mov dword [ebp - 0x638], esi
mov edx, dword [ebp - 0x634]
cmp edx, dword [ebp - 0x63c]
jne 0x1002fdba
mov eax, dword [ebp - 0x630]
cmp eax, dword [ebp - 0x638]
jne 0x1002fdba
push 0
movzx ecx, byte [0x1007f128]
push ecx
call fcn.10035170
add esp, 8
mov byte [0x1007f027], al
movzx edx, byte [0x1007f027]
test edx, edx
jl 0x1002fc38
mov dword [ebp - 0x290], 1
jmp 0x1002fc42
mov dword [ebp - 0x290], 0
movzx eax, byte [0x1007f027]
cmp eax, 0x21
jl 0x1002fc5a
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x1002fdd8
movzx eax, word [ebp - 0x1c]
not eax
test eax, eax
jne 0x1002fdd8
mov dword [ebp - 0x2a0], 0
jmp 0x1002fde2
mov dword [ebp - 0x2a0], 1
movzx ecx, word [0x1007f14c]
cmp ecx, dword [ebp - 0x2a0]
jg 0x1002fe61
movzx edx, word [ebp - 0x28]
test edx, edx
jne 0x1002fe0d
mov eax, 0xd048791a
test eax, eax
je 0x1002fe95
movzx eax, word [0x1007f168]
cmp eax, dword [0x1007f154]
jne 0x100301f0
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x664], eax
mov dword [ebp - 0x660], edx
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x660]
jb 0x100300d6
ja 0x100300ca
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0x664]
jb 0x100300d6
mov dword [ebp - 0x2ac], 1
jmp 0x100300e0
mov dword [ebp - 0x2ac], 0
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x66c], eax
mov dword [ebp - 0x668], ecx
cmp dword [ebp - 0x668], 0
jg 0x1003011a
jl 0x1003010e
cmp dword [ebp - 0x66c], 0xbc0e3355
ja 0x1003011a
mov dword [ebp - 0x2b0], 1
jmp 0x10030124
mov dword [ebp - 0x2b0], 0
mov edx, dword [ebp - 0x2ac]
cmp edx, dword [ebp - 0x2b0]
jl 0x1003013e
mov dword [ebp - 0x2bc], 1
jmp 0x10030148
mov dword [ebp - 0x2bc], 0
movzx eax, word [0x1007f1a0]
test eax, eax
jne 0x1003015f
mov dword [ebp - 0x2b8], 1
jmp 0x10030169
mov dword [ebp - 0x2b8], 0
movzx eax, word [0x1007f16c]
cdq
mov dword [ebp - 0x674], eax
mov dword [ebp - 0x670], edx
mov ecx, dword [ebp - 0x674]
cmp ecx, dword [ebp - 0x80]
jne 0x10030193
mov edx, dword [ebp - 0x670]
cmp edx, dword [ebp - 0x7c]
je 0x1003019f
mov dword [ebp - 0x2b4], 1
jmp 0x100301a9
mov dword [ebp - 0x2b4], 0
mov eax, dword [ebp - 0x2b4]
not eax
cmp dword [ebp - 0x2b8], eax
jge 0x100301c5
mov dword [ebp - 0x2c0], 1
jmp 0x100301cf
mov dword [ebp - 0x2c0], 0
mov ecx, dword [ebp - 0x2bc]
sub ecx, dword [ebp - 0x2c0]
jne 0x100301f0
mov edx, dword [0x1007f154]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x1007f16c], ax
movzx eax, word [ebp - 0x6c]
cmp eax, 0x422
jne 0x10030843
movsx ecx, word [0x1007f1a8]
test ecx, ecx
je 0x1003021e
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x3b0], edx
mov dword [ebp - 0x3ac], eax
jmp 0x10030230
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x3b0], ecx
mov dword [ebp - 0x3ac], edx
mov eax, dword [ebp - 0x3b0]
mov dword [ebp - 0x70], eax
movzx ecx, byte [0x1007f027]
movsx edx, word [ebp - 0x2c]
add ecx, edx
movzx eax, byte [0x1007f027]
add eax, ecx
mov byte [0x1007f027], al
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [0x1007f180]
jbe 0x1003026b
mov dword [ebp - 0x2c4], 1
jmp 0x10030275
mov dword [ebp - 0x2c4], 0
cmp dword [ebp - 0x34], 6
jle 0x10030287
mov dword [ebp - 0x2c8], 1
jmp 0x10030291
mov dword [ebp - 0x2c8], 0
mov edx, dword [ebp - 0x2c4]
cmp edx, dword [ebp - 0x2c8]
je 0x100302dc
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
mov dword [ebp - 0x6c8], ecx
add eax, 0xbb5b328c
mov dword [ebp - 0x34], eax
mov dl, byte [0x1007fc38]
mov byte [0x1007f027], dl
movzx eax, byte [0x1007f027]
movzx ecx, byte [0x1007f04e]
imul eax, ecx
mov byte [0x1007f027], al
jmp 0x1003033c
movsx edx, word [0x1007f148]
movzx eax, word [0x1007f168]
cmp edx, eax
jge 0x1003033c
mov ecx, dword [0x1007f120]
or ecx, dword [0x1007f124]
je 0x10030310
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x3b8], edx
mov dword [ebp - 0x3b4], eax
jmp 0x10030320
mov eax, dword [ebp - 0x70]
cdq
mov dword [ebp - 0x3b8], eax
mov dword [ebp - 0x3b4], edx
mov ecx, dword [ebp - 0x3b8]
mov dword [ebp - 0x3c], ecx
movzx eax, word [0x1007f1c8]
cdq
and eax, 0xd75c97d3
mov word [0x1007f1b8], ax
mov edx, dword [0x1007fc38]
mov dword [ebp - 0x110], edx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
xor ecx, ecx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], ecx
mov edx, dword [ebp - 0x80]
or edx, dword [ebp - 0x7c]
je 0x100303f9
mov dword [ebp - 0x10c], 0x26
movzx eax, byte [ebp - 0x15]
imul ecx, eax, 0xcc93
mov word [0x1007f1a8], cx
mov edx, dword [ebp - 0x74]
imul edx, dword [0x1007f1bc]
mov dword [0x1007f1bc], edx
movsx eax, word [0x1007f148]
cdq
push edx
push eax
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.1005a1b0
mov ecx, dword [ebp - 0x58]
sub ecx, eax
mov eax, dword [ebp - 0x54]
sbb eax, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], eax
mov cl, byte [ebp - 0x11]
sub cl, 1
mov byte [ebp - 0x11], cl
imul edx, dword [ebp - 0x70], 0x2556
movsx eax, byte [ebp - 0x11]
sub eax, edx
mov byte [ebp - 0x11], al
movzx ecx, word [ebp - 0x1c]
add ecx, 0xd227
mov word [0x1007f16c], cx
mov edx, dword [ebp - 0x10c]
add edx, 1
mov dword [ebp - 0x10c], edx
cmp dword [ebp - 0x10c], 0x25a4
jl 0x100303b4
mov eax, dword [ebp - 0x110]
add eax, 0x47e
mov dword [ebp - 0x428], eax
mov eax, dword [ebp - 0x38]
cdq
push edx
push eax
mov ecx, dword [0x1007f17c]
push ecx
mov edx, dword [0x1007f178]
push edx
call fcn.1005a1b0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
movzx eax, word [0x1007f1b8]
cdq
mov ecx, dword [0x1007f194]
sub eax, dword [0x1007f190]
sbb edx, ecx
mov ecx, dword [0x1007f180]
xor esi, esi
add ecx, dword [ebp - 0x80]
adc esi, dword [ebp - 0x7c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
mov edx, dword [ebp - 0x110]
add edx, 0x10a
mov dword [ebp - 0x6cc], edx
xor eax, eax
mov dword [0x1007f190], 3
mov dword [0x1007f194], eax
movzx ecx, word [0x1007f1c8]
mov edx, dword [0x1007f180]
sub edx, ecx
and edx, dword [0x1007f180]
mov dword [0x1007f180], edx
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
sub eax, 1
sbb ecx, 0
mov dword [0x1007f190], eax
mov dword [0x1007f194], ecx
imul edx, dword [ebp - 0x38], 0x19
mov dword [0x1007f140], edx
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x124], ecx
cmp dword [ebp - 0x124], 0
jl 0x100305c0
jg 0x100304fd
mov ecx, dword [ebp - 0x110]
add ecx, 0x2f0
mov dword [ebp - 0x42c], ecx
cmp dword [ebp - 0x74], 0
je 0x100305f3
mov dword [ebp - 0x114], 0
jmp 0x1003085e
mov ecx, dword [ebp - 0x114]
add ecx, 1
mov dword [ebp - 0x114], ecx
cmp dword [ebp - 0x114], 0xc6
jge 0x10030c5a
movzx edx, word [ebp - 0x1c]
cmp edx, dword [ebp - 0x78]
jl 0x10030883
mov dword [ebp - 0x2e0], 1
jmp 0x1003088d
mov dword [ebp - 0x2e0], 0
movzx eax, word [ebp - 0x1c]
cmp eax, 0x1e
jl 0x100308a2
mov dword [ebp - 0x28c], 1
jmp 0x100308ac
mov dword [ebp - 0x28c], 0
mov ecx, dword [ebp - 0x2e0]
cmp ecx, dword [ebp - 0x28c]
jle 0x10030b04
mov edx, dword [ebp - 0x3c]
xor eax, eax
push eax
push edx
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
movzx eax, word [0x1007f16c]
cdq
push edx
push eax
push 0
push 0
call fcn.10034db0
add esp, 0x20
mov dword [0x1007f140], eax
cmp dword [0x1007f140], 0
je 0x10030a73
xor eax, eax
mov dword [0x1007f1d0], 2
mov dword [0x1007f1d4], eax
mov ecx, dword [0x1007f1bc]
add ecx, 0x3e
xor edx, edx
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], edx
movzx eax, word [0x1007f128]
sub eax, 0x42
cdq
add eax, dword [0x1007f120]
adc edx, dword [0x1007f124]
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x120], eax
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x120]
or edx, dword [ebp - 0x11c]
je 0x10030995
cmp dword [ebp - 0x120], 1
jne 0x1003097a
cmp dword [ebp - 0x11c], 0
je 0x10030a14
cmp dword [ebp - 0x120], 2
jne 0x10030990
cmp dword [ebp - 0x11c], 0
je 0x10030a39
jmp 0x10030a6e
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x6d8], edx
add ecx, eax
movzx eax, word [0x1007f168]
movzx edx, byte [0x1007f026]
sub edx, dword [ebp - 0x70]
imul eax, edx
cdq
sub ecx, eax
mov word [0x1007f148], cx
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
add eax, 0xd87b7e17
adc ecx, 0x4c9bb
mov edx, dword [0x1007f160]
mov esi, dword [0x1007f164]
sub edx, eax
sbb esi, ecx
mov dword [0x1007f160], edx
mov dword [0x1007f164], esi
movzx eax, byte [0x1007f04e]
imul ecx, eax, 0xbd
mov word [0x1007f14c], cx
jmp 0x10030a6e
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x40]
add edx, dword [ebp - 0x44]
adc eax, ecx
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
mov edx, 0x56288
mov dword [ebp - 0x44], 0x853e586e
mov dword [ebp - 0x40], edx
jmp 0x10030a6e
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
add eax, 1
adc ecx, 0
mov dword [0x1007f138], eax
mov dword [0x1007f13c], ecx
mov eax, dword [0x1007f1a4]
cdq
mov ecx, eax
sub ecx, 0xd8102b91
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x10030aff
cmp dword [ebp - 0x74], 0
je 0x10030a9c
movzx edx, word [ebp - 0x28]
not edx
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0x24]
not eax
add eax, dword [0x1007f170]
imul eax, dword [0x1007f180]
mov word [ebp - 0x2c], ax
jmp 0x10030aff
movzx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], edx
mov ecx, dword [ebp - 0x67c]
cmp ecx, dword [0x1007f120]
jne 0x10030ad5
mov edx, dword [ebp - 0x678]
cmp edx, dword [0x1007f124]
jne 0x10030ad5
mov dword [ebp - 0x2e4], 1
jmp 0x10030adf
mov dword [ebp - 0x2e4], 0
mov eax, dword [ebp - 0x2e4]
not eax
test eax, eax
je 0x10030aff
movsx ecx, word [0x1007f15c]
imul edx, ecx, 0xd0
mov word [0x1007f128], dx
jmp 0x10030c4c
cmp dword [0x1007f154], 0
jne 0x10030b19
mov dword [ebp - 0x2e8], 1
jmp 0x10030b23
mov dword [ebp - 0x2e8], 0
mov eax, dword [0x1007f1a4]
cmp eax, dword [ebp - 0x2e8]
jg 0x10030bae
imul ecx, dword [0x1007f158], 0xb85f
xor edx, edx
mov dword [0x1007f188], ecx
mov dword [0x1007f18c], edx
cmp dword [0x1007f1a4], 0
je 0x10030b6a
mov eax, dword [0x1007f1b0]
mov ecx, dword [0x1007f1b4]
mov dword [ebp - 0x318], eax
mov dword [ebp - 0x314], ecx
jmp 0x10030b7c
mov edx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x318], edx
mov dword [ebp - 0x314], eax
mov ecx, dword [ebp - 0x318]
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
movzx eax, word [0x1007f16c]
imul ecx, eax, 0x1955
mov edx, dword [0x1007f180]
sub edx, ecx
mov dword [0x1007f180], edx
jmp 0x10030c4c
cmp dword [ebp - 0x70], 0
je 0x10030bfa
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0x563ff329
sbb edx, 0xc59fb
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [0x1007f188]
and eax, 0x917908cf
mov word [ebp - 0x2c], ax
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
push 0
push 0x173d
push edx
push ecx
call fcn.1005a1b0
mov word [0x1007f1a0], ax
jmp 0x10030c4c
movzx eax, word [0x1007f16c]
test eax, eax
jne 0x10030c11
mov dword [ebp - 0x2ec], 1
jmp 0x10030c1b
mov dword [ebp - 0x2ec], 0
movsx ecx, word [0x1007f148]
mov edx, dword [ebp - 0x2ec]
sub edx, ecx
jne 0x10030c4c
mov eax, dword [0x1007fc38]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov edx, dword [0x1007f144]
imul edx, dword [0x1007f170]
mov dword [0x1007f144], edx
mov eax, dword [ebp - 0x70]
add eax, 1
mov dword [ebp - 0x70], eax
jmp 0x1003084f
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret