Function at 0x100148a0
Capabilities:
Accept command line arguments
Identify system language via api
Terminate process

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x618
push ebx
push esi
push edi
mov al, byte [0x10044138]
mov byte [ebp - 0xb9], al
movzx ecx, byte [0x100440be]
mov dword [ebp - 0x44], ecx
movsx eax, byte [0x1004403b]
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov byte [ebp - 4], 0x1b
movsx edx, word [0x10044180]
mov dword [ebp - 0x28], edx
mov eax, dword [0x10044118]
mov byte [ebp - 1], al
xor ecx, ecx
mov dword [ebp - 0x60], 0xcc8017c8
mov dword [ebp - 0x5c], ecx
movsx dx, byte [0x100440fb]
mov word [ebp - 0xc], dx
mov eax, dword [0x10044190]
mov word [ebp - 0x10], ax
mov cx, word [0x100441b0]
mov byte [ebp - 2], cl
movzx eax, byte [0x1004409f]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x10044076]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, 0x619d
mov word [ebp - 0x14], dx
mov dword [ebp - 0x1c], 0xc9df
xor eax, eax
mov dword [ebp - 0x4c], 0x73c5ba70
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov dword [ebp - 0x58], 0xfe
mov dword [ebp - 0x54], ecx
mov dl, byte [0x100440d3]
mov byte [ebp - 6], dl
xor eax, eax
mov dword [ebp - 0x24], 0x52
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x18], 0x595bf7d1
mov cx, word [0x100441a0]
mov byte [ebp - 3], cl
mov byte [ebp - 5], 0xd7
mov dword [ebp - 0x5a8], 0xa1c0
mov eax, dword [0x10044168]
cdq
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
mov edx, 0xe3f4
mov word [ebp - 0x32c], dx
mov al, byte [0x1004419c]
mov byte [ebp - 0xcd], al
mov ecx, 0x42
mov word [ebp - 0x330], cx
mov dword [ebp - 0x5ac], 0x36
mov byte [ebp - 0xd5], 0xa4
mov dword [ebp - 0x5b0], 0x48716643
mov eax, dword [0x10044168]
cdq
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], edx
mov dword [ebp - 0x5b4], 0x840f
xor edx, edx
mov dword [ebp - 0x5f8], 0x2da4
mov dword [ebp - 0x5f4], edx
movsx ax, byte [0x1004409e]
mov word [ebp - 0x334], ax
mov ecx, 0x386a
mov word [ebp - 0x338], cx
mov eax, dword [0x10044170]
cdq
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
movzx eax, byte [0x100440d3]
cdq
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], edx
mov edx, dword [0x10044ca8]
xor eax, eax
mov dword [0x10044178], edx
mov dword [0x1004417c], eax
movzx ecx, byte [ebp - 6]
test ecx, ecx
jne 0x10014a6e
mov dword [ebp - 0x24c], 1
jmp 0x10014a78
mov dword [ebp - 0x24c], 0
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x24c]
not edx
movsx eax, byte [0x1004409e]
movzx ecx, byte [0x100440fa]
add eax, ecx
movzx ecx, byte [0x1004409f]
movzx esi, byte [ebp - 4]
xor ecx, esi
add eax, ecx
sub edx, eax
mov word [0x1004414c], dx
mov edx, dword [0x10044ca8]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], 0x53
mov byte [0x1004409e], 0xf7
movsx eax, word [0x1004419c]
test eax, eax
je 0x10014ae1
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x27c], ecx
mov dword [ebp - 0x278], edx
jmp 0x10014af3
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0x27c]
mov dword [0x10044190], edx
movsx eax, word [ebp - 0x10]
cdq
add eax, 0xf08083cc
adc edx, 0x7f49
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x74], 0x11
mov eax, dword [0x10044ca8]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x18]
imul ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
sub edx, ecx
mov dword [ebp - 0x18], edx
mov al, byte [ebp - 0x60]
mov byte [ebp - 5], al
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x74]
add ecx, 1
mov dword [ebp - 0x74], ecx
cmp dword [ebp - 0x74], 0xaa7
jl 0x10014b24
mov edx, dword [ebp - 0x78]
add edx, 1
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x78], 0x476
jl 0x10014b15
mov eax, dword [ebp - 0x7c]
add eax, 0x39b
mov dword [ebp - 0x5b8], eax
movsx ecx, word [ebp - 0x10]
sub ecx, 0x18
mov byte [ebp - 5], cl
mov edx, dword [ebp - 0x7c]
add edx, 0x6ee
mov dword [ebp - 0x5bc], edx
cmp dword [ebp - 0x18], 0
je 0x10014d3b
movzx eax, word [ebp - 0x14]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x10044110], eax
mov dword [0x10044114], ecx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
not ecx
not esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x340], eax
mov dword [ebp - 0x33c], edx
mov edx, dword [ebp - 0x340]
or edx, dword [ebp - 0x33c]
je 0x10014d1a
mov dword [ebp - 0x44], 1
mov eax, 4
imul ecx, eax, 0x29
movsx edx, byte [ebp - 3]
sub edx, dword [ecx + 0x101da820]
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0xc]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x30]
movzx eax, word [ebp - 0xc]
cdq
sub eax, ecx
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x5c0], eax
mov ecx, 0xda04
sub ecx, edx
mov word [0x1004410c], cx
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x250], edx
cmp dword [ebp - 0x250], 0
je 0x10014c61
cmp dword [ebp - 0x250], 1
je 0x10014cc1
jmp 0x10014d18
mov eax, dword [0x10044120]
sub eax, 0x2108
mov dword [0x1004411c], eax
mov eax, dword [ebp - 0x1c]
cdq
sub eax, 0xbc01c698
sbb edx, 0xe8cdb
mov dword [0x10044100], eax
mov dword [0x10044104], edx
mov ecx, dword [ebp - 0x30]
or ecx, dword [ebp - 0x2c]
je 0x10014ca4
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x284], eax
mov dword [ebp - 0x280], edx
jmp 0x10014cb6
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x284]
mov dword [ebp - 0x1c], ecx
jmp 0x10014d18
movzx edx, word [0x10044198]
sub edx, dword [0x1004416c]
mov word [0x10044198], dx
movsx eax, byte [0x1004403b]
test eax, eax
je 0x10014cf6
mov ecx, dword [0x10044120]
xor edx, edx
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x288], edx
jmp 0x10014d0d
mov eax, dword [0x10044110]
mov ecx, dword [0x10044114]
mov dword [ebp - 0x28c], eax
mov dword [ebp - 0x288], ecx
mov dx, word [ebp - 0x28c]
mov word [ebp - 0x14], dx
jmp 0x10014d3b
mov eax, 0x447
test eax, eax
je 0x10014d3b
movzx ecx, word [0x1004410c]
movzx edx, word [0x100441b0]
imul ecx, edx
mov word [0x1004410c], cx
mov eax, dword [ebp - 0x7c]
add eax, 0x4e1
mov dword [ebp - 0x14c], eax
mov ecx, dword [0x100441a8]
not ecx
mov edx, 0xbe250dba
sub edx, ecx
mov word [0x10044174], dx
mov eax, dword [0x10044ca8]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x80], 0
jmp 0x10014d7c
mov ecx, dword [ebp - 0x80]
add ecx, 1
mov dword [ebp - 0x80], ecx
cmp dword [ebp - 0x80], 0x23f
jge 0x10015101
movzx edx, word [0x1004410c]
cmp edx, dword [0x10044148]
jle 0x10015062
push 0x3a
push 0
push 0
movzx eax, byte [0x1004403b]
push eax
call fcn.1001cdc0
add esp, 0x10
movzx ecx, al
mov dword [0x10044184], ecx
cmp dword [0x10044184], 0
ja 0x10014e41
mov edx, dword [0x10044128]
mov eax, dword [0x1004412c]
mov dword [ebp - 0x348], edx
mov dword [ebp - 0x344], eax
mov ecx, dword [ebp - 0x348]
or ecx, dword [ebp - 0x344]
je 0x10014df8
movsx edx, byte [0x1004403a]
mov dword [ebp - 0x254], edx
jmp 0x10014e05
movzx eax, byte [0x1004409f]
mov dword [ebp - 0x254], eax
mov eax, dword [ebp - 0x254]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov cl, byte [0x10044130]
mov edx, 1
imul eax, edx, 0x1279
mov byte [eax + 0x101dad80], cl
movsx ecx, byte [0x1004404e]
add ecx, 0x450cfd7f
mov dword [0x10044108], ecx
jmp 0x1001505d
cmp dword [0x10044170], 0
jne 0x10014e5e
xor edx, edx
mov dword [ebp - 0x294], 1
mov dword [ebp - 0x290], edx
jmp 0x10014e69
xorps xmm0, xmm0
movlpd qword [ebp - 0x294], xmm0
mov eax, dword [0x100441a8]
cmp eax, dword [ebp - 0x294]
jne 0x10014eda
mov ecx, dword [0x100441ac]
cmp ecx, dword [ebp - 0x290]
jne 0x10014eda
imul edx, dword [0x1004416c], 0x1e
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
movzx ecx, byte [ebp - 4]
test ecx, ecx
je 0x10014eaf
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x26c], edx
mov dword [ebp - 0x268], eax
jmp 0x10014ec3
mov ecx, dword [0x10044164]
xor edx, edx
mov dword [ebp - 0x26c], ecx
mov dword [ebp - 0x268], edx
mov eax, dword [ebp - 0x26c]
mov ecx, dword [ebp - 0x268]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x1001505d
cmp dword [0x10044168], 0
je 0x10014ef7
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
jne 0x10014ef7
mov dword [ebp - 0x258], 0
jmp 0x10014f01
mov dword [ebp - 0x258], 1
movzx eax, byte [ebp - 1]
cmp eax, dword [ebp - 0x258]
jge 0x10014f19
mov dword [ebp - 0x25c], 1
jmp 0x10014f23
mov dword [ebp - 0x25c], 0
mov ecx, dword [ebp - 0x25c]
not ecx
test ecx, ecx
je 0x10014f76
mov edx, dword [0x10044108]
add edx, 0x8f
mov byte [0x100440be], dl
mov eax, dword [0x10044140]
or eax, dword [0x10044144]
je 0x10014f5b
mov cx, word [0x1004419c]
mov word [ebp - 0x66], cx
jmp 0x10014f66
mov dx, word [0x100440fc]
mov word [ebp - 0x66], dx
movsx eax, word [ebp - 0x66]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x1001505d
mov eax, dword [ebp - 0x60]
not eax
mov ecx, dword [ebp - 0x5c]
not ecx
mov dword [ebp - 0x350], eax
mov dword [ebp - 0x34c], ecx
cmp dword [ebp - 0x34c], 0xbdb44
jg 0x10014fb2
jl 0x10014fa6
cmp dword [ebp - 0x350], 0xaabc014a
jae 0x10014fb2
mov dword [ebp - 0x104], 1
jmp 0x10014fbc
mov dword [ebp - 0x104], 0
movsx edx, byte [0x1004403b]
test edx, edx
jne 0x10014fd3
mov dword [ebp - 0x264], 1
jmp 0x10014fdd
mov dword [ebp - 0x264], 0
movzx eax, byte [0x1004404f]
cmp eax, dword [ebp - 0x264]
jle 0x10014ff8
mov dword [ebp - 0x108], 1
jmp 0x10015002
mov dword [ebp - 0x108], 0
mov ecx, dword [ebp - 0x104]
imul ecx, dword [ebp - 0x108]
test ecx, ecx
je 0x1001505d
movsx edx, byte [ebp - 3]
imul eax, edx, 0xcc0c
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx eax, byte [ebp - 5]
test eax, eax
jne 0x10015038
mov dword [ebp - 0x10c], 1
jmp 0x10015042
mov dword [ebp - 0x10c], 0
mov ecx, dword [0x10044138]
not ecx
movsx eax, word [0x100440fc]
add eax, dword [ebp - 0x10c]
cdq
add ecx, eax
mov byte [ebp - 4], cl
jmp 0x100150f3
mov edx, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
je 0x100150f3
movzx eax, byte [ebp - 2]
test eax, eax
jne 0x100150f3
mov ecx, dword [0x10044128]
mov edx, dword [0x1004412c]
mov dword [ebp - 0x358], ecx
mov dword [ebp - 0x354], edx
mov eax, dword [ebp - 0x358]
or eax, dword [ebp - 0x354]
jne 0x100150f3
mov cl, byte [0x10044077]
sub cl, 1
mov byte [0x10044077], cl
cmp dword [ebp - 0x44], 0
je 0x100150c3
mov eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], edx
jmp 0x100150d5
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x29c], edx
mov dword [ebp - 0x298], eax
mov ecx, dword [ebp - 0x29c]
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x60]
add edx, 0x732fcdc2
mov eax, dword [ebp - 0x5c]
adc eax, 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x18]
add ecx, 1
mov dword [ebp - 0x18], ecx
jmp 0x10014d73
mov edx, dword [ebp - 0x84]
add edx, 0x4d5
mov dword [ebp - 0x308], edx
movzx eax, byte [ebp - 2]
cmp eax, dword [0x10044148]
jl 0x10015121
jmp 0x1001512c
movzx ecx, byte [ebp - 4]
movzx edx, byte [0x100440d3]
mov eax, dword [ebp - 0x84]
add eax, 0x526
mov dword [ebp - 0x30c], eax
mov ecx, dword [0x10044150]
mov edx, dword [0x10044154]
push edx
push ecx
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.10026530
push edx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.10026530
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x84]
add ecx, 0x5e2
mov dword [ebp - 0x5c4], ecx
mov edx, dword [ebp - 0x60]
add edx, 0xf3e4
mov eax, dword [ebp - 0x5c]
adc eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x10044ca8]
mov dword [ebp - 0x8c], ecx
movzx edx, word [0x1004418c]
test edx, edx
je 0x100151f2
movzx eax, word [0x1004414c]
test eax, eax
jne 0x100151c2
mov dword [ebp - 0x110], 1
jmp 0x100151cc
mov dword [ebp - 0x110], 0
movzx ecx, word [0x10044174]
movzx edx, byte [0x100440fa]
add ecx, edx
sub ecx, dword [ebp - 0x110]
mov dword [0x10044120], ecx
mov al, byte [0x10044130]
mov byte [ebp - 5], al
jmp 0x1001524e
mov ecx, 0x5973a48c
test ecx, ecx
je 0x10015213
movzx edx, byte [0x1004409f]
test edx, edx
je 0x10015213
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a4], xmm0
jmp 0x10015225
xor eax, eax
mov dword [ebp - 0x2a4], 1
mov dword [ebp - 0x2a0], eax
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x2a0]
jg 0x1001524e
jl 0x1001523d
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x2a4]
ja 0x1001524e
xor eax, eax
mov dword [0x10044128], 0x61
mov dword [0x1004412c], eax
mov ecx, dword [ebp - 0x8c]
add ecx, 0x3a4
mov dword [ebp - 0x1a8], ecx
movsx edx, word [ebp - 0x10]
test edx, edx
jne 0x10015274
mov dword [ebp - 0x114], 1
jmp 0x1001527e
mov dword [ebp - 0x114], 0
mov eax, dword [0x10044168]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x10044178]
sbb esi, dword [0x1004417c]
movzx eax, byte [ebp - 6]
cdq
mov edi, dword [ebp - 0x4c]
mov ebx, dword [ebp - 0x48]
sub edi, eax
sbb ebx, edx
sub ecx, edi
sbb esi, ebx
not ecx
not esi
movzx eax, byte [ebp - 1]
add eax, dword [ebp - 0x114]
cdq
mov edi, eax
mov ebx, edx
movsx eax, byte [0x1004403a]
cdq
add eax, dword [ebp - 0x24]
adc edx, dword [ebp - 0x20]
add edi, eax
adc ebx, edx
push ebx
push edi
push esi
push ecx
call fcn.10026530
mov word [ebp - 0x10], ax
mov edx, dword [ebp - 0x18]
mov dword [0x10044168], edx
mov eax, dword [ebp - 0x8c]
add eax, 0x43a
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x88], 0x182
jmp 0x1001530e
mov ecx, dword [ebp - 0x88]
sub ecx, 1
mov dword [ebp - 0x88], ecx
cmp dword [ebp - 0x88], 0
jle 0x10015366
movzx edx, byte [0x100440fa]
imul edx, dword [0x10044118]
movzx eax, byte [0x100440fa]
add eax, edx
mov byte [0x100440fa], al
mov dword [ebp - 0x28], 0xf764eced
movzx ecx, word [0x1004414c]
mov eax, dword [0x10044160]
imul eax, ecx
cdq
mov dword [0x10044178], eax
mov dword [0x1004417c], edx
mov dl, byte [0x10044077]
add dl, 1
mov byte [0x10044077], dl
jmp 0x100152ff
mov eax, dword [ebp - 0x8c]
add eax, 0x3c4
mov dword [ebp - 0x5c8], eax
cmp dword [0x10044118], 0
je 0x1001547a
cmp dword [0x10044118], 0
je 0x10015433
movzx ecx, word [ebp - 0x14]
movsx edx, word [0x100440fc]
cmp ecx, edx
jle 0x100153ac
mov dword [ebp - 0x118], 1
jmp 0x100153b6
mov dword [ebp - 0x118], 0
movzx eax, word [ebp - 0x14]
cmp eax, 0x2c
jle 0x100153cb
mov dword [ebp - 0x11c], 1
jmp 0x100153d5
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jl 0x100153e5
jmp 0x10015431
mov edx, dword [0x100441a8]
or edx, dword [0x100441ac]
je 0x100153fe
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x120], eax
jmp 0x1001540b
movzx ecx, word [0x10044198]
mov dword [ebp - 0x120], ecx
mov eax, dword [ebp - 0x120]
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov dl, byte [ebp - 3]
sub dl, 1
mov byte [ebp - 3], dl
mov eax, dword [0x10044118]
sub eax, dword [0x10044190]
mov dword [0x10044118], eax
jmp 0x10015478
movzx ecx, word [0x10044124]
test ecx, ecx
jne 0x10015447
cmp dword [0x10044170], 0
je 0x10015478
mov edx, dword [0x10044118]
mov eax, 2
imul ecx, eax, 0x5ffd
mov word [ecx + 0x10152260], dx
movzx edx, word [0x10044174]
imul eax, edx, 0xc3db
cdq
mov dword [0x10044100], eax
mov dword [0x10044104], edx
jmp 0x100154b1
mov eax, dword [ebp - 0x18]
cmp eax, dword [ebp - 0x28]
jb 0x100154b1
mov ecx, dword [0x10044190]
shl ecx, 8
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
movsx eax, word [0x100441a0]
movzx ecx, byte [ebp - 1]
imul eax, ecx
movsx edx, word [0x100441a0]
add edx, eax
mov word [0x100441a0], dx
mov eax, dword [0x10044ca8]
mov dword [ebp - 0x90], eax
xor ecx, ecx
mov dword [ebp - 0x30], 4
mov dword [ebp - 0x2c], ecx
movsx edx, byte [ebp - 5]
imul eax, edx, 0xab
mov dword [0x10044164], eax
movzx ecx, word [ebp - 0xc]
xor ecx, 0x3d0
mov byte [0x1004404e], cl
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0xf8], edx
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
jl 0x10015667
jg 0x10015515
cmp dword [ebp - 0xf8], 0
jb 0x10015667
cmp dword [ebp - 0xf4], 0
jg 0x10015667
jl 0x10015531
cmp dword [ebp - 0xf8], 4
ja 0x10015667
mov ecx, dword [ebp - 0xf8]
mov dword [ebp - 0x610], ecx
mov edx, dword [ebp - 0x610]
jmp dword [edx*4 + 0x10018e20]
mov ecx, dword [ebp - 0x90]
add ecx, 0x4ec
mov dword [ebp - 0xd4], ecx
movzx edx, byte [0x1004409f]
imul eax, edx, 0xf0255772
xor ecx, ecx
mov edx, dword [0x10044140]
sub edx, eax
mov eax, dword [0x10044144]
sbb eax, ecx
mov dword [0x10044140], edx
mov dword [0x10044144], eax
mov ecx, dword [ebp - 0x90]
add ecx, 0x3fe
mov dword [ebp - 0x1e4], ecx
mov edx, dword [ebp - 0x44]
cmp dword [0x10044188], edx
je 0x10015861
push 0
push 0
movzx eax, byte [ebp - 1]
cdq
push edx
push eax
call fcn.1001d0c0
add esp, 0x10
mov byte [ebp - 6], al
movzx eax, byte [ebp - 6]
test eax, eax
jne 0x100156ed
mov dword [ebp - 0x124], 1
jmp 0x100156f7
mov dword [ebp - 0x124], 0
movzx ecx, byte [ebp - 6]
cmp ecx, 0x2b
jne 0x1001570c
mov dword [ebp - 0x128], 1
jmp 0x10015716
mov dword [ebp - 0x128], 0
mov edx, dword [ebp - 0x124]
cmp edx, dword [ebp - 0x128]
je 0x100157fe
cmp dword [ebp - 0x28], 0
je 0x100157b7
movsx eax, byte [0x1004403b]
test eax, eax
jne 0x10015749
mov dword [ebp - 0x130], 1
jmp 0x10015753
mov dword [ebp - 0x130], 0
cmp dword [ebp - 0x1c], 0
jne 0x10015765
mov dword [ebp - 0x12c], 1
jmp 0x1001576f
mov dword [ebp - 0x12c], 0
mov ecx, 0x89a5937f
sub ecx, dword [ebp - 0x12c]
jne 0x10015788
mov dword [ebp - 0x134], 1
jmp 0x10015792
mov dword [ebp - 0x134], 0
mov edx, 0x20e6
sub edx, dword [ebp - 0x130]
add edx, dword [ebp - 0x134]
mov dword [0x10044118], edx
movzx eax, word [ebp - 0xc]
shl eax, 2
mov byte [0x1004404f], al
jmp 0x100157fc
movsx ecx, word [0x1004419c]
test ecx, ecx
jne 0x100157ce
mov dword [ebp - 0x138], 1
jmp 0x100157d8
mov dword [ebp - 0x138], 0
movsx edx, byte [ebp - 5]
mov eax, dword [ebp - 0x18]
sub eax, edx
mov ecx, dword [ebp - 0x138]
sub ecx, eax
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x28]
shl eax, 4
mov byte [0x10044076], al
jmp 0x1001585f
mov ecx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x20]
je 0x10015833
movsx edx, byte [0x1004404e]
shl edx, 3
mov word [0x100441a0], dx
push 0
push 0x420b5cb
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.10026530
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x1001585f
movsx edx, byte [0x1004404e]
test edx, edx
je 0x1001585f
xor eax, eax
mov dword [0x100441a8], 0x1eca
mov dword [0x100441ac], eax
movsx eax, word [0x1004419c]
cdq
xor eax, 0x70396bb7
mov dword [ebp - 0x1c], eax
jmp 0x1001588f
mov dword [ebp - 0x44], 0x47f24eb6
mov ecx, 0xd01
mov word [0x100441b0], cx
movzx edx, word [ebp - 0x14]
mov eax, dword [0x10044148]
imul eax, edx
cdq
mov ecx, 0xee
sub ecx, dword [ebp - 0x24]
sub eax, ecx
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0x90]
add edx, 0x451
mov dword [ebp - 0x5cc], edx
movzx eax, word [0x10044124]
add eax, 0xe5
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [0x10044ca8]
mov dword [ebp - 0x94], eax
push 0x10
push 0
movsx ecx, byte [ebp - 3]
push ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x5d0], eax
push edx
call fcn.1001d630
add esp, 0x10
mov byte [ebp - 2], al
movzx ecx, byte [ebp - 2]
test ecx, ecx
je 0x10015994
movzx edx, byte [0x100440d3]
cmp edx, dword [0x1004416c]
jne 0x10015907
mov dword [ebp - 0x13c], 1
jmp 0x10015911
mov dword [ebp - 0x13c], 0
movzx eax, byte [0x100440d3]
cmp eax, 0x1e
jne 0x10015929
mov dword [ebp - 0x140], 1
jmp 0x10015933
mov dword [ebp - 0x140], 0
mov ecx, dword [ebp - 0x13c]
cmp ecx, dword [ebp - 0x140]
jl 0x1001595a
mov edx, 1
imul eax, edx, 0x4146
mov cl, byte [0x1004403b]
mov byte [eax + 0x101d2888], cl
jmp 0x10015992
mov edx, dword [ebp - 0x30]
sub edx, 0x8b295b57
mov eax, dword [ebp - 0x2c]
sbb eax, 0x60c72
mov dword [ebp - 0x30], edx
mov dword [ebp - 0x2c], eax
movzx ecx, byte [0x100440fa]
mov edx, dword [0x10044118]
sub edx, ecx
mov dword [0x10044118], edx
mov al, byte [0x100440fa]
add al, 1
mov byte [0x100440fa], al
jmp 0x100159ae
movzx eax, word [0x100441b0]
sub eax, 0x3fd
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov byte [0x10044076], 0x6c
mov ecx, dword [ebp - 0x94]
add ecx, 0x672
mov dword [ebp - 0x1fc], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x360], edx
mov dword [ebp - 0x35c], eax
mov ecx, dword [ebp - 0x360]
or ecx, dword [ebp - 0x35c]
je 0x10015a05
mov edx, 2
imul eax, edx, 0xd
mov cx, word [ebp - 0x10]
mov word [eax + 0x100fec00], cx
mov edx, dword [0x10044118]
sub edx, 0x8f96
mov byte [0x1004404d], dl
mov eax, dword [ebp - 0x94]
add eax, 0x4ec
mov dword [ebp - 0x5d4], eax
mov cx, word [0x10044ca8]
mov word [0x1004418c], cx
movzx eax, word [0x10044174]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x5d8], eax
add ecx, edx
movzx eax, word [0x10044174]
cdq
add eax, ecx
mov word [0x10044174], ax
mov ecx, dword [ebp - 0x94]
add ecx, 0x43c
mov dword [ebp - 0x31c], ecx
call dword [sym.imp.USER32.dll_GetMessagePos]
xor edx, edx
mov dword [0x100441a8], eax
mov dword [0x100441ac], edx
mov eax, dword [0x10044ca8]
mov dword [ebp - 0x98], eax
xor ecx, ecx
mov dword [ebp - 0x40], 2
mov dword [ebp - 0x3c], ecx
movsx edx, byte [0x1004404e]
xor edx, dword [0x10044118]
movsx eax, byte [0x1004404e]
sub eax, edx
mov byte [0x1004404e], al
mov ecx, dword [0x10044118]
imul ecx, dword [0x1004411c]
mov dword [0x10044118], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xf0], edx
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0xf0]
or ecx, dword [ebp - 0xec]
je 0x10015b03
cmp dword [ebp - 0xf0], 1
jne 0x10015ae8
cmp dword [ebp - 0xec], 0
je 0x10015b46
cmp dword [ebp - 0xf0], 2
jne 0x10015afe
cmp dword [ebp - 0xec], 0
je 0x10015bbd
jmp 0x10015bf3
movsx eax, word [0x10044180]
cdq
sub eax, 0x6bef38da
mov byte [0x100440fb], al
mov edx, 0x482f
mov word [0x10044198], dx
movzx eax, byte [ebp - 6]
cdq
add eax, dword [ebp - 0x30]
adc edx, dword [ebp - 0x2c]
push edx
push eax
mov eax, dword [ebp - 0x2c]
push eax
mov ecx, dword [ebp - 0x30]
push ecx
call fcn.10026530
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
jmp 0x10015bf3
mov ecx, dword [ebp - 0x30]
add ecx, 0x7da5
movsx eax, byte [ebp - 5]
cdq
sub eax, ecx
mov byte [ebp - 5], al
mov edx, dword [0x10044100]
mov eax, dword [0x10044104]
mov dword [ebp - 0x368], edx
mov dword [ebp - 0x364], eax
mov ecx, dword [ebp - 0x368]
or ecx, dword [ebp - 0x364]
je 0x10015b92
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x274], edx
mov dword [ebp - 0x270], eax
jmp 0x10015ba4
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x274], ecx
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x274]
mov ecx, dword [ebp - 0x270]
mov dword [0x10044128], eax
mov dword [0x1004412c], ecx
jmp 0x10015bf3
mov edx, 2
mov word [ebp - 0x10], dx
movsx eax, byte [0x100440fb]
sar eax, 3
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movsx eax, byte [0x10044077]
not eax
mov ecx, dword [0x10044194]
not ecx
sub eax, ecx
add eax, dword [0x10044140]
mov byte [ebp - 1], al
mov edx, dword [ebp - 0x98]
add edx, 0x3f6
mov dword [ebp - 0x5dc], edx
movzx eax, byte [ebp - 2]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x10044100], eax
mov dword [0x10044104], ecx
mov edx, dword [ebp - 0x98]
add edx, 0x54f
mov dword [ebp - 0x320], edx
xor eax, eax
mov dword [ebp - 0x24], 4
mov dword [ebp - 0x20], eax
mov ecx, 2
mov word [ebp - 0x14], cx
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x20]
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xfc], eax
cmp dword [ebp - 0xfc], 0
jl 0x10015dd9
jg 0x10015c72
cmp dword [ebp - 0x100], 0
jb 0x10015dd9
cmp dword [ebp - 0xfc], 0
jg 0x10015dd9
jl 0x10015c8e
cmp dword [ebp - 0x100], 4
ja 0x10015dd9
mov ecx, dword [ebp - 0x100]
mov dword [ebp - 0x618], ecx
mov edx, dword [ebp - 0x618]
jmp dword [edx*4 + 0x10018e34]
mov edx, dword [ebp - 0x98]
add edx, 0x3ea
mov dword [ebp - 0xe4], edx
movsx eax, byte [0x10044076]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x390], ecx
mov dword [ebp - 0x38c], esi
mov edx, dword [ebp - 0x384]
cmp edx, dword [ebp - 0x38c]
jb 0x10015e3b
ja 0x10015e2f
mov eax, dword [ebp - 0x388]
cmp eax, dword [ebp - 0x390]
jb 0x10015e3b
mov dword [ebp - 0x144], 1
jmp 0x10015e45
mov dword [ebp - 0x144], 0
movsx ecx, byte [0x10044076]
cmp ecx, 0x20
jl 0x10015e5d
mov dword [ebp - 0x148], 1
jmp 0x10015e67
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x144]
cmp edx, dword [ebp - 0x148]
jl 0x10015e77
jmp 0x10015e94
movsx eax, byte [0x1004403a]
test eax, eax
je 0x10015e94
xor ecx, ecx
mov dword [0x10044100], 0xbb
mov dword [0x10044104], ecx
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultUILanguage]
mov word [ebp - 0x50], ax
movsx eax, byte [0x100440fb]
imul eax, dword [ebp - 0x1c]
cdq
mov ecx, dword [0x1004417c]
push ecx
mov ecx, dword [0x10044178]
push ecx
push edx
push eax
call fcn.10026530
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x14c]
cmp dword [ebp - 0x14c], edx
jne 0x10018a82
movsx eax, byte [ebp - 3]
test eax, eax
je 0x1001607b
mov ecx, dword [ebp - 0x18]
xor edx, edx
mov dword [ebp - 0x398], ecx
mov dword [ebp - 0x394], edx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x394]
jl 0x10015f18
jg 0x10015f0c
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x398]
jbe 0x10015f18
mov dword [ebp - 0x150], 1
jmp 0x10015f22
mov dword [ebp - 0x150], 0
cmp dword [ebp - 0x5c], 0
jl 0x10015f3c
jg 0x10015f30
cmp dword [ebp - 0x60], 0x18
jbe 0x10015f3c
mov dword [ebp - 0x154], 1
jmp 0x10015f46
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x150]
cmp edx, dword [ebp - 0x154]
jg 0x1001602e
cmp dword [0x10044170], 0
jne 0x10015f76
mov eax, 0x9c50eaa3
test eax, eax
jne 0x10015f76
mov dword [ebp - 0x158], 0
jmp 0x10015f80
mov dword [ebp - 0x158], 1
mov ecx, dword [0x10044164]
xor edx, edx
mov dword [ebp - 0x3a0], ecx
mov dword [ebp - 0x39c], edx
mov eax, dword [ebp - 0x3a0]
cmp eax, dword [ebp - 0x60]
jne 0x10015faa
mov ecx, dword [ebp - 0x39c]
cmp ecx, dword [ebp - 0x5c]
je 0x10015fb6
mov dword [ebp - 0x15c], 1
jmp 0x10015fc0
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x158]
cmp edx, dword [ebp - 0x15c]
jle 0x10015ff5
movzx eax, byte [ebp - 4]
add eax, 0x12f9b5ba
mov dword [0x10044164], eax
imul ecx, dword [ebp - 0x18], 0xb7
mov word [0x10044180], cx
mov edx, 0x56a1
mov word [ebp - 0xc], dx
jmp 0x1001602c
mov eax, 0xffffcae7
test eax, eax
je 0x1001602c
movzx eax, word [0x1004418c]
cdq
sub eax, 0x81f1805d
mov word [0x10044174], ax
mov ecx, dword [0x10044100]
mov edx, dword [0x10044104]
add ecx, 0x20b20d20
adc edx, 0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
jmp 0x10016079
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.10026530
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
mov edx, 4
imul eax, edx, 0x37
movsx ecx, byte [0x1004404d]
imul ecx, dword [eax + 0x10259a40]
mov byte [0x1004404d], cl
mov dx, word [0x10044198]
mov word [ebp - 0xc], dx
jmp 0x100160e2
movzx eax, word [0x1004410c]
test eax, eax
jle 0x10016092
mov dword [ebp - 0x160], 1
jmp 0x1001609c
mov dword [ebp - 0x160], 0
mov ecx, dword [ebp - 0x160]
not ecx
cmp ecx, dword [ebp - 0x1c]
jle 0x100160b5
mov dword [ebp - 0x164], 1
jmp 0x100160bf
mov dword [ebp - 0x164], 0
mov edx, dword [ebp - 0x164]
not edx
test edx, edx
je 0x100160e2
movzx eax, byte [ebp - 1]
movzx ecx, byte [0x1004404f]
imul eax, ecx
movzx edx, byte [ebp - 1]
or edx, eax
mov byte [ebp - 1], dl
movzx eax, byte [0x100440fa]
cdq
sub eax, 0x8c880317
sbb edx, 0x217e
mov dword [ebp - 0x3a8], eax
mov dword [ebp - 0x3a4], edx
mov eax, dword [ebp - 0x3a8]
or eax, dword [ebp - 0x3a4]
jne 0x10016126
movzx ecx, word [0x10044124]
test ecx, ecx
jne 0x10016126
mov dword [ebp - 0x168], 0
jmp 0x10016130
mov dword [ebp - 0x168], 1
movsx edx, byte [0x1004403b]
test edx, edx
jne 0x10016150
mov eax, 1
test eax, eax
jne 0x10016150
mov dword [ebp - 0x16c], 0
jmp 0x1001615a
mov dword [ebp - 0x16c], 1
mov ecx, dword [ebp - 0x168]
cmp ecx, dword [ebp - 0x16c]
jg 0x100161b8
movsx edx, byte [ebp - 5]
imul eax, edx, 0x8d17e27d
movzx ecx, word [ebp - 0xc]
sub ecx, eax
mov word [ebp - 0xc], cx
movzx edx, word [ebp - 0x14]
imul eax, edx, 0x5aedce34
movzx ecx, byte [ebp - 6]
add ecx, eax
mov byte [ebp - 6], cl
movsx eax, byte [0x1004404e]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x548], eax
not edx
add ecx, edx
movzx eax, byte [ebp - 4]
cdq
sub ecx, eax
mov dword [0x10044148], ecx
jmp 0x10016213
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x10044158]
sub ecx, eax
mov eax, dword [0x1004415c]
sbb eax, edx
mov dword [0x10044158], ecx
mov dword [0x1004415c], eax
movzx eax, word [0x1004414c]
cdq
mov ecx, dword [0x10044134]
push ecx
mov ecx, dword [0x10044130]
push ecx
push edx
push eax
call fcn.10026530
mov ecx, eax
movzx eax, word [0x1004414c]
cdq
sub eax, ecx
mov word [0x1004414c], ax
movzx edx, byte [ebp - 6]
movzx eax, word [ebp - 0xc]
imul edx, eax
mov byte [ebp - 6], dl
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x42b
jne 0x10016275
mov edx, 1
mov word [0x1004414c], dx
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x54c], edx
sub eax, ecx
mov word [0x10044198], ax
movzx eax, word [0x10044124]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], esi
movzx edx, byte [ebp - 1]
imul eax, edx, 0x9e
mov dword [0x10044120], eax
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov byte [ebp - 1], 3
movzx ecx, byte [ebp - 1]
sub ecx, 0x6ca4f3e6
xor edx, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
movzx eax, byte [ebp - 1]
mov dword [ebp - 0x170], eax
cmp dword [ebp - 0x170], 3
ja case.default.0x100162a8
mov ecx, dword [ebp - 0x170]
jmp dword [ecx*4 + 0x10018e48]
movzx edx, byte [0x1004404f]
and edx, dword [ebp - 0x44]
movzx eax, byte [0x1004404f]
add eax, edx
mov byte [0x1004404f], al
mov byte [ebp - 5], 0xb1
jmp case.default.0x100162a8
xor ecx, ecx
mov dword [ebp - 0x38], 0x428e
mov dword [ebp - 0x34], ecx
movzx edx, word [0x1004414c]
sar edx, 7
mov dword [0x1004416c], edx
jmp case.default.0x100162a8
imul eax, dword [ebp - 0x1c], 0xf2da8c7f
mov byte [ebp - 1], al
mov ecx, 8
imul edx, ecx, 0x494d
mov eax, dword [0x10044178]
sub eax, dword [edx + 0x100fee28]
mov ecx, dword [0x1004417c]
sbb ecx, dword [edx + 0x100fee2c]
mov dword [0x10044178], eax
mov dword [0x1004417c], ecx
jmp case.default.0x100162a8
movsx eax, word [ebp - 0x10]
cdq
sub eax, 0xbd1ed54b
sbb edx, 0xe29c9
or eax, dword [0x10044110]
or edx, dword [0x10044114]
mov dword [0x10044110], eax
mov dword [0x10044114], edx
mov edx, dword [ebp - 0x308]
cmp dword [ebp - 0x30c], edx
je 0x10018a82
mov eax, dword [ebp - 0x1c]
not eax
cdq
mov ecx, 0x9146344e
sub ecx, eax
mov eax, 0x16a46
sbb eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
movzx eax, byte [0x100440be]
sub eax, 0x24
cdq
mov dword [0x10044130], eax
mov dword [0x10044134], edx
xor ecx, ecx
mov dword [ebp - 0x4c], 0xf9d370f3
mov dword [ebp - 0x48], ecx
mov eax, dword [0x10044160]
cdq
mov ecx, dword [ebp - 0x4c]
mov esi, dword [ebp - 0x48]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
sub edx, ecx
sbb eax, esi
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movzx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x10044150]
mov edx, dword [0x10044154]
mov dword [ebp - 0x550], edx
xor ecx, eax
mov eax, dword [ebp - 0x28]
not eax
mov edx, dword [ebp - 0x44]
xor eax, edx
cdq
sub ecx, eax
mov eax, dword [ebp - 0x30]
sub eax, ecx
mov byte [0x100440fb], al
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x42c
je 0x10016405
movzx edx, word [ebp - 0x50]
cmp edx, 0x82c
jne 0x100165dd
movzx eax, word [0x100441b0]
test eax, eax
je 0x10016424
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x2b4], ecx
mov dword [ebp - 0x2b0], edx
jmp 0x10016434
mov eax, dword [ebp - 0x1c]
cdq
mov dword [ebp - 0x2b4], eax
mov dword [ebp - 0x2b0], edx
mov eax, dword [ebp - 0x2b4]
mov dword [0x1004416c], eax
movzx ecx, byte [0x100440d3]
sub ecx, dword [0x10044190]
mov eax, dword [ebp - 0x28]
cdq
sub eax, 0x4c18638e
sub ecx, eax
mov word [0x1004410c], cx
movsx eax, byte [0x1004403b]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x3b0], eax
mov dword [ebp - 0x3ac], edx
mov dword [ebp - 0x3b8], ecx
mov dword [ebp - 0x3b4], esi
mov edx, dword [ebp - 0x3b0]
cmp edx, dword [ebp - 0x3b8]
jne 0x100165aa
mov eax, dword [ebp - 0x3ac]
cmp eax, dword [ebp - 0x3b4]
jne 0x100165aa
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 0
je 0x10016518
movsx ecx, byte [0x1004403b]
test ecx, ecx
je 0x100164d6
imul edx, dword [0x10044164], 0xf9
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
jmp 0x10016513
mov ecx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x20]
je 0x10016513
cmp dword [0x10044108], 0
je 0x100164ef
mov dl, byte [ebp - 1]
mov byte [ebp - 0x63], dl
jmp 0x100164f5
mov al, byte [ebp - 2]
mov byte [ebp - 0x63], al
movzx eax, byte [ebp - 0x63]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx ecx, word [0x100441b0]
sub ecx, 0xc9
mov dword [0x1004411c], ecx
jmp 0x100165a8
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov ecx, dword [0x10044184]
xor esi, esi
mov dword [ebp - 0x3c0], edx
mov dword [ebp - 0x3bc], eax
mov dword [ebp - 0x3c8], ecx
mov dword [ebp - 0x3c4], esi
mov edx, dword [ebp - 0x3bc]
cmp edx, dword [ebp - 0x3c4]
ja 0x10016568
jb 0x1001655c
mov eax, dword [ebp - 0x3c0]
cmp eax, dword [ebp - 0x3c8]
jae 0x10016568
mov dword [ebp - 0x174], 1
jmp 0x10016572
mov dword [ebp - 0x174], 0
movsx ecx, byte [0x100440bf]
not ecx
cmp ecx, dword [ebp - 0x174]
jne 0x100165a8
movzx edx, byte [0x100440d3]
imul eax, edx, 0x85
mov ecx, dword [ebp - 0x1c]
imul ecx, eax
mov dword [ebp - 0x1c], ecx
mov edx, dword [0x10044108]
sub edx, 1
mov dword [0x10044108], edx
jmp 0x100165d3
movsx eax, byte [0x100440bf]
test eax, eax
je 0x100165d3
mov dword [ebp - 0x28], 0xb2465e75
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
push 0
push 0xf2f4c298
push edx
push ecx
call fcn.10026530
mov byte [ebp - 3], al
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
imul eax, dword [0x10044108], 0x72
mov ecx, dword [ebp - 0x18]
add ecx, eax
mov dword [ebp - 0x18], ecx
mov dl, byte [0x10044ca8]
mov byte [ebp - 3], dl
movzx eax, word [ebp - 0x50]
cmp eax, 0x423
jne 0x100167ab
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x3d0], eax
mov dword [ebp - 0x3cc], edx
mov ecx, dword [0x10044134]
cmp ecx, dword [ebp - 0x3cc]
jl 0x1001663f
jg 0x10016633
mov edx, dword [0x10044130]
cmp edx, dword [ebp - 0x3d0]
jbe 0x1001663f
mov dword [ebp - 0x178], 1
jmp 0x10016649
mov dword [ebp - 0x178], 0
cmp dword [0x10044134], 0
jl 0x10016669
jg 0x1001665d
cmp dword [0x10044130], 0xf
jbe 0x10016669
mov dword [ebp - 0x17c], 1
jmp 0x10016673
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp - 0x178]
cmp eax, dword [ebp - 0x17c]
jl 0x100166be
mov dword [ebp - 0x9c], 0
jmp 0x1001669c
mov ecx, dword [ebp - 0x9c]
add ecx, 1
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0x9c], 0x234
jge 0x100166bc
mov edx, dword [ebp - 0x24]
add edx, 1
mov eax, dword [ebp - 0x20]
adc eax, 0
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
jmp 0x1001668d
jmp 0x10016711
movzx ecx, byte [0x100440d3]
movzx edx, word [ebp - 0xc]
cmp ecx, edx
jl 0x10016711
movsx eax, byte [0x10044076]
sub eax, dword [0x10044118]
mov byte [0x10044076], al
mov ecx, dword [ebp - 0x18]
xor edx, edx
push 0xe874e
push 0xb240772f
push edx
push ecx
call fcn.10026530
mov ecx, eax
movzx eax, byte [ebp - 4]
cdq
add eax, ecx
mov byte [ebp - 4], al
mov edx, dword [ebp - 0x60]
not edx
mov eax, dword [ebp - 0x5c]
not eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movsx ecx, byte [0x1004404d]
test ecx, ecx
je 0x1001675d
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x70], eax
cmp dword [ebp - 0x70], 0
je 0x1001675b
mov edx, dword [ebp - 0x70]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x554], eax
mov eax, dword [ebp - 0x70]
push eax
call dword [sym.imp.USER32.dll_IsWindowVisible]
mov dword [ebp - 0x558], eax
mov ecx, dword [ebp - 0x70]
push ecx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x55c], eax
jmp 0x100167a1
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x560], eax
and edx, 0x13
mov byte [0x100440d3], dl
mov ecx, dword [0x10044160]
sub ecx, dword [0x10044120]
movsx edx, word [0x100441a0]
sub edx, dword [0x10044160]
not edx
add ecx, edx
mov eax, dword [ebp - 0x44]
add eax, ecx
xor ecx, ecx
mov dword [0x10044128], eax
mov dword [0x1004412c], ecx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
movzx edx, word [ebp - 0xc]
movsx eax, byte [0x1004404d]
sub edx, eax
movzx ecx, word [ebp - 0xc]
add ecx, edx
mov word [ebp - 0xc], cx
movzx edx, word [ebp - 0x50]
cmp edx, 0x43f
jne 0x10016aed
movzx eax, word [0x10044124]
cdq
mov dword [ebp - 0x3d8], eax
mov dword [ebp - 0x3d4], edx
mov eax, dword [ebp - 0x3d8]
cmp eax, dword [0x10044178]
jne 0x1001680e
mov ecx, dword [ebp - 0x3d4]
cmp ecx, dword [0x1004417c]
jne 0x1001680e
mov dword [ebp - 0x180], 1
jmp 0x10016818
mov dword [ebp - 0x180], 0
movsx edx, word [0x10044180]
mov eax, dword [ebp - 0x28]
sub eax, edx
cmp eax, dword [ebp - 0x180]
je 0x1001687d
mov ecx, dword [0x10044194]
add ecx, dword [0x10044164]
mov edx, dword [ebp - 0x18]
add edx, ecx
jne 0x10016845
mov byte [ebp - 0x62], 1
jmp 0x10016849
mov byte [ebp - 0x62], 0
mov al, byte [ebp - 0x62]
mov byte [0x1004403a], al
movzx ecx, byte [ebp - 2]
add ecx, 0x13
mov word [0x10044180], cx
movsx edx, word [0x1004419c]
sub edx, dword [0x1004416c]
movzx eax, word [ebp - 0x14]
mov ecx, dword [0x10044118]
or ecx, eax
sub edx, ecx
mov byte [ebp - 1], dl
movsx edx, word [0x1004419c]
test edx, edx
je 0x100168b9
mov eax, dword [0x10044100]
mov ecx, dword [0x10044104]
mov dword [ebp - 0x3e0], eax
mov dword [ebp - 0x3dc], ecx
mov edx, dword [ebp - 0x3e0]
or edx, dword [ebp - 0x3dc]
je 0x100168b9
mov dword [ebp - 0x184], 1
jmp 0x100168c3
mov dword [ebp - 0x184], 0
movzx eax, byte [0x100440be]
mov ecx, dword [ebp - 0x184]
not ecx
cmp eax, ecx
jl 0x100168e5
movzx edx, word [0x1004418c]
test edx, edx
jne 0x10016ac4
movsx eax, word [0x1004419c]
cdq
mov dword [ebp - 0x3e8], eax
mov dword [ebp - 0x3e4], edx
mov eax, dword [ebp - 0x2c]
cmp eax, dword [ebp - 0x3e4]
jl 0x1001691d
jg 0x10016911
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x3e8]
jbe 0x1001691d
mov dword [ebp - 0x18c], 1
jmp 0x10016927
mov dword [ebp - 0x18c], 0
movzx edx, word [0x1004418c]
test edx, edx
jne 0x1001693e
mov dword [ebp - 0x188], 1
jmp 0x10016948
mov dword [ebp - 0x188], 0
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x188], eax
jb 0x1001695f
mov dword [ebp - 0x190], 1
jmp 0x10016969
mov dword [ebp - 0x190], 0
mov ecx, dword [ebp - 0x18c]
cmp ecx, dword [ebp - 0x190]
je 0x10016a96
mov dword [ebp - 0xa0], 0xf9a
mov edx, dword [0x10044ca8]
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x10044100]
mov edx, dword [0x10044104]
mov dword [ebp - 0x564], edx
add ecx, 0x1bdf
mov byte [ebp - 2], cl
cmp dword [ebp - 0xa0], 0xef7
jle 0x10016a94
movzx eax, byte [ebp - 4]
imul eax, dword [ebp - 0x1c]
mov byte [ebp - 4], al
movsx eax, word [0x100440fc]
cdq
sub eax, 0x148aa373
sbb edx, 0xb10eb
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
push edx
push eax
call fcn.10026530
mov dword [ebp - 0x3f0], eax
mov dword [ebp - 0x3ec], edx
mov edx, dword [ebp - 0x3f0]
or edx, dword [ebp - 0x3ec]
jne 0x10016a23
xor eax, eax
mov dword [ebp - 0x2bc], 1
mov dword [ebp - 0x2b8], eax
jmp 0x10016a2e
xorps xmm0, xmm0
movlpd qword [ebp - 0x2bc], xmm0
mov ecx, dword [ebp - 0x18]
not ecx
xor edx, edx
sub ecx, dword [ebp - 0x24]
sbb edx, dword [ebp - 0x20]
push edx
push ecx
mov eax, dword [ebp - 0x2b8]
push eax
mov ecx, dword [ebp - 0x2bc]
push ecx
call fcn.10026530
mov ebx, eax
mov ecx, dword [0x10044118]
add ecx, dword [0x10044194]
xor esi, esi
mov eax, dword [ebp - 0x1c]
cdq
and eax, 0x79767d04
and edx, 0xbc3af
push edx
push eax
push esi
push ecx
call fcn.10026530
sub ebx, eax
mov byte [0x100440bf], bl
mov edx, dword [ebp - 0xa0]
sub edx, 1
mov dword [ebp - 0xa0], edx
jmp 0x100169ae
jmp 0x10016ac2
cmp dword [0x10044184], 0
je 0x10016ac2
movzx eax, word [ebp - 0xc]
xor eax, 0xcc8f
mov word [0x100441a0], ax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x34]
sub ecx, dword [ebp - 0x38]
sbb edx, eax
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
jmp 0x10016ae0
movzx eax, word [0x10044174]
cdq
push 0x7ed47
push 0x64996559
push edx
push eax
call fcn.10026530
mov byte [ebp - 3], al
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
movzx eax, word [ebp - 0xc]
cdq
or eax, dword [ebp - 0x30]
or edx, dword [ebp - 0x2c]
not eax
not edx
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], edx
mov ecx, dword [ebp - 0x3f8]
or ecx, dword [ebp - 0x3f4]
jne 0x10016b29
movzx edx, byte [ebp - 4]
test edx, edx
je 0x10016b41
movsx eax, word [0x100441a0]
test eax, eax
je 0x10016b41
mov ecx, 4
imul edx, ecx, 0x19
mov eax, dword [edx + 0x102595e8]
mov dword [0x10044170], eax
jmp 0x10016c15
movsx ecx, word [0x10044180]
test ecx, ecx
jne 0x10016b60
xor edx, edx
mov dword [ebp - 0x2c4], 1
mov dword [ebp - 0x2c0], edx
jmp 0x10016b6b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c4], xmm0
mov eax, dword [0x100441a8]
cmp eax, dword [ebp - 0x2c4]
jne 0x10016b92
mov ecx, dword [0x100441ac]
cmp ecx, dword [ebp - 0x2c0]
jne 0x10016b92
mov dword [ebp - 0x194], 1
jmp 0x10016b9c
mov dword [ebp - 0x194], 0
cmp dword [ebp - 0x194], 0xd914
jge 0x10016bdb
movzx eax, word [0x10044174]
add eax, 0x5ebd105d
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
movzx eax, word [0x1004418c]
cdq
and eax, 0xe789d4a3
and edx, 0x3d687
mov dword [0x10044128], eax
mov dword [0x1004412c], edx
jmp 0x10016c15
movsx edx, byte [ebp - 5]
test edx, edx
je 0x10016c15
cmp dword [ebp - 0x18], 0
jne 0x10016c15
movzx eax, byte [ebp - 4]
movsx ecx, byte [ebp - 3]
not ecx
add eax, ecx
mov edx, dword [0x10044170]
sub edx, eax
movzx eax, word [0x1004410c]
add eax, dword [0x10044120]
not eax
imul edx, eax
mov byte [0x1004409e], dl
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x440
jne 0x10016e18
mov edx, dword [0x10044130]
cmp edx, dword [0x10044178]
jne 0x10016c97
mov eax, dword [0x10044134]
cmp eax, dword [0x1004417c]
jne 0x10016c97
movsx ecx, byte [0x100440fb]
sub ecx, dword [0x1004416c]
mov byte [0x100440fb], cl
movzx edx, word [ebp - 0x14]
test edx, edx
jne 0x10016c6f
xor eax, eax
mov dword [ebp - 0x2cc], 1
mov dword [ebp - 0x2c8], eax
jmp 0x10016c7a
xorps xmm0, xmm0
movlpd qword [ebp - 0x2cc], xmm0
mov ecx, dword [ebp - 0x2cc]
mov edx, dword [ebp - 0x2c8]
mov dword [0x10044150], ecx
mov dword [0x10044154], edx
jmp 0x10016ddd
movzx eax, word [ebp - 0x14]
cmp eax, dword [0x10044170]
jl 0x10016d0c
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x10044120]
xor esi, esi
mov dword [ebp - 0x400], ecx
mov dword [ebp - 0x3fc], edx
mov dword [ebp - 0x408], eax
mov dword [ebp - 0x404], esi
mov ecx, dword [ebp - 0x3fc]
cmp ecx, dword [ebp - 0x404]
jb 0x10016cf2
ja 0x10016ce6
mov edx, dword [ebp - 0x400]
cmp edx, dword [ebp - 0x408]
jb 0x10016cf2
mov dword [ebp - 0x198], 1
jmp 0x10016cfc
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x198]
not eax
test eax, eax
je 0x10016ddd
movsx ecx, byte [ebp - 5]
test ecx, ecx
jne 0x10016d20
mov dword [ebp - 0x19c], 1
jmp 0x10016d2a
mov dword [ebp - 0x19c], 0
movsx edx, word [ebp - 0x10]
movsx eax, byte [0x1004409e]
add edx, eax
jne 0x10016d45
mov dword [ebp - 0x1a0], 1
jmp 0x10016d4f
mov dword [ebp - 0x1a0], 0
movzx ecx, word [0x1004418c]
test ecx, ecx
jne 0x10016d66
mov dword [ebp - 0x1a4], 1
jmp 0x10016d70
mov dword [ebp - 0x1a4], 0
movsx eax, byte [0x1004404e]
sub eax, dword [ebp - 0x19c]
movsx edx, word [0x1004419c]
xor eax, edx
mov ecx, dword [ebp - 0x1a0]
imul ecx, dword [ebp - 0x1a4]
xor eax, ecx
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x10044110]
sub eax, dword [ebp - 0x40]
mov ecx, dword [0x10044114]
sbb ecx, edx
mov dword [0x10044110], eax
mov dword [0x10044114], ecx
mov eax, dword [ebp - 0x28]
cdq
mov esi, eax
mov eax, dword [ebp - 0x1c]
cdq
push edx
push eax
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.10026530
sub esi, eax
not esi
mov dword [0x10044184], esi
xor ecx, ecx
mov edx, dword [0x10044128]
mov eax, dword [0x1004412c]
sub edx, dword [0x10044190]
sbb eax, ecx
mov ecx, dword [0x10044128]
mov esi, dword [0x1004412c]
add ecx, edx
adc esi, eax
mov dword [0x10044128], ecx
mov dword [0x1004412c], esi
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
movzx edx, byte [ebp - 4]
movzx eax, word [0x10044174]
cmp edx, eax
jg 0x10016e35
movsx ecx, word [ebp - 0x10]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov byte [ebp - 3], al
mov edx, dword [ebp - 0x1a8]
sub edx, dword [ebp - 0x310]
imul eax, edx, 0x376
cmp dword [ebp - 0x1a8], eax
je 0x10018a82
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x410], ecx
mov dword [ebp - 0x40c], edx
mov eax, dword [ebp - 0x40c]
cmp eax, dword [0x10044134]
jl 0x10017013
jg 0x10016e8b
mov ecx, dword [ebp - 0x410]
cmp ecx, dword [0x10044130]
jb 0x10017013
mov edx, 0x3ea2d20d
test edx, edx
je 0x10016fae
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
movzx eax, byte [ebp - 2]
cdq
mov dword [ebp - 0x418], ecx
mov dword [ebp - 0x414], esi
mov dword [ebp - 0x420], eax
mov dword [ebp - 0x41c], edx
mov edx, dword [ebp - 0x418]
cmp edx, dword [ebp - 0x420]
jne 0x10016ed7
mov eax, dword [ebp - 0x414]
cmp eax, dword [ebp - 0x41c]
je 0x10016ee3
mov dword [ebp - 0x1ac], 1
jmp 0x10016eed
mov dword [ebp - 0x1ac], 0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x428], ecx
mov dword [ebp - 0x424], edx
cmp dword [ebp - 0x428], 0x51
jne 0x10016f11
cmp dword [ebp - 0x424], 0
je 0x10016f1d
mov dword [ebp - 0x1b0], 1
jmp 0x10016f27
mov dword [ebp - 0x1b0], 0
mov eax, dword [ebp - 0x1ac]
cmp eax, dword [ebp - 0x1b0]
jl 0x10016f51
movzx eax, byte [ebp - 1]
cdq
sub eax, 0x762aa533
mov edx, dword [0x10044164]
mov ecx, eax
shr edx, cl
mov dword [0x10044164], edx
jmp 0x10016fac
mov eax, dword [0x1004411c]
not eax
movzx ecx, byte [ebp - 6]
cmp eax, ecx
jne 0x10016fac
mov edx, dword [ebp - 0x24]
xor edx, 0x6e94f706
mov eax, dword [ebp - 0x20]
xor eax, 0xb938b
push eax
push edx
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.10026530
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x28]
cdq
push 0xf2c9d
push 0x8b32c3cd
push edx
push eax
call fcn.10026530
mov ecx, eax
movzx eax, byte [0x1004404f]
cdq
xor eax, ecx
mov byte [0x1004404f], al
jmp 0x10017011
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x48]
sub eax, dword [ebp - 0x4c]
sbb edx, ecx
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], edx
mov edx, dword [ebp - 0x430]
or edx, dword [ebp - 0x42c]
je 0x10016ffb
mov eax, dword [ebp - 0x24]
add eax, dword [0x10044158]
mov ecx, dword [ebp - 0x20]
adc ecx, dword [0x1004415c]
add eax, dword [ebp - 0x24]
adc ecx, dword [ebp - 0x20]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x28], 0x5322e501
jmp 0x10017011
cmp dword [ebp - 0x28], 0
je 0x10017011
movsx eax, word [0x100441a0]
cdq
add eax, 0x47c9180d
mov byte [ebp - 4], al
jmp 0x1001702d
mov dl, byte [0x10044ca8]
mov byte [ebp - 4], dl
movsx eax, byte [0x10044076]
add eax, 0x10c3633f
mov byte [0x1004403b], al
xor ecx, ecx
mov word [0x10044198], cx
mov edx, dword [ebp - 0x44]
sub edx, 1
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x28]
sub eax, dword [0x10044184]
mov byte [0x1004409f], al
movzx ecx, word [0x10044198]
mov dword [ebp - 0x314], ecx
cmp dword [ebp - 0x314], 0
je 0x10017065
jmp 0x1001708a
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0
push 0xd43a
push eax
push edx
call fcn.10026530
mov ecx, eax
movsx eax, byte [0x100440fb]
cdq
add eax, ecx
mov byte [0x100440fb], al
movzx edx, word [ebp - 0x50]
cmp edx, 0x818
jne 0x100171b8
mov byte [0x100440fb], 1
mov dword [ebp - 0xa4], 0x2ec
jmp 0x100170bc
mov eax, dword [ebp - 0xa4]
sub eax, 1
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xa4], 0
jle 0x100171ab
mov dword [ebp - 0xa8], 0x36
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x568], edx
add ecx, 0x764c4f28
mov dword [0x10044118], ecx
movsx eax, byte [ebp - 5]
add eax, 0x63
mov dword [ebp - 0x18], eax
movsx ecx, byte [ebp - 5]
mov edx, dword [ebp - 0x18]
add edx, ecx
mov eax, dword [ebp - 0x18]
sub eax, edx
mov dword [ebp - 0x18], eax
movsx ecx, byte [0x10044077]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0xc], ax
movzx edx, word [ebp - 0xc]
test edx, edx
jl 0x1001712c
mov dword [ebp - 0x1b4], 1
jmp 0x10017136
mov dword [ebp - 0x1b4], 0
movzx eax, word [ebp - 0xc]
cmp eax, 0x4c
jl 0x1001714b
mov dword [ebp - 0x1b8], 1
jmp 0x10017155
mov dword [ebp - 0x1b8], 0
mov ecx, dword [ebp - 0x1b4]
cmp ecx, dword [ebp - 0x1b8]
jg 0x10017165
jmp 0x1001717f
movzx eax, byte [ebp - 4]
cdq
push 0x7a15
push 0x70ef04bb
push edx
push eax
call fcn.10026530
mov word [ebp - 0xc], ax
mov edx, dword [ebp - 0xa8]
add edx, 1
mov dword [ebp - 0xa8], edx
cmp dword [ebp - 0xa8], 0x190f
jl 0x10017106
mov al, byte [ebp - 4]
add al, 1
mov byte [ebp - 4], al
jmp 0x100170ad
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x438], ecx
mov dword [ebp - 0x434], edx
mov eax, dword [ebp - 0x438]
or eax, dword [ebp - 0x434]
je 0x100172c2
mov byte [0x1004409e], 2
movzx ecx, byte [ebp - 1]
movsx edx, word [ebp - 0x10]
imul ecx, edx
mov byte [ebp - 1], cl
mov eax, dword [ebp - 0x28]
add eax, 0x55650d98
cdq
mov dword [0x10044158], eax
mov dword [0x1004415c], edx
mov al, byte [0x1004409e]
mov byte [ebp - 0xac], al
cmp byte [ebp - 0xac], 0
je 0x10017230
cmp byte [ebp - 0xac], 1
je 0x10017245
cmp byte [ebp - 0xac], 2
je 0x10017275
jmp 0x100172c2
mov eax, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov cl, 8
call fcn.10026570
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
jmp 0x100172c2
mov cl, byte [0x1004419c]
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0x18]
xor eax, eax
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push esi
push ecx
push eax
push edx
call fcn.10026530
mov ecx, dword [ebp - 0x18]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.10026530
mov dword [ebp - 0x18], eax
jmp 0x100172c2
mov edx, 0x67
mov word [0x10044198], dx
mov eax, dword [0x10044130]
or eax, dword [0x10044134]
je 0x1001729a
movzx ecx, word [ebp - 0x14]
mov dword [ebp - 0x1bc], ecx
jmp 0x100172a7
movsx edx, word [0x1004419c]
mov dword [ebp - 0x1bc], edx
mov ax, word [ebp - 0x1bc]
mov word [0x10044124], ax
movzx eax, word [ebp - 0xc]
cdq
sub eax, 0x869be66b
mov word [ebp - 0x10], ax
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x419
jne 0x10017728
mov edx, dword [ebp - 0x24]
add edx, 0xd913
mov byte [0x100440bf], dl
mov eax, dword [ebp - 0x18]
cmp dword [ebp - 0x28], eax
je 0x100172f5
mov dword [ebp - 0x1c0], 1
jmp 0x100172ff
mov dword [ebp - 0x1c0], 0
cmp dword [ebp - 0x28], 0x1e
je 0x10017311
mov dword [ebp - 0x1c4], 1
jmp 0x1001731b
mov dword [ebp - 0x1c4], 0
mov ecx, dword [ebp - 0x1c0]
cmp ecx, dword [ebp - 0x1c4]
jg 0x1001750d
movzx eax, word [0x10044198]
cdq
mov dword [ebp - 0x440], eax
mov dword [ebp - 0x43c], edx
mov edx, dword [0x1004413c]
cmp edx, dword [ebp - 0x43c]
ja 0x1001736a
jb 0x1001735e
mov eax, dword [0x10044138]
cmp eax, dword [ebp - 0x440]
ja 0x1001736a
mov dword [ebp - 0x1c8], 1
jmp 0x10017374
mov dword [ebp - 0x1c8], 0
cmp dword [0x1004413c], 0
ja 0x10017394
jb 0x10017388
cmp dword [0x10044138], 0x1e
ja 0x10017394
mov dword [ebp - 0x1cc], 1
jmp 0x1001739e
mov dword [ebp - 0x1cc], 0
mov ecx, dword [ebp - 0x1c8]
cmp ecx, dword [ebp - 0x1cc]
jne 0x1001750b
mov edx, dword [ebp - 0x30]
push edx
call dword [sym.imp.USER32.dll_GetLastActivePopup]
mov byte [0x100440bf], al
movsx eax, byte [0x100440bf]
test eax, eax
jne 0x100173d6
mov dword [ebp - 0x1d0], 1
jmp 0x100173e0
mov dword [ebp - 0x1d0], 0
movsx ecx, byte [0x100440bf]
cmp ecx, 0x18
jne 0x100173f8
mov dword [ebp - 0x1d4], 1
jmp 0x10017402
mov dword [ebp - 0x1d4], 0
mov edx, dword [ebp - 0x1d0]
cmp edx, dword [ebp - 0x1d4]
jle 0x1001749c
mov dword [ebp - 0xb0], 0x967
movzx eax, word [0x1004418c]
xor eax, 0xa1
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
or ecx, eax
or esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, dword [0x10044110]
add edx, 0xcb777c79
mov dword [0x10044184], edx
movzx eax, byte [ebp - 1]
add eax, 0x7c19
mov ecx, dword [ebp - 0x44]
imul ecx, eax
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0xb0], 0x8d6
jle 0x1001749a
mov edx, dword [0x10044190]
xor eax, eax
push 0x2dbb1
push 0xf2b67f16
push eax
push edx
call fcn.10026530
mov byte [0x100440d3], al
mov ecx, dword [ebp - 0xb0]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
jmp 0x1001745f
jmp 0x1001750b
movzx edx, word [ebp - 0xc]
cmp edx, dword [0x10044194]
jne 0x100174bc
xor eax, eax
mov dword [ebp - 0x2d4], 1
mov dword [ebp - 0x2d0], eax
jmp 0x100174c7
xorps xmm0, xmm0
movlpd qword [ebp - 0x2d4], xmm0
mov ecx, dword [ebp - 0x2d0]
cmp ecx, dword [ebp - 0x2c]
jg 0x1001750b
jl 0x100174df
mov edx, dword [ebp - 0x2d4]
cmp edx, dword [ebp - 0x30]
jae 0x1001750b
mov eax, dword [0x10044158]
xor eax, 0xb0
mov word [ebp - 0x14], ax
mov ecx, dword [ebp - 0x44]
shl ecx, 4
mov dword [0x10044170], ecx
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x56c], eax
mov byte [0x1004404e], dl
jmp 0x10017526
movzx ecx, word [0x1004410c]
imul eax, ecx, 0x44fa83dd
cdq
mov dword [0x100441a8], eax
mov dword [0x100441ac], edx
mov edx, dword [0x10044ca8]
mov dword [ebp - 0xb8], edx
mov dword [ebp - 0xb4], 0x53
jmp 0x1001754d
mov eax, dword [ebp - 0xb4]
sub eax, 1
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
jle 0x1001757f
movsx eax, byte [0x1004403b]
cdq
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0x570], edx
sub eax, ecx
mov byte [0x1004409e], al
mov al, byte [0x100440d3]
add al, 1
mov byte [0x100440d3], al
jmp 0x1001753e
mov ecx, dword [ebp - 0xb8]
add ecx, 0x49b
mov dword [ebp - 0x574], ecx
mov edx, dword [ebp - 0xb8]
add edx, 0x45a
mov dword [ebp - 0x1d8], edx
movsx eax, word [0x100440fc]
cdq
mov ecx, dword [0x10044150]
mov esi, dword [0x10044154]
push edx
push eax
push esi
push ecx
call fcn.10026530
mov dword [0x10044150], eax
mov dword [0x10044154], edx
mov edx, dword [ebp - 0xb8]
add edx, 0x659
mov dword [ebp - 0x1dc], edx
movsx ax, byte [0x100440bf]
movzx ecx, ax
push ecx
push 0x98
push 0
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [0x1004416c]
push eax
push 0
movzx ecx, word [0x10044140]
push ecx
call fcn.1001cab0
add esp, 0x1c
mov byte [ebp - 2], al
movzx edx, byte [ebp - 2]
test edx, edx
jle 0x1001762c
push 0x100363e0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
jmp 0x100176ab
movzx edx, byte [ebp - 6]
test edx, edx
jne 0x1001767c
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x578], eax
add ecx, edx
mov eax, dword [ebp - 0x1c]
cdq
add eax, ecx
mov dword [ebp - 0x1c], eax
movzx eax, word [ebp - 0xc]
cdq
mov ecx, eax
mov esi, edx
add ecx, 0x1af28b7f
adc esi, 0xcce3e
mov eax, dword [0x10044170]
cdq
push esi
push ecx
push edx
push eax
call fcn.10026530
mov dword [0x10044170], eax
jmp 0x100176ab
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x448], edx
mov dword [ebp - 0x444], eax
mov ecx, dword [ebp - 0x448]
or ecx, dword [ebp - 0x444]
je 0x100176ab
mov edx, dword [ebp - 0x30]
sub edx, 0x64ae05ef
mov byte [0x100440fa], dl
mov eax, dword [ebp - 0x1dc]
mov ecx, dword [ebp - 0x1d8]
lea edx, [eax + ecx + 0x36c]
mov eax, dword [ebp - 0x1d8]
sub eax, dword [ebp - 0x1dc]
cmp edx, eax
je 0x10017726
movzx ecx, byte [ebp - 2]
mov edx, 4
imul eax, edx, 0x7d
mov dword [eax + 0x102595e8], ecx
mov ecx, dword [0x10044120]
add ecx, 0xf578
xor edx, edx
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x2c], edx
movsx eax, byte [ebp - 5]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x57c], edx
add eax, ecx
mov byte [ebp - 5], al
movzx eax, word [0x100441b0]
imul ecx, eax, 0x3a2b
mov word [0x100441b0], cx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x10017733
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [0x10044160], eax
mov edx, dword [0x10044178]
not edx
mov eax, dword [0x1004417c]
not eax
mov dword [ebp - 0x450], edx
mov dword [ebp - 0x44c], eax
mov ecx, dword [ebp - 0x450]
or ecx, dword [ebp - 0x44c]
je 0x1001777a
movzx edx, byte [0x100440be]
movzx eax, word [0x10044198]
cmp edx, eax
jle 0x1001777a
mov dword [ebp - 0x1e0], 1
jmp 0x10017784
mov dword [ebp - 0x1e0], 0
movzx ecx, word [0x1004414c]
sub ecx, dword [ebp - 0x1e0]
jne 0x100177c1
movsx edx, byte [ebp - 5]
sub edx, 0xb0b5
mov byte [0x100440fa], dl
movsx eax, byte [0x1004403a]
and eax, 0xe9b
movzx ecx, word [0x10044124]
sub ecx, eax
mov word [0x10044124], cx
jmp 0x100177ec
movzx edx, word [0x10044124]
test edx, edx
je 0x100177ec
movsx eax, byte [ebp - 3]
add eax, 0x57b3
cdq
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x24]
mov edx, dword [ebp - 0x20]
mov cl, 6
call fcn.10026570
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0xd4]
add eax, dword [ebp - 0x1e4]
sub eax, dword [ebp - 0x1e4]
mov ecx, dword [ebp - 0xd4]
sub ecx, dword [ebp - 0xd4]
cmp eax, ecx
je 0x10018a82
push 0
movzx edx, byte [0x10044170]
push edx
push 3
push 0
call fcn.1001cdc0
add esp, 0x10
mov byte [0x10044076], al
movsx eax, byte [0x10044076]
test eax, eax
je 0x100178fb
cmp dword [ebp - 0x44], 0
jne 0x10017872
mov ecx, dword [ebp - 0x30]
not ecx
mov edx, dword [ebp - 0x2c]
not edx
mov dword [ebp - 0x458], ecx
mov dword [ebp - 0x454], edx
mov eax, dword [ebp - 0x458]
or eax, dword [ebp - 0x454]
jne 0x10017872
mov dword [ebp - 0x1e8], 0
jmp 0x1001787c
mov dword [ebp - 0x1e8], 1
movzx ecx, byte [ebp - 6]
cmp dword [ebp - 0x1e8], ecx
jne 0x10017894
mov dword [ebp - 0x1ec], 1
jmp 0x1001789e
mov dword [ebp - 0x1ec], 0
mov edx, dword [ebp - 0x1ec]
not edx
test edx, edx
je 0x100178c5
movzx eax, word [ebp - 0x14]
movsx ecx, byte [0x1004404e]
imul eax, ecx
mov word [ebp - 0x14], ax
mov dword [ebp - 0x44], 0xc167dad2
jmp 0x100178f9
mov edx, dword [0x10044138]
or edx, dword [0x1004413c]
je 0x100178f9
movsx eax, word [ebp - 0x10]
add eax, 0xdae1
mov word [ebp - 0x10], ax
movzx ecx, byte [ebp - 4]
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov cl, 8
call fcn.10026570
mov dword [0x10044194], eax
jmp 0x10017928
mov edx, dword [0x10044ca8]
mov dword [0x10044160], edx
mov eax, dword [0x10044118]
add eax, 1
mov dword [0x10044118], eax
movzx ecx, byte [ebp - 1]
movzx edx, byte [ebp - 4]
imul ecx, edx
movzx eax, byte [ebp - 1]
sub eax, ecx
mov byte [ebp - 1], al
mov ecx, 4
mov word [0x10044174], cx
mov edx, dword [0x10044184]
add edx, 0x68e6b013
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
movzx ecx, word [0x10044174]
mov dword [ebp - 0x1f0], ecx
cmp dword [ebp - 0x1f0], 4
ja case.default.0x10017968
mov edx, dword [ebp - 0x1f0]
jmp dword [edx*4 + 0x10018e58]
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
push 0
push 0x406a3a5d
push ecx
push eax
call fcn.10026530
mov byte [0x100440bf], al
jmp case.default.0x10017968
mov edx, dword [ebp - 0x18]
xor eax, eax
add edx, dword [ebp - 0x24]
adc eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x24]
sub ecx, edx
mov edx, dword [ebp - 0x20]
sbb edx, eax
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], edx
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x580], edx
xor ecx, 0x226c
mov eax, dword [ebp - 0x18]
sub eax, dword [0x10044118]
add ecx, eax
movzx edx, word [0x1004414c]
mov eax, dword [ebp - 0x44]
sub eax, edx
movzx edx, byte [ebp - 6]
movzx esi, word [0x1004410c]
sub edx, esi
sub eax, edx
cdq
sub ecx, eax
mov word [0x10044198], cx
mov eax, dword [0x10044170]
cdq
mov ecx, dword [0x10044144]
push ecx
mov ecx, dword [0x10044140]
push ecx
push edx
push eax
call fcn.10026530
mov ecx, eax
mov eax, dword [0x10044170]
cdq
add eax, ecx
mov dword [0x10044170], eax
jmp case.default.0x10017968
mov dx, word [0x10044ca8]
mov word [0x1004419c], dx
movzx eax, word [0x1004410c]
and eax, 0xcd8e
mov byte [0x10044076], al
jmp case.default.0x10017968
movzx eax, byte [ebp - 2]
cdq
mov ecx, eax
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x584], eax
sub ecx, edx
movzx eax, byte [ebp - 2]
cdq
add eax, ecx
mov byte [ebp - 2], al
movzx ecx, byte [ebp - 1]
add ecx, 7
mov edx, dword [0x10044108]
sub edx, ecx
mov dword [0x10044108], edx
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
and eax, dword [0x10044158]
and ecx, dword [0x1004415c]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
jmp case.default.0x10017968
movsx edx, byte [0x1004403a]
movzx eax, byte [ebp - 6]
sub edx, eax
movsx ecx, byte [0x1004403a]
xor ecx, edx
mov byte [0x1004403a], cl
movzx edx, word [ebp - 0x50]
cmp edx, 0x428
jne 0x10017cf1
xor eax, eax
mov word [0x1004410c], ax
mov ecx, dword [0x10044168]
mov dword [ebp - 0x18], ecx
movzx edx, word [0x1004410c]
mov dword [ebp - 0x318], edx
cmp dword [ebp - 0x318], 0
je 0x10017add
jmp 0x10017ae8
mov eax, 0xa8
mov word [0x100441b0], ax
mov eax, dword [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], edx
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x464], esi
mov edx, dword [ebp - 0x460]
cmp edx, dword [ebp - 0x468]
jne 0x10017b32
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x464]
jne 0x10017b32
mov dword [ebp - 0x1f8], 1
jmp 0x10017b3c
mov dword [ebp - 0x1f8], 0
mov ecx, dword [0x10044120]
xor edx, edx
mov dword [ebp - 0x470], ecx
mov dword [ebp - 0x46c], edx
mov eax, dword [ebp - 0x46c]
cmp eax, dword [0x1004417c]
jl 0x10017b7a
jg 0x10017b6e
mov ecx, dword [ebp - 0x470]
cmp ecx, dword [0x10044178]
jb 0x10017b7a
mov dword [ebp - 0x1f4], 1
jmp 0x10017b84
mov dword [ebp - 0x1f4], 0
mov edx, dword [ebp - 0x1f4]
not edx
cmp dword [ebp - 0x1f8], edx
jge 0x10017bd9
movzx eax, byte [ebp - 6]
cdq
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], edx
mov eax, dword [0x10044114]
cmp eax, dword [ebp - 0x474]
ja 0x10017bd9
jb 0x10017bc2
mov ecx, dword [0x10044110]
cmp ecx, dword [ebp - 0x478]
ja 0x10017bd9
movsx edx, byte [ebp - 3]
test edx, edx
jne 0x10017bd9
movzx eax, word [0x10044174]
test eax, eax
jne 0x10017cc7
cmp dword [ebp - 0x1c], 0
jne 0x10017c82
movzx ecx, word [ebp - 0x14]
test ecx, ecx
je 0x10017c1b
mov edx, dword [ebp - 0x1c]
shl edx, 5
mov byte [0x1004409f], dl
movsx eax, word [ebp - 0x10]
xor eax, 0x8f5d4d3
mov word [ebp - 0x14], ax
movsx ecx, byte [0x10044076]
mov edx, dword [0x10044120]
sub edx, ecx
mov dword [0x10044120], edx
jmp 0x10017c80
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
not eax
not ecx
mov dword [ebp - 0x480], eax
mov dword [ebp - 0x47c], ecx
mov edx, dword [ebp - 0x480]
or edx, dword [ebp - 0x47c]
je 0x10017c80
movsx eax, byte [0x10044076]
xor ecx, ecx
sub ecx, eax
mov eax, ecx
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x30]
sub esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x2c]
sbb edi, ecx
sub eax, esi
sbb edx, edi
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
movzx edx, byte [ebp - 1]
sub edx, 0x71d59d51
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x18]
add ecx, 0x59
mov byte [ebp - 3], cl
jmp 0x10017cc5
mov dl, byte [0x10044ca8]
mov byte [ebp - 4], dl
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x20]
adc ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x24]
sub edx, eax
mov eax, dword [ebp - 0x20]
sbb eax, ecx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x20], eax
mov ecx, dword [0x10044130]
sub ecx, 1
mov edx, dword [0x10044134]
sbb edx, 0
mov dword [0x10044130], ecx
mov dword [0x10044134], edx
jmp 0x10017ce4
movzx ax, byte [ebp - 4]
mov word [ebp - 0xc], ax
mov ecx, 2
imul edx, ecx, 0x8e
mov al, byte [edx + 0x100fecf0]
mov byte [ebp - 4], al
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov dword [ebp - 0xc0], 0
jmp 0x10017d0c
mov ecx, dword [ebp - 0xc0]
add ecx, 1
mov dword [ebp - 0xc0], ecx
cmp dword [ebp - 0xc0], 0x4e
jge 0x10017d99
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, 0x16f154aa
adc esi, 0
movsx eax, byte [ebp - 3]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x488], ecx
mov dword [ebp - 0x484], esi
mov edx, dword [ebp - 0x488]
or edx, dword [ebp - 0x484]
jne 0x10017d5f
xor eax, eax
mov dword [ebp - 0x2dc], 1
mov dword [ebp - 0x2d8], eax
jmp 0x10017d6a
xorps xmm0, xmm0
movlpd qword [ebp - 0x2dc], xmm0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
xor ecx, dword [ebp - 0x38]
xor edx, dword [ebp - 0x34]
not ecx
not edx
add ecx, dword [ebp - 0x2dc]
adc edx, dword [ebp - 0x2d8]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov al, byte [ebp - 2]
add al, 1
mov byte [ebp - 2], al
jmp 0x10017cfd
mov ecx, dword [ebp - 0x1fc]
add ecx, dword [ebp - 0x31c]
cmp ecx, dword [ebp - 0x1fc]
je 0x10018a82
movzx edx, byte [ebp - 6]
sub edx, 0x627f
mov byte [ebp - 3], dl
mov eax, 0x1ff7
mov word [ebp - 0xc], ax
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x442
jne 0x1001849a
mov dword [ebp - 0xc4], 0x1936
mov byte [ebp - 1], 0xea
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
push 0
push 0x3bb37d2d
push eax
push edx
call fcn.10026530
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0xc4], 0x1852
jle 0x10017f56
cmp dword [0x10044164], 0
jne 0x10017e2a
cmp dword [0x10044184], 0
jne 0x10017e2a
mov dword [ebp - 0x200], 0
jmp 0x10017e34
mov dword [ebp - 0x200], 1
movsx ecx, word [ebp - 0x10]
cmp ecx, dword [0x10044160]
jg 0x10017e4c
mov dword [ebp - 0x204], 1
jmp 0x10017e56
mov dword [ebp - 0x204], 0
mov edx, dword [ebp - 0x200]
cmp edx, dword [ebp - 0x204]
jne 0x10017f19
cmp dword [ebp - 0x5c], 0
jg 0x10017e8d
jl 0x10017e79
cmp dword [ebp - 0x60], 0xdd
ja 0x10017e8d
xor eax, eax
mov dword [ebp - 0x2e4], 1
mov dword [ebp - 0x2e0], eax
jmp 0x10017e98
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e4], xmm0
mov eax, dword [ebp - 0x1c]
cdq
add eax, dword [0x10044130]
adc edx, dword [0x10044134]
mov dword [ebp - 0x490], eax
mov dword [ebp - 0x48c], edx
mov ecx, dword [ebp - 0x2e4]
cmp ecx, dword [ebp - 0x490]
jne 0x10017f17
mov edx, dword [ebp - 0x2e0]
cmp edx, dword [ebp - 0x48c]
jne 0x10017f17
movzx eax, word [0x10044124]
movsx ecx, byte [ebp - 3]
imul eax, ecx
mov word [0x10044124], ax
mov edx, dword [0x10044168]
add edx, dword [ebp - 0x28]
movzx eax, byte [ebp - 1]
add eax, 0x7833
xor edx, eax
mov word [ebp - 0x10], dx
mov ecx, dword [0x1004411c]
imul ecx, dword [0x10044120]
mov edx, dword [0x1004411c]
and edx, ecx
mov dword [0x1004411c], edx
jmp 0x10017f42
movzx eax, byte [0x100440fa]
test eax, eax
jne 0x10017f42
mov eax, dword [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
jmp 0x10017dfc
mov dword [ebp - 0xc8], 0x2bb
jmp 0x10017f71
mov edx, dword [ebp - 0xc8]
sub edx, 1
mov dword [ebp - 0xc8], edx
cmp dword [ebp - 0xc8], 0
jle 0x10018118
push 0
push 0
push 0
push 0x74
call fcn.1001d9b0
add esp, 0x10
mov byte [ebp - 2], al
movzx eax, byte [ebp - 2]
test eax, eax
je 0x10018107
movsx eax, word [0x1004419c]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x498], eax
mov dword [ebp - 0x494], edx
mov dword [ebp - 0x4a0], ecx
mov dword [ebp - 0x49c], esi
mov edx, dword [ebp - 0x494]
cmp edx, dword [ebp - 0x49c]
jl 0x10017ff8
jg 0x10017fe1
mov eax, dword [ebp - 0x498]
cmp eax, dword [ebp - 0x4a0]
jb 0x10017ff8
xor ecx, ecx
mov dword [0x10044100], 0xcaed
mov dword [0x10044104], ecx
jmp 0x10018107
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x4a8], edx
mov dword [ebp - 0x4a4], eax
cmp dword [ebp - 0x4a4], 0
jb 0x1001802a
ja 0x1001801e
cmp dword [ebp - 0x4a8], 0x6a
jb 0x1001802a
mov dword [ebp - 0x208], 1
jmp 0x10018034
mov dword [ebp - 0x208], 0
movzx ecx, byte [ebp - 6]
movsx edx, byte [0x1004403b]
not edx
cmp ecx, edx
jle 0x10018051
mov dword [ebp - 0x260], 1
jmp 0x1001805b
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x208]
cmp eax, dword [ebp - 0x260]
jne 0x100180b9
movzx ecx, word [0x1004414c]
imul eax, ecx, 0x119d
cdq
mov dword [0x10044110], eax
mov dword [0x10044114], edx
mov ecx, dword [0x10044100]
mov edx, dword [0x10044104]
mov dword [ebp - 0x588], edx
sub ecx, 0x5cd89f51
movzx eax, word [ebp - 0xc]
cdq
sub eax, ecx
mov word [ebp - 0xc], ax
movsx eax, word [0x100441a0]
add eax, dword [0x10044120]
mov dword [0x10044120], eax
jmp 0x10018107
movzx ecx, word [0x100441b0]
test ecx, ecx
jne 0x100180e9
mov edx, dword [0x10044100]
mov eax, dword [0x10044104]
mov dword [ebp - 0x4b0], edx
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4b0]
or ecx, dword [ebp - 0x4ac]
je 0x10018107
mov dl, byte [0x10044ca8]
mov byte [ebp - 1], dl
movzx eax, word [0x10044198]
mov ecx, dword [ebp - 0x1c]
imul ecx, eax
mov edx, dword [ebp - 0x1c]
sub edx, ecx
mov dword [ebp - 0x1c], edx
mov al, byte [0x1004404e]
add al, 1
mov byte [0x1004404e], al
jmp 0x10017f62
mov ecx, dword [0x10044ca8]
mov dword [ebp - 0xcc], ecx
mov edx, dword [ebp - 0x1c]
xor edx, dword [0x10044168]
mov eax, dword [ebp - 0x1c]
sub eax, edx
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x451
mov dword [ebp - 0x58c], ecx
movzx eax, byte [0x100440be]
cdq
push 0x622e8
push 0xf8deade8
push edx
push eax
call fcn.10026530
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0xcc]
add edx, 0x701
mov dword [ebp - 0x220], edx
push 0
push 0
push 0
push 0
call fcn.1001d9b0
add esp, 0x10
mov dword [0x10044108], eax
cmp dword [0x10044108], 0
jg 0x10018314
movzx eax, byte [ebp - 1]
cdq
mov dword [ebp - 0x4b8], eax
mov dword [ebp - 0x4b4], edx
mov eax, dword [ebp - 0x5c]
cmp eax, dword [ebp - 0x4b4]
jl 0x100181cf
jg 0x100181c3
mov ecx, dword [ebp - 0x60]
cmp ecx, dword [ebp - 0x4b8]
jb 0x100181cf
mov dword [ebp - 0x210], 1
jmp 0x100181d9
mov dword [ebp - 0x210], 0
cmp dword [ebp - 0x5c], 0
jl 0x100181f3
jg 0x100181e7
cmp dword [ebp - 0x60], 0x1e
jb 0x100181f3
mov dword [ebp - 0x214], 1
jmp 0x100181fd
mov dword [ebp - 0x214], 0
mov edx, dword [ebp - 0x210]
cmp edx, dword [ebp - 0x214]
je 0x10018227
movsx eax, word [ebp - 0x10]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x590], edx
sub eax, ecx
mov word [ebp - 0x10], ax
jmp 0x10018314
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], ecx
mov edx, dword [ebp - 0x4c0]
or edx, dword [ebp - 0x4bc]
jne 0x10018253
mov dword [ebp - 0x218], 1
jmp 0x1001825d
mov dword [ebp - 0x218], 0
movsx eax, word [ebp - 0x10]
cmp eax, dword [ebp - 0x218]
je 0x10018275
mov dword [ebp - 0x21c], 1
jmp 0x1001827f
mov dword [ebp - 0x21c], 0
movsx ecx, word [0x1004419c]
cmp ecx, dword [ebp - 0x21c]
jle 0x10018314
mov edx, dword [ebp - 0x54]
mov ecx, 0x6fc9d79d
sub ecx, dword [ebp - 0x58]
mov esi, 0x3d36c
sbb esi, edx
movsx eax, word [ebp - 0x10]
sub eax, dword [ebp - 0x44]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4c8], ecx
mov dword [ebp - 0x4c4], esi
mov edx, dword [ebp - 0x4c8]
or edx, dword [ebp - 0x4c4]
jne 0x100182de
xor eax, eax
mov dword [ebp - 0x2ec], 1
mov dword [ebp - 0x2e8], eax
jmp 0x100182e9
xorps xmm0, xmm0
movlpd qword [ebp - 0x2ec], xmm0
mov ecx, dword [ebp - 0x2ec]
mov edx, dword [ebp - 0x2e8]
mov dword [0x10044110], ecx
mov dword [0x10044114], edx
imul eax, dword [ebp - 0x18], 0x4dee8cc4
mov dword [ebp - 0x28], eax
mov cl, byte [0x10044ca8]
mov byte [ebp - 2], cl
mov edx, dword [ebp - 0xcc]
add edx, 0x4f0
mov dword [ebp - 0x6c], edx
mov byte [0x1004403a], 2
movsx eax, word [0x100440fc]
movsx ecx, word [ebp - 0x10]
imul edx, ecx, 0
add eax, edx
not eax
cdq
mov esi, eax
mov eax, dword [0x10044168]
not eax
cdq
mov ecx, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x48]
push edx
push eax
push edi
push ecx
call fcn.10026530
xor esi, eax
mov word [0x100441b0], si
mov dl, byte [0x1004403a]
mov byte [ebp - 0xdc], dl
cmp byte [ebp - 0xdc], 0
je 0x1001838f
cmp byte [ebp - 0xdc], 1
je 0x100183d8
cmp byte [ebp - 0xdc], 2
je 0x1001841d
jmp 0x1001843c
mov eax, 8
mov word [0x10044174], ax
movsx eax, byte [0x10044077]
cdq
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x594], edx
sub eax, ecx
mov word [0x10044124], ax
movzx eax, byte [ebp - 1]
cdq
mov ecx, dword [ebp - 0x2c]
push ecx
mov ecx, dword [ebp - 0x30]
push ecx
push edx
push eax
call fcn.10026530
mov ecx, eax
movzx eax, byte [ebp - 1]
cdq
sub eax, ecx
mov byte [ebp - 1], al
jmp 0x1001843c
movzx eax, word [ebp - 0xc]
cdq
xor eax, dword [0x10044128]
xor edx, dword [0x1004412c]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, byte [0x1004404d]
mov eax, dword [0x10044190]
add eax, edx
mov ecx, dword [0x10044190]
sub ecx, eax
mov dword [0x10044190], ecx
movzx eax, word [0x1004418c]
cdq
sub eax, 0x5c7547d1
mov byte [ebp - 6], al
jmp 0x1001843c
movsx eax, byte [0x1004403a]
cdq
push 0x3851a
push 0x3deac2e
push edx
push eax
call fcn.10026530
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [ebp - 0x6c]
add edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x220]
mov eax, dword [ebp - 0x6c]
or eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
cmp edx, ecx
je 0x10018495
call dword [sym.imp.USER32.dll_GetFocus]
mov byte [0x1004403a], al
push 0x2166f
push 0x3f739036
mov edx, dword [ebp - 0x5c]
push edx
mov eax, dword [ebp - 0x60]
push eax
call fcn.10026530
mov ecx, eax
movsx eax, byte [0x1004404e]
cdq
or eax, ecx
mov byte [0x1004404e], al
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
jmp 0x1001856e
mov edx, dword [0x10044108]
not edx
movzx eax, word [ebp - 0xc]
cmp edx, eax
jl 0x1001856e
mov dword [ebp - 0xe0], 0
jmp 0x100184c9
mov ecx, dword [ebp - 0xe0]
add ecx, 1
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xe0], 0x35e
jge 0x1001856e
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x20]
je 0x10018511
mov ax, word [ebp - 0x14]
mov word [ebp - 0xc], ax
push 0
push 0xd61a8568
mov ecx, dword [ebp - 0x2c]
push ecx
mov edx, dword [ebp - 0x30]
push edx
call fcn.10026530
mov word [0x100440fc], ax
imul eax, dword [0x10044148], 0x74
mov dword [0x1004416c], eax
jmp 0x10018560
movzx ecx, byte [ebp - 6]
mov eax, dword [ebp - 0x44]
add eax, ecx
cdq
mov ebx, eax
movzx eax, word [0x1004410c]
cdq
or eax, dword [ebp - 0x30]
and ebx, eax
mov edx, dword [0x10044138]
not edx
mov eax, dword [0x1004413c]
not eax
push 0xfff73d64
push 0x768735bd
push eax
push edx
call fcn.10026530
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x598], edx
sub eax, ecx
sub ebx, eax
mov byte [0x1004404e], bl
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
jmp 0x100184ba
mov ecx, dword [ebp - 0xe4]
imul ecx, dword [ebp - 0x320]
mov edx, dword [ebp - 0xe4]
imul edx, dword [ebp - 0xe4]
imul eax, edx, 0x116
cmp ecx, eax
je 0x10018a82
mov ecx, 1
imul edx, ecx, 0x2d
movsx eax, byte [edx + 0x100fec60]
cdq
mov dword [0x10044128], eax
mov dword [0x1004412c], edx
mov dword [0x10044194], 2
movzx eax, word [ebp - 0x50]
cmp eax, 0x43b
je 0x100185d6
movzx ecx, word [ebp - 0x50]
cmp ecx, 0x843
jne 0x100186ee
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov byte [0x1004403b], al
call dword [sym.imp.USER32.dll_GetCursor]
mov dword [ebp - 0x324], eax
mov dword [ebp - 0x328], 0
cmp dword [ebp - 0x324], 0
je 0x10018613
mov edx, dword [ebp - 0x328]
push edx
call dword [sym.imp.USER32.dll_GetCursorPos]
mov dword [ebp - 0x59c], eax
mov eax, dword [ebp - 0x1c]
not eax
test eax, eax
je 0x100186d2
mov eax, dword [ebp - 0x28]
cdq
push edx
push eax
movsx eax, byte [0x1004403b]
cdq
push edx
push eax
call fcn.1001d9b0
add esp, 0x10
mov byte [0x1004404e], al
movsx ecx, byte [0x1004404e]
test ecx, ecx
jl 0x100186d0
movsx eax, byte [0x1004403b]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
sub ecx, eax
sbb esi, edx
movsx eax, word [0x100441a0]
movsx edx, byte [ebp - 3]
add eax, edx
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4d0], ecx
mov dword [ebp - 0x4cc], esi
mov eax, dword [ebp - 0x4d0]
or eax, dword [ebp - 0x4cc]
jne 0x1001869e
xor ecx, ecx
mov dword [ebp - 0x4d8], 1
mov dword [ebp - 0x4d4], ecx
jmp 0x100186a9
xorps xmm0, xmm0
movlpd qword [ebp - 0x4d8], xmm0
mov esi, dword [ebp - 0x18]
movsx eax, byte [0x1004404e]
cdq
mov ecx, dword [ebp - 0x20]
push ecx
mov ecx, dword [ebp - 0x24]
push ecx
push edx
push eax
call fcn.10026530
add esi, eax
mov edx, dword [ebp - 0x4d8]
sub edx, esi
mov byte [ebp - 3], dl
jmp 0x100186e4
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], ecx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x4e8], edx
mov dword [ebp - 0x4e4], eax
mov ecx, dword [ebp - 0x4e8]
or ecx, dword [ebp - 0x4e4]
je 0x10018728
mov edx, 2
imul eax, edx, 0x71
movsx ecx, word [eax + 0x10259878]
movzx edx, word [ebp - 0xc]
imul edx, ecx
mov word [ebp - 0xc], dx
movzx eax, word [ebp - 0x50]
cmp eax, 0x422
jne 0x10018a82
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x4f0], ecx
mov dword [ebp - 0x4ec], edx
mov eax, dword [ebp - 0x4f0]
or eax, dword [ebp - 0x4ec]
jne 0x1001876d
movzx ecx, byte [ebp - 6]
not ecx
test ecx, ecx
jne 0x1001876d
mov dword [ebp - 0x22c], 0
jmp 0x10018777
mov dword [ebp - 0x22c], 1
movsx eax, word [0x10044180]
cdq
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], edx
mov edx, dword [ebp - 0x4f4]
cmp edx, dword [ebp - 0x20]
jg 0x100187af
jl 0x100187a3
mov eax, dword [ebp - 0x4f8]
cmp eax, dword [ebp - 0x24]
ja 0x100187af
mov dword [ebp - 0x228], 1
jmp 0x100187b9
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x28]
cdq
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], edx
cmp dword [ebp - 0x4fc], 0x20101
jg 0x100187ef
jl 0x100187e3
cmp dword [ebp - 0x500], 0xe2b65b1a
jae 0x100187ef
mov dword [ebp - 0x224], 1
jmp 0x100187f9
mov dword [ebp - 0x224], 0
cmp dword [ebp - 0x224], 0xaae6
jle 0x10018811
mov dword [ebp - 0x230], 1
jmp 0x1001881b
mov dword [ebp - 0x230], 0
mov ecx, dword [ebp - 0x228]
not ecx
mov edx, dword [ebp - 0x22c]
sub edx, ecx
cmp edx, dword [ebp - 0x230]
jge 0x100188d5
mov byte [ebp - 3], 0
mov ecx, dword [0x10044150]
mov esi, dword [0x10044154]
add ecx, 0x4de7
adc esi, 0
movsx eax, byte [0x1004403a]
movzx edx, byte [ebp - 6]
add eax, edx
cdq
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x508], ecx
mov dword [ebp - 0x504], esi
mov eax, dword [ebp - 0x508]
or eax, dword [ebp - 0x504]
jne 0x10018890
xor ecx, ecx
mov dword [ebp - 0x2f4], 1
mov dword [ebp - 0x2f0], ecx
jmp 0x1001889b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f4], xmm0
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x24]
not ecx
mov esi, dword [ebp - 0x20]
not esi
push esi
push ecx
push edx
push eax
call fcn.10026530
mov ecx, dword [ebp - 0x2f4]
sub ecx, eax
mov eax, dword [ebp - 0x2f0]
sbb eax, edx
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x20], eax
movsx ecx, byte [ebp - 3]
mov dword [ebp - 0x5a0], ecx
jmp 0x10018908
cmp dword [0x10044190], 0
jne 0x10018908
movzx edx, word [0x1004410c]
movsx eax, byte [ebp - 5]
movsx ecx, byte [0x1004404e]
imul eax, ecx
imul edx, eax
mov dword [ebp - 0x1c], edx
mov edx, dword [0x10044108]
add edx, 0x87
mov byte [ebp - 2], dl
movsx eax, word [ebp - 0x10]
test eax, eax
je 0x10018a22
mov dword [ebp - 0xe8], 0
jmp 0x1001892f
mov ecx, dword [ebp - 0xe8]
add ecx, 1
mov dword [ebp - 0xe8], ecx
cmp dword [ebp - 0xe8], 0x10d
jge 0x10018a20
movzx edx, byte [ebp - 1]
movsx eax, word [0x10044180]
cmp edx, eax
jne 0x1001895a
mov dword [ebp - 0x234], 1
jmp 0x10018964
mov dword [ebp - 0x234], 0
movzx ecx, byte [ebp - 1]
cmp ecx, 0x13
jne 0x10018979
mov dword [ebp - 0x238], 1
jmp 0x10018983
mov dword [ebp - 0x238], 0
mov edx, dword [ebp - 0x234]
cmp edx, dword [ebp - 0x238]
jge 0x100189f0
push 0
push 0x81
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.10026530
mov dword [ebp - 0x28], eax
movzx eax, word [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.10026530
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov edx, dword [0x10044128]
mov eax, dword [0x1004412c]
add edx, dword [0x10044178]
adc eax, dword [0x1004417c]
mov dword [0x10044128], edx
mov dword [0x1004412c], eax
jmp 0x10018a12
mov byte [0x1004403a], 8
mov ecx, dword [0x10044140]
mov dword [0x10044170], ecx
mov edx, 0xf3e6f
mov dword [ebp - 0x40], 0xd8e14139
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x28]
add eax, 1
mov dword [ebp - 0x28], eax
jmp 0x10018920
jmp 0x10018a7a
mov eax, dword [0x10044170]
cdq
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], edx
mov ecx, dword [ebp - 0x2c]
cmp ecx, dword [ebp - 0x50c]
jg 0x10018a7a
jl 0x10018a4c
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x510]
ja 0x10018a7a
movsx eax, byte [0x1004403a]
cdq
sub eax, 0xa637d042
mov byte [ebp - 1], al
mov eax, 0xfa
mov word [ebp - 0xc], ax
movzx ecx, byte [ebp - 1]
mov edx, 4
imul eax, edx, 0x58e3
mov dword [eax + 0x10167750], ecx
push 0
call dword [sym.imp.KERNEL32.dll_ExitProcess]
movsx eax, byte [ebp - 3]
cdq
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], edx
cmp dword [ebp - 0x514], 0x2dca7
jl 0x10018ab9
jg 0x10018aad
cmp dword [ebp - 0x518], 0x81dbb8ac
jbe 0x10018ab9
mov dword [ebp - 0x23c], 1
jmp 0x10018ac3
mov dword [ebp - 0x23c], 0
mov ecx, dword [ebp - 0x44]
cmp dword [ebp - 0x23c], ecx
jle 0x10018deb
movzx edx, word [0x1004418c]
cmp dword [0x10044160], edx
jle 0x10018aed
mov dword [ebp - 0x20c], 1
jmp 0x10018af7
mov dword [ebp - 0x20c], 0
mov eax, dword [ebp - 0x18]
not eax
cmp dword [0x10044170], eax
ja 0x10018b10
mov dword [ebp - 0x240], 1
jmp 0x10018b1a
mov dword [ebp - 0x240], 0
mov ecx, dword [ebp - 0x20c]
cmp ecx, dword [ebp - 0x240]
jl 0x10018b34
mov dword [ebp - 0x244], 1
jmp 0x10018b3e
mov dword [ebp - 0x244], 0
mov eax, dword [ebp - 0x244]
not eax
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x10044140]
not edi
mov ebx, dword [0x10044144]
not ebx
movzx eax, word [ebp - 0x14]
cdq
sub edi, eax
sbb ebx, edx
mov dword [ebp - 0x520], ecx
mov dword [ebp - 0x51c], esi
mov dword [ebp - 0x528], edi
mov dword [ebp - 0x524], ebx
mov edx, dword [ebp - 0x51c]
cmp edx, dword [ebp - 0x524]
jl 0x10018bea
jg 0x10018b9a
mov eax, dword [ebp - 0x520]
cmp eax, dword [ebp - 0x528]
jbe 0x10018bea
mov cx, word [0x1004414c]
mov byte [0x1004404e], cl
mov edx, 8
imul eax, edx, 0x9075
mov ecx, dword [0x10044164]
add ecx, dword [eax + 0x10044cb0]
mov dword [0x10044164], ecx
movzx eax, word [ebp - 0xc]
cdq
mov ecx, dword [0x10044128]
mov esi, dword [0x1004412c]
add ecx, eax
adc esi, edx
mov dword [0x10044128], ecx
mov dword [0x1004412c], esi
jmp 0x10018de9
movsx edx, byte [0x1004403b]
test edx, edx
je 0x10018c99
movzx eax, byte [0x1004409f]
add eax, 0x1a4d5b7
mov word [ebp - 0x14], ax
cmp dword [ebp - 0x1c], 0
jne 0x10018c23
xor ecx, ecx
mov dword [ebp - 0x530], 1
mov dword [ebp - 0x52c], ecx
jmp 0x10018c2e
xorps xmm0, xmm0
movlpd qword [ebp - 0x530], xmm0
movsx eax, byte [0x10044076]
cdq
mov edx, 0xbab62fec
sub edx, eax
mov eax, dword [0x10044194]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
mov dword [ebp - 0x5a4], esi
add ecx, eax
sub ecx, dword [ebp - 0x530]
add edx, ecx
mov dword [0x10044120], edx
mov edx, dword [ebp - 0x24]
or edx, dword [ebp - 0x20]
je 0x10018c79
mov eax, dword [ebp - 0x18]
xor ecx, ecx
mov dword [ebp - 0x2fc], eax
mov dword [ebp - 0x2f8], ecx
jmp 0x10018c8b
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x2fc], edx
mov dword [ebp - 0x2f8], eax
mov ecx, dword [ebp - 0x2fc]
mov dword [ebp - 0x44], ecx
jmp 0x10018de9
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x538], edx
mov dword [ebp - 0x534], eax
mov ecx, dword [ebp - 0x538]
or ecx, dword [ebp - 0x534]
jne 0x10018d8b
movzx edx, word [0x10044198]
test edx, edx
jne 0x10018d8b
movsx eax, byte [0x10044077]
imul ecx, eax, 0x5cae96ba
mov byte [0x1004409f], cl
movsx edx, word [0x100441a0]
and edx, dword [0x10044190]
movsx eax, byte [0x1004404d]
xor eax, dword [ebp - 0x44]
imul edx, eax
mov esi, edx
xor edi, edi
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov eax, dword [0x10044114]
push eax
mov eax, dword [0x10044110]
push eax
push edx
push ecx
call fcn.10026530
mov ecx, eax
mov ebx, edx
movzx eax, word [ebp - 0xc]
cdq
add eax, dword [0x100441a8]
adc edx, dword [0x100441ac]
push edx
push eax
push ebx
push ecx
call fcn.10026530
add esi, eax
adc edi, edx
mov dword [ebp - 0x540], esi
mov dword [ebp - 0x53c], edi
mov edx, dword [ebp - 0x540]
or edx, dword [ebp - 0x53c]
jne 0x10018d66
xor eax, eax
mov dword [ebp - 0x304], 1
mov dword [ebp - 0x300], eax
jmp 0x10018d71
xorps xmm0, xmm0
movlpd qword [ebp - 0x304], xmm0
mov ecx, dword [ebp - 0x304]
mov edx, dword [ebp - 0x300]
mov dword [0x10044110], ecx
mov dword [0x10044114], edx
jmp 0x10018de9
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x5c]
jne 0x10018d9f
mov dword [ebp - 0x248], 1
jmp 0x10018da9
mov dword [ebp - 0x248], 0
mov ecx, dword [ebp - 0x248]
add ecx, 0xb0e9
je 0x10018de9
movzx eax, byte [ebp - 4]
cdq
xor eax, dword [0x10044140]
xor edx, dword [0x10044144]
mov dword [0x10044140], eax
mov dword [0x10044144], edx
mov edx, dword [ebp - 0x1c]
add edx, dword [0x10044160]
mov dword [ebp - 0x1c], edx
mov eax, dword [0x10044ca8]
mov dword [0x10044168], eax
jmp 0x10018e15
movzx ecx, word [0x1004418c]
test ecx, ecx
je 0x10018e15
movsx eax, byte [ebp - 5]
movzx edx, byte [0x100440fa]
or eax, edx
cdq
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edx
mov eax, dword [ebp - 0x18]
add eax, 0xd3
mov dword [ebp - 0x28], eax
mov al, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret