Function at 0x1001b4c0
Capabilities:
Encode data using base64
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ae490
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x154c
call fcn.100a26e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0xe24], 0xca1e57c6
mov eax, dword [0x100d3188]
mov ecx, dword [0x100d318c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], 0x77ac495
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov byte [ebp - 0x13], 0x6c
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x4c], ecx
xor edx, edx
mov dword [ebp - 0x74], 0xa7d9545c
mov dword [ebp - 0x70], edx
mov byte [ebp - 0x14], 0x88
xor eax, eax
mov dword [ebp - 0x38], 0x507d9512
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0xc58], edx
mov word [ebp - 0x20], cx
mov byte [ebp - 0x15], 0xff
mov ax, word [0x100d315c]
mov word [ebp - 0x30], ax
mov ecx, 0x9968
mov word [ebp - 0x1c], cx
movsx edx, word [0x100d31b0]
mov dword [ebp - 0x80], edx
mov byte [ebp - 0x12], 0x7d
xor eax, eax
mov dword [ebp - 0x40], 0x3e
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x48], 0xa62230da
mov byte [ebp - 0x11], 0xab
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x6c], 0xef809bb
mov ax, word [0x100d3148]
mov word [ebp - 0x2c], ax
movsx cx, byte [0x100d304e]
mov word [ebp - 0x28], cx
mov edx, 0xd2f6
mov word [ebp - 0x24], dx
mov dword [ebp - 0x44], 0xe
mov eax, dword [0x100d3174]
mov dword [ebp - 0x84], eax
movzx eax, byte [0x100d3063]
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov cx, word [0x100d3174]
mov word [ebp - 0x67c], cx
movzx eax, byte [0x100d3027]
cdq
mov dword [ebp - 0xde8], eax
mov dword [ebp - 0xde4], edx
mov dword [ebp - 0xc5c], 0x78d5
mov edx, dword [0x100d3190]
mov byte [ebp - 0x141], dl
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0xdf0], eax
mov dword [ebp - 0xdec], edx
xor eax, eax
mov dword [ebp - 0xdf8], 0x41
mov dword [ebp - 0xdf4], eax
mov ecx, dword [0x100d3190]
mov dword [ebp - 0xc60], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0xc64], eax
mov dword [ebp - 0xc68], edx
mov byte [ebp - 0x101], 0xfe
movsx ecx, byte [0x100d3026]
mov dword [ebp - 0xc6c], ecx
mov edx, 0x2d26
mov word [ebp - 0x680], dx
movzx eax, word [0x100d315c]
cdq
mov dword [ebp - 0xe00], eax
mov dword [ebp - 0xdfc], edx
mov eax, dword [0x100d3188]
mov dword [ebp - 0xc70], eax
mov ecx, dword [0x100d3174]
xor edx, edx
mov dword [ebp - 0xe08], ecx
mov dword [ebp - 0xe04], edx
mov dword [ebp - 0xc74], 0xa30fad57
xor eax, eax
mov dword [ebp - 0xe10], 0xa1
mov dword [ebp - 0xe0c], eax
xor ecx, ecx
mov dword [ebp - 0xe18], 0x2e1d
mov dword [ebp - 0xe14], ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0xc78], eax
mov dword [ebp - 0xc7c], edx
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0xa10], ecx
mov dword [ebp - 0xa0c], edx
mov eax, dword [ebp - 0xa10]
or eax, dword [ebp - 0xa0c]
je 0x1001b86a
push 0
movzx cx, byte [ebp - 0x15]
movzx edx, cx
push edx
push 0
movzx eax, word [ebp - 0x24]
push eax
call fcn.1005a510
add esp, 0x10
movzx eax, ax
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov ecx, dword [0x100d3150]
or ecx, dword [0x100d3154]
je 0x1001b77d
mov edx, dword [ebp - 0x44]
push edx
call dword [sym.imp.USER32.dll_GetTopWindow]
mov word [0x100d31b0], ax
jmp 0x1001b86a
mov eax, dword [0x100d3190]
add eax, dword [0x100d31b4]
mov dword [0x100d3190], eax
mov eax, dword [0x100d311c]
cdq
sub eax, dword [ebp - 0x7c]
mov dword [0x100d311c], eax
mov ecx, 8
mov word [ebp - 0x24], cx
movsx eax, word [0x100d3130]
cdq
xor eax, dword [0x100d3188]
xor edx, dword [0x100d318c]
not eax
not edx
movzx ecx, word [0x100d315c]
movsx esi, word [0x100d3128]
add esi, ecx
movsx ecx, word [0x100d3128]
mov edi, dword [0x100d3140]
and edi, ecx
add edi, esi
xor ecx, ecx
add edi, eax
adc ecx, edx
mov dword [0x100d31a8], edi
mov dword [0x100d31ac], ecx
mov edx, dword [ebp - 0x80]
xor eax, eax
mov ecx, dword [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x68]
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0xa18], eax
mov dword [ebp - 0xa14], edx
mov edx, dword [ebp - 0xa18]
or edx, dword [ebp - 0xa14]
jne 0x1001b831
xor eax, eax
mov dword [ebp - 0xa20], 1
mov dword [ebp - 0xa1c], eax
jmp 0x1001b83c
xorps xmm0, xmm0
movlpd qword [ebp - 0xa20], xmm0
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
movsx eax, byte [ebp - 0x12]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
add ecx, dword [ebp - 0xa20]
movsx eax, byte [ebp - 0x14]
cdq
xor eax, ecx
mov dword [0x100d3158], eax
mov edx, dword [0x100d3c78]
mov dword [ebp - 0x148], edx
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
mov eax, dword [0x100d3134]
cdq
mov dword [ebp - 0xa28], eax
mov dword [ebp - 0xa24], edx
mov dword [ebp - 0xa30], ecx
mov dword [ebp - 0xa2c], esi
mov edx, dword [ebp - 0xa24]
cmp edx, dword [ebp - 0xa2c]
jl 0x1001b950
jg 0x1001b8c6
mov eax, dword [ebp - 0xa28]
cmp eax, dword [ebp - 0xa30]
jb 0x1001b950
push 0
push 0x7b
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov word [ebp - 0x2c], ax
movzx eax, byte [ebp - 0x15]
sar eax, 3
mov word [0x100d3130], ax
movsx ecx, byte [ebp - 0x12]
movzx edx, word [ebp - 0x1c]
imul edx, ecx
not edx
mov byte [ebp - 0x11], dl
mov eax, dword [0x100d3160]
sub eax, 0xd949a72b
mov byte [ebp - 0x12], al
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1001b926
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x560], eax
mov dword [ebp - 0x55c], edx
jmp 0x1001b93d
mov edx, dword [0x100d3120]
mov eax, dword [0x100d3124]
mov dword [ebp - 0x560], edx
mov dword [ebp - 0x55c], eax
mov cx, word [ebp - 0x560]
mov word [0x100d3128], cx
jmp 0x1001ba48
cmp dword [ebp - 0x50], 0
jne 0x1001b962
mov dword [ebp - 0x16c], 1
jmp 0x1001b96c
mov dword [ebp - 0x16c], 0
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0xa38], edx
mov dword [ebp - 0xa34], eax
mov ecx, dword [ebp - 0xa38]
or ecx, dword [ebp - 0xa34]
jne 0x1001b99d
mov dword [ebp - 0x168], 1
jmp 0x1001b9a7
mov dword [ebp - 0x168], 0
movsx edx, word [0x100d3128]
imul edx, dword [ebp - 0x168]
movsx eax, word [ebp - 0x30]
add eax, edx
cdq
mov ecx, dword [ebp - 0x80]
not ecx
sub ecx, dword [ebp - 0x16c]
add ecx, dword [0x100d3148]
sub ecx, eax
mov byte [ebp - 0x15], cl
mov edx, dword [ebp - 0x44]
add edx, 0x239a4b5c
imul eax, edx, 0xffffff83
mov dword [ebp - 0x84], eax
movsx eax, byte [0x100d304e]
cdq
mov ecx, dword [0x100d318c]
push ecx
mov ecx, dword [0x100d3188]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [0x100d304e]
cdq
sub eax, ecx
mov byte [0x100d304e], al
movsx edx, byte [ebp - 0x11]
sub edx, dword [0x100d311c]
mov word [0x100d31b0], dx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0xc80], ecx
add eax, 0xad
mov dword [ebp - 0x48], eax
mov edx, dword [ebp - 0x74]
xor edx, 0x46
mov dword [0x100d3158], edx
mov eax, dword [ebp - 0x148]
add eax, 0x772
mov dword [ebp - 0xdd8], eax
mov ecx, 9
mov esi, str.Errorwritingmanual
lea edi, [ebp - 0xeac]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0xeac]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x148]
add edx, 0x4f6
mov dword [ebp - 0xc84], edx
movzx eax, byte [0x100d304f]
cdq
mov dword [ebp - 0xa40], eax
mov dword [ebp - 0xa3c], edx
mov eax, dword [0x100d3168]
cmp eax, dword [ebp - 0xa40]
jne 0x1001bc31
mov ecx, dword [0x100d316c]
cmp ecx, dword [ebp - 0xa3c]
jne 0x1001bc31
mov edx, dword [0x100d31b4]
push edx
call dword [sym.imp.USER32.dll_GetTopWindow]
xor ecx, ecx
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x1001bafc
xor eax, eax
mov dword [ebp - 0x568], 1
mov dword [ebp - 0x564], eax
jmp 0x1001bb07
xorps xmm0, xmm0
movlpd qword [ebp - 0x568], xmm0
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
not ecx
not edx
mov dword [ebp - 0xa48], ecx
mov dword [ebp - 0xa44], edx
mov eax, dword [ebp - 0xa44]
cmp eax, dword [ebp - 0x564]
jg 0x1001bb4d
jl 0x1001bb41
mov ecx, dword [ebp - 0xa48]
cmp ecx, dword [ebp - 0x568]
jae 0x1001bb4d
mov dword [ebp - 0x170], 1
jmp 0x1001bb57
mov dword [ebp - 0x170], 0
movzx edx, word [0x100d3178]
cmp edx, dword [ebp - 0x48]
ja 0x1001bb6f
mov dword [ebp - 0x174], 1
jmp 0x1001bb79
mov dword [ebp - 0x174], 0
mov eax, dword [ebp - 0x170]
cmp eax, dword [ebp - 0x174]
jne 0x1001bb93
mov dword [ebp - 0x178], 1
jmp 0x1001bb9d
mov dword [ebp - 0x178], 0
mov ecx, dword [ebp - 0x178]
not ecx
test ecx, ecx
je 0x1001bc2f
movsx edx, byte [ebp - 0x11]
test edx, edx
jne 0x1001bbca
cmp dword [0x100d311c], 0
jne 0x1001bbca
mov dword [ebp - 0x17c], 0
jmp 0x1001bbd4
mov dword [ebp - 0x17c], 1
mov eax, dword [0x100d3148]
or eax, dword [0x100d314c]
jne 0x1001bbfb
mov ecx, dword [0x100d3160]
or ecx, dword [0x100d3164]
je 0x1001bbfb
mov dword [ebp - 0x180], 0
jmp 0x1001bc05
mov dword [ebp - 0x180], 1
mov edx, dword [ebp - 0x17c]
cmp edx, dword [ebp - 0x180]
je 0x1001bc2f
jmp 0x1001bc1a
jmp 0x1001bc2f
jmp 0x1001bc8b
movzx eax, byte [0x100d3063]
movzx ecx, word [ebp - 0x1c]
and ecx, eax
mov word [ebp - 0x1c], cx
xor edx, edx
mov dword [0x100d3150], 4
mov dword [0x100d3154], edx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0x80], eax
movzx ecx, word [0x100d3178]
sub ecx, 0x4b55ae87
mov dword [0x100d3174], ecx
movsx edx, byte [ebp - 0x12]
mov eax, dword [ebp - 0x4c]
imul eax, edx
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x50]
cdq
sub eax, 0x9163516
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x148]
add ecx, 0x829
mov dword [ebp - 0xbc], ecx
jmp 0x1001bcb0
jmp 0x1001bcda
jmp 0x1001bcf5
mov dword [ebp - 0x88], 0
movsx edx, word [ebp - 0x20]
cmp dword [ebp - 0x44], edx
jne 0x1001bd1c
xor eax, eax
mov dword [ebp - 0x570], 1
mov dword [ebp - 0x56c], eax
jmp 0x1001bd27
xorps xmm0, xmm0
movlpd qword [ebp - 0x570], xmm0
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0xa50], ecx
mov dword [ebp - 0xa4c], edx
mov eax, dword [ebp - 0x570]
cmp eax, dword [ebp - 0xa50]
jne 0x1001bd5b
mov ecx, dword [ebp - 0x56c]
cmp ecx, dword [ebp - 0xa4c]
je 0x1001bd67
mov dword [ebp - 0x184], 1
jmp 0x1001bd71
mov dword [ebp - 0x184], 0
mov edx, dword [ebp - 0x74]
or edx, dword [ebp - 0x70]
jne 0x1001bda6
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xa58], eax
mov dword [ebp - 0xa54], ecx
mov edx, dword [ebp - 0xa58]
or edx, dword [ebp - 0xa54]
jne 0x1001bda6
xorps xmm0, xmm0
movlpd qword [ebp - 0x578], xmm0
jmp 0x1001bdb8
xor eax, eax
mov dword [ebp - 0x578], 1
mov dword [ebp - 0x574], eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xa60], ecx
mov dword [ebp - 0xa5c], edx
mov eax, dword [ebp - 0x574]
cmp eax, dword [ebp - 0xa5c]
jb 0x1001bdf4
ja 0x1001bde8
mov ecx, dword [ebp - 0x578]
cmp ecx, dword [ebp - 0xa60]
jbe 0x1001bdf4
mov dword [ebp - 0x188], 1
jmp 0x1001bdfe
mov dword [ebp - 0x188], 0
mov edx, dword [ebp - 0x184]
cmp edx, dword [ebp - 0x188]
je 0x1001c0e2
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xa68], eax
mov dword [ebp - 0xa64], ecx
mov edx, dword [ebp - 0xa68]
or edx, dword [ebp - 0xa64]
je 0x1001c0e2
mov dword [ebp - 0x14c], 0
jmp 0x1001be4f
mov eax, dword [ebp - 0x14c]
add eax, 1
mov dword [ebp - 0x14c], eax
cmp dword [ebp - 0x14c], 0x42
jge 0x1001c0e2
push 0
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xc88], edx
push ecx
push 0
push 0x51
push 0
push 0xfc
call fcn.1005c200
add esp, 0x18
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x1001c0ce
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0xa70], eax
mov dword [ebp - 0xa6c], ecx
mov edx, dword [ebp - 0xa70]
or edx, dword [ebp - 0xa6c]
je 0x1001bf91
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0xc8c], edx
movsx eax, word [ebp - 0x2c]
cdq
mov esi, eax
sub esi, ecx
movsx eax, word [ebp - 0x2c]
cdq
sub eax, esi
mov word [ebp - 0x2c], ax
movsx eax, byte [0x100d304e]
cdq
sub eax, 0x7541823e
sbb edx, 0xe0131
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x1001bf20
xor ecx, ecx
mov dword [ebp - 0x580], 1
mov dword [ebp - 0x57c], ecx
jmp 0x1001bf2b
xorps xmm0, xmm0
movlpd qword [ebp - 0x580], xmm0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add edx, dword [ebp - 0x580]
adc eax, dword [ebp - 0x57c]
not edx
not eax
mov dword [0x100d3160], edx
mov dword [0x100d3164], eax
mov ecx, dword [0x100d3120]
xor ecx, dword [0x100d3150]
not ecx
mov byte [ebp - 0x11], cl
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xdbc], edx
movzx eax, byte [ebp - 0x13]
cdq
add eax, ecx
mov byte [ebp - 0x13], al
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, 8
shl ecx, 0
mov dword [ecx + 0x101bcef0], eax
mov dword [ecx + 0x101bcef4], edx
jmp 0x1001c0ce
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x1001bfa5
mov dword [ebp - 0x190], 1
jmp 0x1001bfaf
mov dword [ebp - 0x190], 0
mov eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x78]
jne 0x1001bfc3
mov dword [ebp - 0x18c], 1
jmp 0x1001bfcd
mov dword [ebp - 0x18c], 0
mov ecx, dword [0x100d3174]
cmp ecx, dword [ebp - 0x18c]
je 0x1001bfe7
mov dword [ebp - 0x194], 1
jmp 0x1001bff1
mov dword [ebp - 0x194], 0
mov edx, dword [ebp - 0x190]
imul edx, dword [ebp - 0x194]
test edx, edx
je 0x1001c055
movzx eax, word [0x100d3178]
movzx ecx, byte [0x100d304f]
sub ecx, eax
movzx edx, byte [0x100d304f]
sub edx, ecx
mov byte [0x100d304f], dl
mov eax, dword [0x100d3c78]
mov dword [0x100d31b4], eax
movzx eax, byte [ebp - 0x13]
cdq
add eax, 0x4b4082d9
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xdb4], edx
xor ecx, 0xa73f986d
mov dword [ebp - 0x84], ecx
jmp 0x1001c0ce
movzx eax, word [ebp - 0x24]
cmp eax, dword [0x100d311c]
jle 0x1001c0ce
movzx ecx, word [0x100d3178]
sub ecx, 0x6a83
movsx edx, byte [ebp - 0x11]
or edx, ecx
mov byte [ebp - 0x11], dl
movsx eax, byte [0x100d3026]
cdq
push 0x74936
push 0xaa34ccc5
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov eax, dword [0x100d311c]
cdq
add eax, ecx
mov dword [0x100d311c], eax
mov edx, dword [ebp - 0x80]
add edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
add eax, edx
mov dword [ebp - 0x80], eax
movzx eax, word [ebp - 0x24]
cdq
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
mov eax, dword [0x100d3134]
cdq
xor eax, 0x2b937ba3
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x100d311c]
add ecx, 1
mov dword [0x100d311c], ecx
jmp 0x1001be40
mov edx, dword [0x100d3170]
sub edx, 0x3c0fa654
mov dword [0x100d3174], edx
mov eax, dword [0x100d3170]
xor eax, 0x28da
mov dword [0x100d3144], eax
movzx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x6c]
sub edx, ecx
add edx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], edx
movsx eax, byte [0x100d3026]
imul ecx, eax, 0x3c
mov word [0x100d3130], cx
cmp dword [ebp - 0x84], 0
jne 0x1001c138
mov dword [ebp - 0x198], 1
jmp 0x1001c142
mov dword [ebp - 0x198], 0
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x100d3150]
sub ecx, eax
mov esi, dword [0x100d3154]
sbb esi, edx
movzx edx, word [ebp - 0x24]
mov eax, dword [ebp - 0x198]
sub eax, edx
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
cmp dword [0x100d3134], 0
jne 0x1001c18b
xor eax, eax
mov dword [ebp - 0xa78], 1
mov dword [ebp - 0xa74], eax
jmp 0x1001c196
xorps xmm0, xmm0
movlpd qword [ebp - 0xa78], xmm0
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0xa78]
sub edx, dword [0x100d3120]
sub edx, ecx
mov dword [0x100d3140], edx
mov dword [ebp - 0xb4], 0x2b
mov eax, 8
shl eax, 0
mov ecx, dword [0x100d3120]
mov edx, dword [0x100d3124]
mov dword [eax + 0x101bcef0], ecx
mov dword [eax + 0x101bcef4], edx
mov eax, dword [ebp - 0x68]
add eax, dword [0x100d3168]
mov ecx, dword [ebp - 0x64]
adc ecx, dword [0x100d316c]
add eax, dword [ebp - 0x68]
adc ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x84], 0
jne 0x1001c20a
mov dword [ebp - 0x1a0], 1
jmp 0x1001c214
mov dword [ebp - 0x1a0], 0
movsx edx, byte [ebp - 0x14]
test edx, edx
jne 0x1001c228
mov dword [ebp - 0x19c], 1
jmp 0x1001c232
mov dword [ebp - 0x19c], 0
movzx eax, word [0x100d3178]
mov ecx, dword [ebp - 0x19c]
and ecx, 0x85
add ecx, eax
movzx edx, byte [0x100d304f]
imul edx, dword [0x100d3174]
imul edx, dword [ebp - 0x1a0]
sub edx, ecx
mov dword [ebp - 0x80], edx
movsx eax, byte [0x100d304e]
movzx ecx, word [ebp - 0x24]
imul ecx, eax
movzx edx, word [ebp - 0x24]
add edx, ecx
mov word [ebp - 0x24], dx
mov dword [ebp - 0x150], 0x1e4
jmp 0x1001c294
mov eax, dword [ebp - 0x150]
sub eax, 1
mov dword [ebp - 0x150], eax
cmp dword [ebp - 0x150], 0
jle 0x1001c34b
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
sub ecx, 0xf8b9
sbb edx, 0
mov dword [0x100d3180], ecx
mov dword [0x100d3184], edx
movsx eax, byte [ebp - 0x11]
movsx ecx, word [ebp - 0x20]
and ecx, eax
xor ecx, dword [0x100d311c]
jne 0x1001c2e2
mov edx, 1
mov word [ebp - 0x98], dx
jmp 0x1001c2eb
xor eax, eax
mov word [ebp - 0x98], ax
mov cx, word [ebp - 0x98]
mov word [0x100d315c], cx
mov edx, dword [0x100d3138]
xor edx, 0xf83b6e3
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x60]
sub eax, 1
mov ecx, dword [ebp - 0x5c]
sbb ecx, 0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
push 0x5e789
push 0x4d06a8ab
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
call fcn.100a25b0
mov word [ebp - 0x1c], ax
mov cx, word [ebp - 0x28]
add cx, 1
mov word [ebp - 0x28], cx
jmp 0x1001c285
mov edx, dword [ebp - 0xb4]
add edx, 1
mov dword [ebp - 0xb4], edx
cmp dword [ebp - 0xb4], 0x1777
jl 0x1001c279
mov dword [ebp - 0xb8], 0
jmp 0x1001c385
mov eax, dword [ebp - 0xb8]
add eax, 2
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0x269
jge 0x1001c3e7
mov ecx, dword [0x100d31b4]
sub ecx, 1
mov dword [0x100d31b4], ecx
movsx eax, word [ebp - 0x2c]
cdq
add eax, 0xdfe2f50a
mov byte [0x100d304f], al
mov dx, word [0x100d3c78]
mov word [0x100d312c], dx
mov dword [0x100d3174], 0xed0b
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
movsx eax, word [ebp - 0x28]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov edx, dword [ebp - 0x80]
add edx, 1
mov dword [ebp - 0x80], edx
jmp 0x1001c376
mov eax, 0xaaa3
mov word [ebp - 0x1c], ax
mov eax, dword [ebp - 0x4c]
cdq
mov ecx, eax
mov eax, dword [ebp - 0x50]
cdq
sub eax, dword [ebp - 0x60]
not eax
sub eax, ecx
mov edx, dword [ebp - 0x80]
not edx
mov ecx, dword [0x100d3140]
not ecx
mov esi, dword [0x100d311c]
sub esi, ecx
sub esi, edx
mov edx, esi
sub edx, eax
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xa80], eax
mov dword [ebp - 0xa7c], ecx
mov edx, dword [ebp - 0xa80]
or edx, dword [ebp - 0xa7c]
je 0x1001c44c
mov eax, dword [0x100d3134]
mov dword [ebp - 0x1a4], eax
jmp 0x1001c459
movzx ecx, word [0x100d3178]
mov dword [ebp - 0x1a4], ecx
mov edx, dword [ebp - 0x1a4]
mov dword [0x100d311c], edx
movsx eax, byte [ebp - 0x12]
xor eax, dword [ebp - 0x80]
movsx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
movsx edx, word [ebp - 0x20]
mov eax, dword [0x100d311c]
sub eax, edx
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov edx, dword [ebp - 0x5c]
push edx
mov edx, dword [ebp - 0x60]
push edx
push ecx
push eax
call fcn.100a25b0
mov ecx, eax
mov ebx, edx
not ecx
not ebx
xor ecx, esi
xor ebx, edi
movsx edx, word [0x100d312c]
xor edx, dword [0x100d3134]
mov eax, dword [ebp - 0x4c]
imul eax, edx
cdq
xor eax, ecx
xor edx, ebx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movsx eax, word [0x100d312c]
cdq
mov ecx, dword [0x100d3120]
sub ecx, eax
mov eax, dword [0x100d3124]
sbb eax, edx
mov edx, dword [0x100d3120]
sub edx, ecx
mov ecx, dword [0x100d3124]
sbb ecx, eax
mov dword [0x100d3120], edx
mov dword [0x100d3124], ecx
mov ecx, 0x10
mov esi, dword [ebp + 8]
lea edi, [ebp - 0xe64]
rep movsd dword es:[edi], dword [esi]
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0xa88], edx
mov dword [ebp - 0xa84], eax
mov ecx, dword [ebp - 0xa88]
or ecx, dword [ebp - 0xa84]
je 0x1001c7ce
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x1001c7ce
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0xa90], eax
mov dword [ebp - 0xa8c], edx
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0xa8c]
ja 0x1001c570
jb 0x1001c564
mov ecx, dword [ebp - 0x7c]
cmp ecx, dword [ebp - 0xa90]
jae 0x1001c570
mov dword [ebp - 0x1a8], 1
jmp 0x1001c57a
mov dword [ebp - 0x1a8], 0
cmp dword [ebp - 0x78], 0
ja 0x1001c594
jb 0x1001c588
cmp dword [ebp - 0x7c], 0x3c
jae 0x1001c594
mov dword [ebp - 0x1ac], 1
jmp 0x1001c59e
mov dword [ebp - 0x1ac], 0
mov edx, dword [ebp - 0x1a8]
cmp edx, dword [ebp - 0x1ac]
jle 0x1001c701
mov dword [ebp - 4], 0
mov eax, dword [ebp - 0x44]
cdq
sub eax, 0x819f8321
mov byte [0x100d3026], al
imul eax, dword [ebp - 0x84], 0x38da
movzx ecx, word [0x100d3178]
and ecx, eax
mov word [0x100d3178], cx
mov eax, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov cl, 3
call fcn.100a25f0
mov word [ebp - 0x28], ax
movsx edx, byte [0x100d3026]
add edx, 0xe8
mov word [ebp - 0x1c], dx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x7c]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0x15]
cdq
add eax, 0x889a7d1d
mov edx, dword [0x100d31b4]
sub edx, eax
mov dword [0x100d31b4], edx
jmp 0x1001c6ec
mov dword [ebp - 4], 0xffffffff
jmp 0x1001c6fc
jmp 0x1001c7ce
mov edx, dword [0x100d3140]
xor eax, eax
push 0x46d7
push 0x749cde82
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x84], eax
movzx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x1001c734
mov dword [ebp - 0x1b0], 1
jmp 0x1001c73e
mov dword [ebp - 0x1b0], 0
mov edx, dword [0x100d3174]
add edx, dword [ebp - 0x1b0]
mov word [ebp - 0x30], dx
cmp dword [0x100d3190], 0
je 0x1001c770
mov eax, dword [0x100d3168]
mov ecx, dword [0x100d316c]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], ecx
jmp 0x1001c781
mov edx, dword [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x4a0], edx
mov dword [ebp - 0x49c], eax
mov ecx, dword [ebp - 0x4a0]
mov edx, dword [ebp - 0x49c]
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
mov eax, 1
imul ecx, eax, 0x33ff
mov dl, byte [0x100d315c]
mov byte [ecx + 0x101221e0], dl
push 0
push 0xf183bf8d
mov eax, dword [0x100d3154]
push eax
mov ecx, dword [0x100d3150]
push ecx
call fcn.100a25b0
mov dword [0x100d3170], eax
imul edx, dword [ebp - 0xbc], 0x171
imul edx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xbc]
sub eax, 0x3c8
cmp eax, edx
je 0x10027817
movsx ecx, word [ebp - 0x2c]
imul ecx, dword [0x100d3174]
mov edx, dword [0x100d3144]
not edx
sub edx, ecx
mov byte [ebp - 0x11], dl
mov eax, dword [0x100d3150]
xor eax, 0x9b
mov word [ebp - 0x28], ax
mov ecx, dword [0x100d3134]
xor ecx, dword [0x100d3134]
mov edx, dword [0x100d3134]
sub edx, ecx
mov dword [0x100d3134], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xdb0], ecx
sub eax, 0xca1c
mov byte [0x100d3063], al
movzx edx, byte [0x100d304f]
add edx, 0xc8a8abd
mov eax, dword [0x100d311c]
sub eax, edx
mov dword [0x100d311c], eax
mov ecx, dword [0x100d3120]
sub ecx, 0x65
mov edx, dword [0x100d3124]
sbb edx, 0
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
mov dword [ebp - 0xc0], 0x1f1
jmp 0x1001c89a
mov eax, dword [ebp - 0xc0]
sub eax, 1
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
jle 0x1001cb3b
mov ecx, dword [ebp - 0x80]
xor edx, edx
mov dword [ebp - 0xa98], ecx
mov dword [ebp - 0xa94], edx
mov eax, dword [ebp - 0xa98]
cmp eax, dword [0x100d3148]
jne 0x1001c8e8
mov ecx, dword [ebp - 0xa94]
cmp ecx, dword [0x100d314c]
jne 0x1001c8e8
xor edx, edx
mov dword [ebp - 0x588], 1
mov dword [ebp - 0x584], edx
jmp 0x1001c8f3
xorps xmm0, xmm0
movlpd qword [ebp - 0x588], xmm0
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x588]
mov ecx, dword [ebp - 0x64]
sbb ecx, dword [ebp - 0x584]
mov dword [ebp - 0xaa0], eax
mov dword [ebp - 0xa9c], ecx
mov edx, dword [ebp - 0xaa0]
or edx, dword [ebp - 0xa9c]
je 0x1001c9fb
mov eax, dword [0x100d3c78]
mov dword [0x100d311c], eax
movsx ecx, byte [0x100d304e]
test ecx, ecx
jne 0x1001c944
mov dword [ebp - 0x1b4], 1
jmp 0x1001c94e
mov dword [ebp - 0x1b4], 0
mov edx, dword [ebp - 0x6c]
not edx
sub edx, dword [ebp - 0x1b4]
mov byte [ebp - 0x13], dl
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movzx eax, word [0x100d315c]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
movzx eax, word [0x100d315c]
cdq
push ebx
push edi
push edx
push eax
call fcn.100a25b0
mov word [0x100d315c], ax
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0xaa8], edx
mov dword [ebp - 0xaa4], eax
mov ecx, dword [ebp - 0xaa8]
or ecx, dword [ebp - 0xaa4]
je 0x1001c9bc
mov dl, byte [0x100d3026]
mov byte [ebp - 0x8a], dl
jmp 0x1001c9c5
mov al, byte [ebp - 0x14]
mov byte [ebp - 0x8a], al
movsx eax, byte [ebp - 0x8a]
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov ecx, dword [ebp - 0x54]
mov edx, dword [0x100d3150]
sub edx, dword [ebp - 0x58]
mov eax, dword [0x100d3154]
sbb eax, ecx
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
jmp 0x1001cb2a
mov ecx, 0x78
test ecx, ecx
je 0x1001cb2a
movsx eax, word [ebp - 0x30]
cdq
sub eax, 0x1c1f502d
sbb edx, 0xfffe6940
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movsx edx, word [0x100d3128]
test edx, edx
jne 0x1001ca35
mov dword [ebp - 0x1b8], 1
jmp 0x1001ca3f
mov dword [ebp - 0x1b8], 0
mov eax, 0x2699
sub eax, dword [0x100d3120]
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xdac], edx
add ecx, dword [0x100d3150]
sub ecx, eax
movsx eax, byte [0x100d304e]
movsx edx, word [0x100d31b0]
not edx
add edx, eax
not edx
mov eax, dword [0x100d3190]
xor eax, dword [ebp - 0x1b8]
sub eax, edx
cdq
add eax, ecx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xab0], eax
mov dword [ebp - 0xaac], ecx
mov edx, dword [ebp - 0xab0]
or edx, dword [ebp - 0xaac]
jne 0x1001cab4
mov dword [ebp - 0x1bc], 1
jmp 0x1001cabe
mov dword [ebp - 0x1bc], 0
movzx eax, word [ebp - 0x24]
cdq
mov ecx, 0xdf7fd4aa
sub ecx, eax
mov eax, 0xc2079
sbb eax, edx
not ecx
not eax
mov edx, dword [ebp - 0x60]
sub edx, ecx
mov ecx, dword [ebp - 0x5c]
sbb ecx, eax
not edx
not ecx
mov eax, dword [ebp - 0x1bc]
add eax, 0x40613863
not eax
imul eax, dword [ebp - 0x6c]
xor esi, esi
add eax, edx
adc esi, ecx
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], esi
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xda8], edx
sub ecx, 0xb4
mov dword [0x100d3140], ecx
movsx eax, byte [0x100d304e]
cdq
xor eax, 0x2134693c
mov byte [0x100d3027], al
mov ax, word [ebp - 0x1c]
add ax, 1
mov word [ebp - 0x1c], ax
jmp 0x1001c88b
movzx ecx, word [ebp - 0xe64]
cmp ecx, 0x5a4d
jne 0x10027817
mov ecx, 7
mov esi, str.GdiplusStartup
lea edi, [ebp - 0xe84]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea edx, [ebp - 0xe84]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x100d315c], ax
mov eax, 1
test eax, eax
je 0x1001ce1d
movsx ecx, word [0x100d312c]
cmp ecx, dword [ebp - 0x44]
jle 0x1001cb9a
mov dword [ebp - 0x1c0], 1
jmp 0x1001cba4
mov dword [ebp - 0x1c0], 0
movsx edx, word [0x100d312c]
cmp edx, 7
jle 0x1001cbbc
mov dword [ebp - 0x1c4], 1
jmp 0x1001cbc6
mov dword [ebp - 0x1c4], 0
mov eax, dword [ebp - 0x1c0]
cmp eax, dword [ebp - 0x1c4]
jge 0x1001cda5
mov dword [ebp - 0xc4], 0
jmp 0x1001cbf3
mov ecx, dword [ebp - 0xc4]
add ecx, 1
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0x18a
jge 0x1001cda3
xor edx, edx
mov word [ebp - 0x28], dx
cmp dword [0x100d3170], 0
je 0x1001cc26
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], ecx
jmp 0x1001cc36
mov eax, dword [ebp - 0x50]
cdq
mov dword [ebp - 0x590], eax
mov dword [ebp - 0x58c], edx
mov dx, word [ebp - 0x590]
mov word [0x100d315c], dx
mov eax, 4
mov word [0x100d31b0], ax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xab8], ecx
mov dword [ebp - 0xab4], edx
mov eax, dword [ebp - 0xab8]
or eax, dword [ebp - 0xab4]
je 0x1001cc7d
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x1c8], ecx
jmp 0x1001cc8a
movzx edx, byte [0x100d304f]
mov dword [ebp - 0x1c8], edx
mov al, byte [ebp - 0x1c8]
mov byte [0x100d3027], al
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x84], ecx
mov eax, dword [ebp - 0x84]
cdq
push edx
push eax
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
add eax, dword [0x100d3168]
adc edx, dword [0x100d316c]
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x684], ecx
cmp dword [ebp - 0x684], 0
je 0x1001cce8
jmp 0x1001cd95
movsx eax, byte [0x100d3026]
cdq
mov ecx, dword [0x100d318c]
push ecx
mov ecx, dword [0x100d3188]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [0x100d3026]
cdq
add eax, ecx
mov byte [0x100d3026], al
movzx eax, word [ebp - 0x1c]
cdq
push edx
push eax
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x68]
push eax
call fcn.100a25b0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx eax, byte [0x100d3026]
cdq
add eax, 0x241ddbee
adc edx, 0x2a555
push edx
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x60]
push edx
call fcn.100a25b0
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, 0x61f40
mov dword [ebp - 0x38], 0x7e86fb48
mov dword [ebp - 0x34], eax
movsx ecx, word [ebp - 0x2c]
add ecx, dword [0x100d3144]
movsx edx, word [ebp - 0x2c]
add edx, ecx
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0
push 0x6f65f022
push ecx
push eax
call fcn.100a25b0
mov word [0x100d31b0], ax
mov dl, byte [ebp - 0x11]
add dl, 1
mov byte [ebp - 0x11], dl
jmp 0x1001cbe4
jmp 0x1001ce18
mov eax, dword [ebp - 0x60]
not eax
mov ecx, dword [ebp - 0x5c]
not ecx
mov dword [ebp - 0xac0], eax
mov dword [ebp - 0xabc], ecx
mov edx, dword [ebp - 0xac0]
or edx, dword [ebp - 0xabc]
je 0x1001ce18
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0xda4], ecx
sub eax, 0xcfff0a32
mov dword [ebp - 0x4c], eax
mov dx, word [ebp - 0x24]
sub dx, 1
mov word [ebp - 0x24], dx
movsx eax, byte [0x100d3026]
add eax, 0x38c2102d
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xdb8], ecx
sub eax, 0x6f71521a
mov word [0x100d315c], ax
jmp 0x1001ced6
movsx edx, byte [ebp - 0x12]
imul eax, edx, 0xb04b7906
mov word [0x100d3128], ax
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1001ce41
mov dword [ebp - 0x1cc], 1
jmp 0x1001ce4b
mov dword [ebp - 0x1cc], 0
movsx edx, byte [0x100d304e]
sub edx, 0x65
movzx eax, word [ebp - 0x1c]
imul eax, dword [ebp - 0x1cc]
and eax, edx
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movzx eax, word [0x100d315c]
cdq
push 0xe3c69
push 0x839b1c96
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x48], eax
push 0
push 0x74
mov eax, dword [ebp - 0x78]
push eax
mov ecx, dword [ebp - 0x7c]
push ecx
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
movzx edx, byte [0x100d304f]
movzx eax, word [ebp - 0x1c]
add eax, edx
movzx ecx, word [ebp - 0x1c]
imul ecx, eax
mov word [ebp - 0x1c], cx
mov edx, 1
imul eax, edx, 0x3a
movzx ecx, byte [eax + 0x101221e0]
mov edx, dword [ebp - 0x48]
add edx, ecx
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0xe28], 0x40
jbe 0x1001d1b9
call dword [sym.imp.KERNEL32.dll_GetThreadUILanguage]
movzx eax, ax
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x78]
je 0x1001d0f7
xorps xmm0, xmm0
movlpd qword [ebp - 0x38], xmm0
movsx ecx, word [0x100d3130]
imul edx, ecx, 0x4b
movsx eax, byte [0x100d304e]
add eax, edx
mov byte [0x100d304e], al
movsx ecx, word [ebp - 0x2c]
add ecx, dword [0x100d31b4]
movsx edx, word [ebp - 0x2c]
or edx, ecx
mov word [ebp - 0x2c], dx
movzx eax, word [0x100d315c]
cdq
mov ecx, 8
imul ecx, ecx, 0x2b
mov esi, dword [ecx + 0x1033745c]
push esi
mov ecx, dword [ecx + 0x10337458]
push ecx
push edx
push eax
call fcn.100a25b0
mov word [0x100d315c], ax
movsx edx, byte [ebp - 0x14]
add edx, dword [ebp - 0x44]
jne 0x1001cf73
mov dword [ebp - 0x1d0], 1
jmp 0x1001cf7d
mov dword [ebp - 0x1d0], 0
movsx eax, word [ebp - 0x30]
add eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x44], eax
movzx ecx, word [0x100d3178]
imul edx, ecx, 0xea2
mov word [ebp - 0x24], dx
movsx eax, byte [0x100d304e]
test eax, eax
jne 0x1001cfb2
mov dword [ebp - 0x1d4], 1
jmp 0x1001cfbc
mov dword [ebp - 0x1d4], 0
mov eax, dword [ebp - 0x44]
not eax
xor eax, dword [ebp - 0x1d4]
cdq
mov ecx, eax
sub ecx, dword [0x100d3148]
movsx eax, word [ebp - 0x30]
add eax, 0x53
cdq
xor eax, ecx
mov word [0x100d31b0], ax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xac8], edx
mov dword [ebp - 0xac4], eax
mov ecx, dword [ebp - 0xac8]
or ecx, dword [ebp - 0xac4]
je 0x1001d005
jmp 0x1001d0f2
movsx edx, byte [ebp - 0x12]
mov eax, dword [ebp - 0x50]
imul eax, edx
mov dword [ebp - 0x50], eax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0xad0], ecx
mov dword [ebp - 0xacc], edx
mov eax, dword [ebp - 0xad0]
or eax, dword [ebp - 0xacc]
jne 0x1001d044
mov dword [ebp - 0x1d8], 1
jmp 0x1001d04e
mov dword [ebp - 0x1d8], 0
movsx ecx, word [0x100d312c]
movzx edx, word [0x100d3178]
imul edx, ecx
movzx eax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x1d8]
sub ecx, eax
imul ecx, edx
mov eax, ecx
cdq
mov ecx, dword [ebp - 0x80]
xor esi, esi
add ecx, dword [ebp - 0x60]
adc esi, dword [ebp - 0x5c]
mov edi, dword [ebp - 0x60]
and edi, dword [ebp - 0x7c]
mov ebx, dword [ebp - 0x5c]
and ebx, dword [ebp - 0x78]
sub edi, ecx
sbb ebx, esi
push edx
push eax
push ebx
push edi
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov eax, dword [ebp - 0x44]
add eax, 0x6afc
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov ecx, dword [ebp - 0x70]
push ecx
mov ecx, dword [ebp - 0x74]
push ecx
push eax
push edx
call fcn.100a25b0
mov word [ebp - 0x28], ax
mov edx, dword [ebp - 0x84]
not edx
imul edx, dword [0x100d3174]
add edx, 0xcd
xor edx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
jmp 0x1001d180
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x6c]
sub edx, ecx
mov dword [ebp - 0x6c], edx
movzx eax, byte [0x100d304f]
xor eax, dword [0x100d3158]
movzx ecx, byte [0x100d304f]
sub ecx, eax
mov byte [0x100d304f], cl
mov eax, dword [0x100d3148]
mov edx, dword [0x100d314c]
mov cl, 7
call fcn.100a2610
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0xdc0], eax
add edx, 0xec86
mov dword [0x100d311c], edx
movsx ecx, word [0x100d31b0]
imul ecx, dword [0x100d3170]
movsx edx, word [0x100d31b0]
sub edx, ecx
mov word [0x100d31b0], dx
mov dword [ebp - 0x44], 0x75dfbb17
mov eax, dword [0x100d311c]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0xe28]
sub ecx, 0x40
push ecx
mov edx, dword [ebp + 8]
add edx, 0x40
push edx
mov eax, 1
imul ecx, eax, 0
lea edx, [ebp + ecx - 0x155c]
push edx
call fcn.100a33d0
add esp, 0xc
mov eax, dword [ebp - 0x44]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0xe28]
mov dword [ebp - 0x25c], ecx
mov dword [ebp - 0x48], 0x952a
movzx edx, byte [0x100d304f]
imul edx, dword [0x100d3158]
xor eax, eax
mov ecx, dword [0x100d313c]
push ecx
mov ecx, dword [0x100d3138]
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
push 0
push 0x6c
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x74]
push eax
call fcn.100a25b0
mov word [0x100d3178], ax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
sub ecx, 1
sbb edx, 0
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x84]
add eax, 0xe5
mov word [ebp - 0x24], ax
mov ecx, 0x3e
mov esi, dword [ebp - 0x25c]
lea edi, [ebp - 0xfcc]
rep movsd dword es:[edi], dword [esi]
mov dword [ebp - 0xc8], 0
jmp 0x1001d272
mov ecx, dword [ebp - 0xc8]
add ecx, 2
mov dword [ebp - 0xc8], ecx
cmp dword [ebp - 0xc8], 0x1cc
jge 0x1001d54c
mov dword [ebp - 0xcc], 0x1d48
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0xad8], edx
mov dword [ebp - 0xad4], eax
mov ecx, dword [ebp - 0xad8]
or ecx, dword [ebp - 0xad4]
jne 0x1001d2e6
mov dword [ebp - 0x1dc], 1
jmp 0x1001d2f0
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x74]
add ecx, dword [0x100d3160]
mov esi, dword [ebp - 0x70]
adc esi, dword [0x100d3164]
not ecx
not esi
sub ecx, dword [ebp - 0x68]
sbb esi, dword [ebp - 0x64]
not ecx
not esi
movsx edx, byte [ebp - 0x12]
mov eax, dword [ebp - 0x84]
sub eax, edx
sub eax, dword [ebp - 0x1dc]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov eax, dword [0x100d3120]
sub eax, 0x70dbf5d4
mov dword [0x100d3170], eax
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1001d367
mov edx, dword [0x100d3138]
mov eax, dword [0x100d313c]
mov dword [ebp - 0x598], edx
mov dword [ebp - 0x594], eax
jmp 0x1001d37f
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x598], ecx
mov dword [ebp - 0x594], edx
mov eax, dword [ebp - 0x598]
mov dword [ebp - 0x84], eax
movsx ecx, byte [ebp - 0x12]
imul edx, ecx, 0xc740
test edx, edx
jne 0x1001d3ad
xor eax, eax
mov dword [ebp - 0x5a8], 1
mov dword [ebp - 0x5a4], eax
jmp 0x1001d3b8
xorps xmm0, xmm0
movlpd qword [ebp - 0x5a8], xmm0
mov ecx, dword [0x100d3138]
or ecx, dword [0x100d313c]
jne 0x1001d3da
xor edx, edx
mov dword [ebp - 0x5a0], 1
mov dword [ebp - 0x59c], edx
jmp 0x1001d3e5
xorps xmm0, xmm0
movlpd qword [ebp - 0x5a0], xmm0
movzx eax, byte [0x100d304f]
add eax, 0xd603
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x68]
not edi
mov ebx, dword [ebp - 0x64]
not ebx
movsx eax, word [0x100d31b0]
cdq
add eax, edi
adc edx, ebx
add eax, ecx
adc edx, esi
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
mov ecx, dword [ebp - 0x59c]
push ecx
mov ecx, dword [ebp - 0x5a0]
push ecx
mov dword [ebp - 0x688], eax
mov dword [ebp - 0x68c], edx
call fcn.100a25b0
not eax
not edx
xor eax, dword [ebp - 0x5a8]
xor edx, dword [ebp - 0x5a4]
mov esi, dword [ebp - 0x688]
sub eax, esi
mov esi, dword [ebp - 0x68c]
sbb edx, esi
mov dword [ebp - 0xae0], eax
mov dword [ebp - 0xadc], edx
mov edx, dword [ebp - 0xae0]
or edx, dword [ebp - 0xadc]
jne 0x1001d47d
mov dword [ebp - 0x1e0], 1
jmp 0x1001d487
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1e0]
mov dword [ebp - 0x44], eax
cmp dword [ebp - 0xcc], 0x1b9f
jle 0x1001d53b
mov ecx, dword [0x100d31b4]
imul ecx, dword [0x100d3174]
mov edx, dword [0x100d31b4]
sub edx, ecx
mov dword [0x100d31b4], edx
mov eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x64]
je 0x1001d4d7
mov eax, dword [0x100d3190]
cdq
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], edx
jmp 0x1001d4ef
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x5b0], ecx
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x5b0]
mov dword [0x100d3174], eax
imul ecx, dword [ebp - 0x80], 0xec13
xor edx, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x7c]
add eax, 1
mov ecx, dword [ebp - 0x78]
adc ecx, 0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov edx, 0xb
mov word [0x100d3130], dx
mov eax, dword [ebp - 0xcc]
sub eax, 1
mov dword [ebp - 0xcc], eax
jmp 0x1001d490
mov cx, word [ebp - 0x20]
add cx, 1
mov word [ebp - 0x20], cx
jmp 0x1001d263
cmp dword [ebp - 0xfcc], 0x4550
jne 0x10027817
mov dword [ebp - 0xd0], 0x1e27
mov edx, 1
imul eax, edx, 0x4f
movsx cx, byte [eax + 0x10196a18]
mov word [ebp - 0x2c], cx
imul edx, dword [ebp - 0x80], 0x69ec4b78
movsx eax, byte [0x100d3026]
imul eax, edx
mov byte [0x100d3026], al
mov ecx, dword [0x100d3148]
sub ecx, dword [0x100d3138]
mov edx, dword [0x100d314c]
sbb edx, dword [0x100d313c]
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0
push 0x564
push ecx
push eax
call fcn.100a25b0
mov word [0x100d3128], ax
mov edx, 0xfffffc96
mov word [0x100d3128], dx
cmp dword [ebp - 0xd0], 0x1c69
jle 0x1001d614
jmp 0x1001d5ed
jmp 0x1001d603
mov eax, dword [ebp - 0xd0]
sub eax, 1
mov dword [ebp - 0xd0], eax
jmp 0x1001d5da
movzx ecx, byte [0x100d3063]
movsx edx, byte [0x100d3026]
imul edx, ecx
mov byte [0x100d3026], dl
movsx eax, byte [0x100d3026]
imul ecx, eax, 0x8d67a24f
mov dword [0x100d3140], ecx
cmp dword [0x100d31b4], 0
jne 0x1001d653
mov dword [ebp - 0x1e4], 1
jmp 0x1001d65d
mov dword [ebp - 0x1e4], 0
xor eax, eax
sub eax, dword [0x100d3134]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [ebp - 0x38]
mov ebx, dword [ebp - 0x34]
movsx eax, byte [0x100d3026]
cdq
add eax, edi
adc edx, ebx
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0xae8], eax
mov dword [ebp - 0xae4], edx
mov edx, dword [ebp - 0xae8]
or edx, dword [ebp - 0xae4]
jne 0x1001d6b3
xor eax, eax
mov dword [ebp - 0x5b8], 1
mov dword [ebp - 0x5b4], eax
jmp 0x1001d6be
xorps xmm0, xmm0
movlpd qword [ebp - 0x5b8], xmm0
mov ecx, dword [0x100d3144]
xor edx, edx
mov eax, dword [0x100d314c]
push eax
mov eax, dword [0x100d3148]
push eax
push edx
push ecx
call fcn.100a25b0
not eax
not edx
mov ecx, dword [0x100d3158]
add ecx, dword [ebp - 0x1e4]
xor esi, esi
sub ecx, eax
sbb esi, edx
not ecx
not esi
mov edx, dword [ebp - 0x5b4]
push edx
mov eax, dword [ebp - 0x5b8]
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0xaf0], eax
mov dword [ebp - 0xaec], edx
mov ecx, dword [ebp - 0xaf0]
or ecx, dword [ebp - 0xaec]
jne 0x1001d72e
mov dword [ebp - 0x1e8], 1
jmp 0x1001d738
mov dword [ebp - 0x1e8], 0
mov edx, dword [ebp - 0x1e8]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x44]
cdq
and eax, dword [0x100d3150]
and edx, dword [0x100d3154]
add eax, dword [0x100d3150]
adc edx, dword [0x100d3154]
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov eax, dword [0x100d3138]
sub eax, 0x47b4804b
mov word [0x100d312c], ax
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xd4], ecx
xor edx, edx
mov dword [0x100d3168], 4
mov dword [0x100d316c], edx
push 0x590da
push 0x3ce028f9
mov eax, dword [0x100d3124]
push eax
mov ecx, dword [0x100d3120]
push ecx
call fcn.100a25b0
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x84]
sub edx, 0x632dd901
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x50]
xor eax, 0xf0ee
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov al, byte [0x100d3148]
mov byte [0x100d304e], al
movzx ecx, word [0x100d3178]
sub ecx, 0x13
mov word [ebp - 0x28], cx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xdc4], edx
movzx eax, word [ebp - 0x1c]
cdq
mov esi, eax
sub esi, ecx
movsx eax, word [0x100d31b0]
cdq
mov ecx, eax
add ecx, esi
mov eax, dword [0x100d3190]
cdq
sub eax, ecx
mov byte [0x100d3026], al
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], eax
cmp dword [ebp - 0x5bc], 0
ja 0x1001dc09
jb 0x1001d853
cmp dword [ebp - 0x5c0], 4
ja 0x1001dc09
mov ecx, dword [ebp - 0x5c0]
mov dword [ebp - 0xe20], ecx
mov edx, dword [ebp - 0xe20]
jmp dword [edx*4 + 0x100279f4]
mov ecx, dword [ebp - 0xd4]
add ecx, 0x559
mov dword [ebp - 0x698], ecx
movzx edx, byte [0x100d3063]
cmp edx, dword [ebp - 0x48]
je 0x1001dc33
mov dword [ebp - 0x200], 1
jmp 0x1001dc3d
mov dword [ebp - 0x200], 0
movzx eax, byte [0x100d3063]
cmp eax, 0x56
je 0x1001dc55
mov dword [ebp - 0x204], 1
jmp 0x1001dc5f
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x200]
cmp ecx, dword [ebp - 0x204]
jge 0x1001dd95
push 0
push 0x21
push 0
movsx edx, word [ebp - 0x30]
push edx
push 0
mov eax, dword [0x100d3170]
push eax
call fcn.1005c200
add esp, 0x18
mov dword [0x100d3140], eax
cmp dword [0x100d3140], 0
je 0x1001dcb2
call dword [sym.imp.KERNEL32.dll_GetCurrentThreadId]
xor ecx, ecx
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
jmp 0x1001dd90
cmp dword [ebp - 0x6c], 0xf26222df
je 0x1001dd90
mov edx, dword [ebp - 0x74]
sub edx, 0xf4
mov dword [0x100d3170], edx
xor eax, eax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
xor ecx, dword [0x100d3140]
xor edx, eax
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
sub eax, ecx
sbb esi, edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], esi
movsx ecx, word [ebp - 0x2c]
movsx edx, byte [ebp - 0x14]
add edx, ecx
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
add eax, 0x565e06cd
adc ecx, 0
mov dword [0x100d3188], eax
mov dword [0x100d318c], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
push 0
push 0x3e68
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x50], eax
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x1001dd44
mov dword [ebp - 0x208], 1
jmp 0x1001dd4e
mov dword [ebp - 0x208], 0
movsx edx, word [ebp - 0x20]
imul edx, dword [ebp - 0x44]
test edx, edx
jne 0x1001dd66
mov dword [ebp - 0x20c], 1
jmp 0x1001dd70
mov dword [ebp - 0x20c], 0
movzx eax, word [ebp - 0x24]
movzx ecx, byte [0x100d304f]
xor ecx, dword [ebp - 0x208]
xor ecx, dword [ebp - 0x20c]
add ecx, eax
mov word [0x100d3130], cx
jmp 0x1001de36
movsx edx, byte [0x100d3026]
not edx
test edx, edx
je 0x1001de36
movzx eax, word [ebp - 0x24]
add eax, 0x496e513f
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
movzx edx, word [ebp - 0x24]
mov eax, dword [0x100d3190]
add eax, edx
mov dword [0x100d3190], eax
movsx ecx, byte [ebp - 0x14]
movsx edx, byte [ebp - 0x14]
sub edx, ecx
mov byte [ebp - 0x14], dl
movsx eax, word [ebp - 0x2c]
sar eax, 3
mov byte [ebp - 0x14], al
movsx ecx, word [0x100d3128]
mov edx, dword [0x100d3140]
and edx, ecx
jne 0x1001de03
xor eax, eax
mov dword [ebp - 0xb10], 1
mov dword [ebp - 0xb0c], eax
jmp 0x1001de0e
xorps xmm0, xmm0
movlpd qword [ebp - 0xb10], xmm0
mov eax, dword [0x100d3190]
cdq
push edx
push eax
mov ecx, dword [0x100d318c]
push ecx
mov edx, dword [0x100d3188]
push edx
call fcn.100a25b0
not eax
add eax, dword [ebp - 0xb10]
mov byte [0x100d304e], al
mov eax, dword [ebp - 0xd4]
add eax, 0x6bb
mov dword [ebp - 0x690], eax
movzx ecx, byte [0x100d3063]
sub ecx, 0x121ec884
mov byte [ebp - 0x11], cl
movsx edx, word [0x100d312c]
mov dword [ebp - 0x48], edx
mov eax, dword [0x100d3158]
not eax
mov ecx, dword [0x100d3144]
add ecx, eax
mov word [0x100d3178], cx
mov edx, dword [0x100d3120]
add edx, 0xa3
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x6c]
imul eax, dword [ebp - 0x6c]
imul eax, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x619
mov dword [0x100d31b4], ecx
mov edx, dword [ebp - 0xd4]
add edx, 0x5df
mov dword [ebp - 0x694], edx
mov eax, dword [ebp - 0x7c]
add eax, 0xa161eca3
mov ecx, dword [ebp - 0x78]
adc ecx, 0xef818
mov dword [ebp - 0xb18], eax
mov dword [ebp - 0xb14], ecx
mov edx, dword [ebp - 0xb18]
or edx, dword [ebp - 0xb14]
je 0x1001df45
push 0xfa50f
push 0xb605dc7d
mov eax, dword [0x100d3164]
push eax
mov ecx, dword [0x100d3160]
push ecx
call fcn.100a25b0
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
movsx edx, byte [ebp - 0x11]
add edx, dword [0x100d3144]
mov byte [ebp - 0x11], dl
mov dword [0x100d3190], 0x63bf
mov eax, dword [ebp - 0x50]
sar eax, 6
mov byte [0x100d304f], al
movsx eax, byte [ebp - 0x12]
cdq
push 0x4e814
push 0xc3844127
push edx
push eax
call fcn.100a25b0
mov word [0x100d3178], ax
mov ecx, dword [ebp - 0x690]
sub ecx, dword [ebp - 0x694]
cmp dword [ebp - 0x698], ecx
je 0x10027817
call dword [sym.imp.USER32.dll_GetMessageExtraInfo]
mov word [ebp - 0x24], ax
movzx edx, word [ebp - 0x24]
test edx, edx
je 0x1001e0e8
push 0x79
push 0xfffffffffffffff7
push 0xffffffffffffffa6
push 0
call fcn.10058a50
add esp, 0x10
movsx eax, al
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x1001dfdd
push 0
push 0xbf
mov ecx, dword [0x100d3124]
push ecx
mov edx, dword [0x100d3120]
push edx
call fcn.100a25b0
mov word [0x100d312c], ax
movsx eax, byte [ebp - 0x12]
sar eax, 6
mov dword [ebp - 0x48], eax
mov cx, word [0x100d3c78]
mov word [0x100d31b0], cx
mov edx, 0x5749
mov word [ebp - 0x20], dx
mov eax, dword [ebp - 0x7c]
not eax
mov dword [ebp - 0x44], eax
jmp 0x1001e0e3
mov ecx, dword [0x100d3148]
or ecx, dword [0x100d314c]
je 0x1001e0e3
mov edx, dword [0x100d3150]
add edx, 0x2c
mov eax, dword [0x100d3154]
adc eax, 0
add edx, dword [0x100d3188]
adc eax, dword [0x100d318c]
mov dword [0x100d3188], edx
mov dword [0x100d318c], eax
mov ecx, dword [0x100d3190]
and ecx, dword [0x100d3134]
jne 0x1001e031
mov dword [ebp - 0x210], 1
jmp 0x1001e03b
mov dword [ebp - 0x210], 0
movsx edx, word [ebp - 0x20]
or edx, dword [ebp - 0x210]
jne 0x1001e05b
xor eax, eax
mov dword [ebp - 0x5c8], 1
mov dword [ebp - 0x5c4], eax
jmp 0x1001e066
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c8], xmm0
mov ecx, dword [ebp - 0x5c8]
mov edx, dword [ebp - 0x5c4]
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
mov eax, dword [0x100d3144]
add eax, dword [ebp - 0x68]
mov dword [0x100d3144], eax
movzx ecx, word [0x100d315c]
movsx edx, byte [ebp - 0x12]
sub edx, ecx
movsx eax, byte [ebp - 0x12]
add eax, edx
mov byte [ebp - 0x12], al
movsx ecx, word [0x100d3128]
test ecx, ecx
jne 0x1001e0b8
mov dword [ebp - 0x214], 1
jmp 0x1001e0c2
mov dword [ebp - 0x214], 0
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x214]
xor eax, eax
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
mov ecx, dword [0x100d3168]
sub ecx, 0xa01a88d8
mov word [ebp - 0x24], cx
jmp 0x1001e3ab
mov edx, dword [0x100d3188]
or edx, dword [0x100d318c]
jne 0x1001e102
mov dword [ebp - 0x218], 1
jmp 0x1001e10c
mov dword [ebp - 0x218], 0
movsx eax, word [ebp - 0x2c]
or eax, dword [ebp - 0x218]
je 0x1001e1fc
mov ecx, dword [0x100d3168]
add ecx, 0x5d
mov edx, dword [0x100d316c]
adc edx, 0
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
mov eax, dword [ebp - 0x7c]
not eax
mov ecx, dword [ebp - 0x78]
not ecx
or eax, dword [ebp - 0x38]
or ecx, dword [ebp - 0x34]
mov dword [ebp - 0xb20], eax
mov dword [ebp - 0xb1c], ecx
mov edx, dword [ebp - 0xb20]
or edx, dword [ebp - 0xb1c]
jne 0x1001e172
mov eax, 1
mov word [ebp - 0x96], ax
jmp 0x1001e17b
xor ecx, ecx
mov word [ebp - 0x96], cx
mov dx, word [ebp - 0x96]
mov word [0x100d312c], dx
movsx eax, word [0x100d312c]
test eax, eax
je 0x1001e19f
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x21c], ecx
jmp 0x1001e1ab
mov edx, dword [0x100d311c]
mov dword [ebp - 0x21c], edx
mov ax, word [ebp - 0x21c]
mov word [ebp - 0x28], ax
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movsx eax, word [ebp - 0x20]
cdq
push edx
push eax
mov eax, dword [ebp - 0x70]
push eax
mov ecx, dword [ebp - 0x74]
push ecx
call fcn.100a25b0
and eax, dword [ebp - 0x74]
and edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov edx, dword [0x100d3170]
sub edx, 0xba8a10f
mov word [0x100d315c], dx
jmp 0x1001e3ab
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0xb28], eax
mov dword [ebp - 0xb24], ecx
mov edx, dword [ebp - 0xb28]
or edx, dword [ebp - 0xb24]
je 0x1001e354
cmp dword [0x100d3190], 0
jne 0x1001e23d
xor eax, eax
mov dword [ebp - 0x5d0], 1
mov dword [ebp - 0x5cc], eax
jmp 0x1001e248
xorps xmm0, xmm0
movlpd qword [ebp - 0x5d0], xmm0
mov ecx, dword [ebp - 0x5d0]
sub ecx, dword [ebp - 0x74]
mov edx, dword [ebp - 0x5cc]
sbb edx, dword [ebp - 0x70]
not ecx
not edx
mov eax, dword [0x100d31b4]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x84]
add ecx, dword [0x100d3174]
xor esi, esi
mov edi, dword [0x100d3140]
not edi
xor ebx, ebx
mov dword [ebp - 0x69c], edx
mov edx, dword [ebp - 0x68]
sub edx, edi
mov edi, dword [ebp - 0x64]
sbb edi, ebx
sub edx, ecx
sbb edi, esi
add edx, eax
mov dword [ebp - 0x6a0], edx
mov edx, dword [ebp - 0x69c]
adc edi, edx
mov ecx, dword [ebp - 0x6a0]
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edi
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xddc], eax
add edx, 0x3c42e2f4
mov word [ebp - 0x30], dx
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xdd4], edx
and ecx, 0x67
mov dword [0x100d31b4], ecx
mov eax, dword [0x100d3174]
xor ecx, ecx
sub eax, dword [0x100d3120]
sbb ecx, dword [0x100d3124]
mov dword [ebp - 0xb30], eax
mov dword [ebp - 0xb2c], ecx
mov edx, dword [ebp - 0xb30]
or edx, dword [ebp - 0xb2c]
jne 0x1001e322
mov eax, 1
mov word [ebp - 0x9a], ax
jmp 0x1001e32b
xor ecx, ecx
mov word [ebp - 0x9a], cx
mov dx, word [ebp - 0x9a]
mov word [ebp - 0x30], dx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
add eax, 0x234578eb
adc ecx, 0x39a8
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
jmp 0x1001e3ab
mov edx, dword [0x100d3120]
or edx, dword [0x100d3124]
je 0x1001e3ab
mov ecx, dword [ebp - 0x68]
add ecx, 0x25
movsx eax, byte [ebp - 0x14]
cdq
sub eax, ecx
mov byte [ebp - 0x14], al
mov dword [0x100d31b4], 0x196a7dbd
movzx eax, byte [0x100d3027]
cdq
sub eax, 0x585e9567
sbb edx, 0x9e946
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
movzx edx, byte [ebp - 0x13]
imul eax, edx, 0xf7
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov eax, 0xfffff451
mov word [ebp - 0x20], ax
movzx ecx, byte [ebp - 0x13]
shl ecx, 2
mov byte [ebp - 0x15], cl
mov edx, dword [ebp - 0x4c]
sub edx, dword [ebp - 0x44]
jne 0x1001e3d2
mov dword [ebp - 0x220], 1
jmp 0x1001e3dc
mov dword [ebp - 0x220], 0
movsx eax, word [ebp - 0x30]
xor eax, dword [ebp - 0x220]
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0xde0], ecx
mov edx, 4
imul ecx, edx, 0x2950
mov dword [ecx + 0x10129e80], eax
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xd8], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0xb38], eax
mov dword [ebp - 0xb34], ecx
mov edx, dword [ebp - 0xb34]
cmp edx, dword [0x100d3124]
ja 0x1001e6e6
jb 0x1001e45d
mov eax, dword [ebp - 0xb38]
cmp eax, dword [0x100d3120]
jae 0x1001e6e6
mov ecx, dword [ebp - 0x54]
push ecx
mov edx, dword [ebp - 0x58]
push edx
call fcn.100597c0
add esp, 8
mov byte [ebp - 0x13], al
mov eax, dword [ebp - 0x84]
cdq
mov dword [ebp - 0xb40], eax
mov dword [ebp - 0xb3c], edx
mov eax, dword [0x100d318c]
cmp eax, dword [ebp - 0xb3c]
ja 0x1001e4d7
jb 0x1001e4a0
mov ecx, dword [0x100d3188]
cmp ecx, dword [ebp - 0xb40]
jae 0x1001e4d7
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
sub edx, 0x7ee42020
sbb eax, 0xfffc4fa7
mov dword [ebp - 0xb48], edx
mov dword [ebp - 0xb44], eax
mov ecx, dword [ebp - 0xb48]
or ecx, dword [ebp - 0xb44]
je 0x1001e4d7
mov dword [ebp - 0x22c], 1
jmp 0x1001e4e1
mov dword [ebp - 0x22c], 0
movzx edx, byte [0x100d3027]
cmp edx, dword [ebp - 0x48]
je 0x1001e4f9
mov dword [ebp - 0x224], 1
jmp 0x1001e503
mov dword [ebp - 0x224], 0
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
mov dword [ebp - 0xb50], ecx
mov dword [ebp - 0xb4c], esi
mov dword [ebp - 0xb58], eax
mov dword [ebp - 0xb54], edx
mov edx, dword [ebp - 0xb50]
cmp edx, dword [ebp - 0xb58]
jne 0x1001e548
mov eax, dword [ebp - 0xb4c]
cmp eax, dword [ebp - 0xb54]
je 0x1001e554
mov dword [ebp - 0x228], 1
jmp 0x1001e55e
mov dword [ebp - 0x228], 0
mov ecx, dword [ebp - 0x224]
add ecx, dword [ebp - 0x228]
cmp dword [ebp - 0x22c], ecx
jle 0x1001e677
movsx edx, word [ebp - 0x20]
movsx eax, word [0x100d31b0]
cmp eax, edx
jne 0x1001e622
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xc90], edx
add ecx, 0x686a2809
movsx eax, byte [0x100d3026]
cdq
add eax, ecx
mov byte [0x100d3026], al
mov eax, 8
mov word [ebp - 0x24], ax
mov ecx, dword [0x100d3140]
xor ecx, dword [ebp - 0x50]
mov dword [0x100d3140], ecx
mov edx, dword [0x100d3188]
add edx, 0x311ca85d
mov byte [0x100d304f], dl
mov eax, dword [0x100d3164]
push eax
mov ecx, dword [0x100d3160]
push ecx
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
push edx
push eax
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx eax, word [ebp - 0x20]
movsx ecx, byte [ebp - 0x12]
add ecx, eax
mov byte [ebp - 0x12], cl
jmp 0x1001e675
movsx edx, byte [ebp - 0x11]
test edx, edx
je 0x1001e675
mov eax, 1
mov word [0x100d3178], ax
movzx ecx, byte [0x100d304f]
movzx edx, byte [ebp - 0x15]
imul edx, ecx
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x48]
sub eax, dword [0x100d3160]
mov dword [ebp - 0x48], eax
movzx ecx, byte [0x100d3063]
sub ecx, 0x42f3e1bd
mov word [ebp - 0x20], cx
mov edx, dword [0x100d3144]
and edx, 0x94
mov dword [0x100d3134], edx
jmp 0x1001e6e4
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xc94], edx
movsx eax, byte [ebp - 0x12]
cdq
add eax, ecx
mov dl, byte [ebp - 0x12]
mov ecx, eax
shl dl, cl
mov byte [ebp - 0x12], dl
mov al, byte [0x100d3c78]
mov byte [0x100d304e], al
mov eax, dword [0x100d3134]
and eax, 0x1a276e19
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, dword [0x100d3174]
shr ecx, 7
mov word [ebp - 0x1c], cx
mov edx, dword [0x100d3174]
xor eax, eax
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
jmp 0x1001e759
xor edx, edx
mov dword [0x100d3180], 0x94
mov dword [0x100d3184], edx
movzx eax, byte [ebp - 0x15]
sub eax, 0x4492af4
mov byte [0x100d3026], al
mov ecx, dword [0x100d3148]
sub ecx, 0x200df4b9
movsx eax, byte [ebp - 0x12]
cdq
or eax, ecx
mov byte [ebp - 0x12], al
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0xc98], eax
mov ecx, dword [0x100d3170]
add ecx, edx
mov dword [0x100d3170], ecx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
push 0
push 0x9ca
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3140], eax
mov ecx, dword [ebp - 0xd8]
add ecx, 0x45f
mov dword [ebp - 0xf8], ecx
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x1001e7b9
mov edx, dword [ebp - 0xb0]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0xc9c], eax
mov eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0xca0], eax
mov ecx, dword [ebp - 0xb0]
push ecx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0xca4], eax
mov edx, dword [ebp - 0xd8]
add edx, 0x740
mov dword [ebp - 0xca8], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xb60], eax
mov dword [ebp - 0xb5c], ecx
mov edx, dword [ebp - 0xb5c]
cmp edx, dword [ebp - 0x70]
jb 0x1001e801
ja 0x1001e7f5
mov eax, dword [ebp - 0xb60]
cmp eax, dword [ebp - 0x74]
jbe 0x1001e801
mov dword [ebp - 0x230], 1
jmp 0x1001e80b
mov dword [ebp - 0x230], 0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xb68], ecx
mov dword [ebp - 0xb64], edx
cmp dword [ebp - 0xb64], 0
jl 0x1001e83d
jg 0x1001e831
cmp dword [ebp - 0xb68], 0x3a
jbe 0x1001e83d
mov dword [ebp - 0x234], 1
jmp 0x1001e847
mov dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x234]
jle 0x1001e8cd
movsx ecx, word [0x100d312c]
imul eax, ecx, 0x5f
cdq
add eax, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx edx, byte [0x100d3027]
test edx, edx
jne 0x1001e883
mov dword [ebp - 0x238], 1
jmp 0x1001e88d
mov dword [ebp - 0x238], 0
mov eax, dword [0x100d3190]
add eax, dword [ebp - 0x238]
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov eax, dword [0x100d3190]
cdq
sub eax, dword [0x100d3120]
mov dword [0x100d3190], eax
mov eax, 0x53b4
mov word [ebp - 0x28], ax
movzx ecx, word [0x100d315c]
imul ecx, dword [0x100d3170]
mov dword [0x100d3170], ecx
mov edx, dword [ebp - 0xd8]
add edx, 0x5bc
mov dword [ebp - 0x6b0], edx
movzx eax, byte [ebp - 0x13]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
mov word [ebp - 0x28], ax
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xdc], ecx
movzx edx, byte [0x100d312c]
push edx
push 0x5f
movzx eax, byte [0x100d3120]
push eax
movzx ecx, byte [ebp - 0x11]
push ecx
call fcn.10058a50
add esp, 0x10
movsx edx, al
mov dword [ebp - 0x4c], edx
cmp dword [0x100d3124], 0x44328
ja 0x1001e96e
jb 0x1001e939
cmp dword [0x100d3120], 0x5c252730
ja 0x1001e96e
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0xb70], eax
mov dword [ebp - 0xb6c], edx
cmp dword [ebp - 0xb70], 0xf85ab305
jne 0x1001e962
cmp dword [ebp - 0xb6c], 0x6ca01
je 0x1001e96e
mov dword [ebp - 0x244], 0
jmp 0x1001e978
mov dword [ebp - 0x244], 1
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
not ecx
not esi
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0xb78], eax
mov dword [ebp - 0xb74], edx
mov dword [ebp - 0xb80], ecx
mov dword [ebp - 0xb7c], esi
mov edx, dword [ebp - 0xb74]
cmp edx, dword [ebp - 0xb7c]
jl 0x1001e9fa
jg 0x1001e9bd
mov eax, dword [ebp - 0xb78]
cmp eax, dword [ebp - 0xb80]
jb 0x1001e9fa
movzx ecx, byte [0x100d304f]
cmp ecx, 0x83
jne 0x1001e9d8
mov dword [ebp - 0x23c], 1
jmp 0x1001e9e2
mov dword [ebp - 0x23c], 0
mov edx, dword [ebp - 0x23c]
not edx
test edx, edx
jne 0x1001e9fa
mov dword [ebp - 0x240], 0
jmp 0x1001ea04
mov dword [ebp - 0x240], 1
mov eax, dword [ebp - 0x240]
not eax
mov ecx, dword [ebp - 0x244]
not ecx
cmp ecx, eax
jl 0x1001eaa1
movsx edx, byte [ebp - 0x14]
imul eax, edx, 0xed
cdq
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
add eax, 0x9a138e9f
adc ecx, 0x72bb2
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
imul ecx, dword [0x100d3140], 0xfac9c8f4
xor edx, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movsx eax, byte [ebp - 0x11]
add eax, 0xa932663
mov byte [0x100d3026], al
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
movzx eax, byte [ebp - 0x13]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
movzx eax, byte [ebp - 0x13]
cdq
push ebx
push edi
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
jmp 0x1001eaee
movsx eax, word [0x100d3130]
sub eax, 0x3d
cdq
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
mov eax, dword [ebp - 0x50]
cdq
sub eax, dword [0x100d3138]
mov dword [ebp - 0x50], eax
mov edx, 0xffff926c
mov word [ebp - 0x2c], dx
mov eax, dword [0x100d3158]
add eax, 0x15f9564a
mov dword [0x100d3134], eax
mov eax, dword [ebp - 0x84]
add eax, 0xba
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0xdc]
add ecx, 0x654
mov dword [ebp - 0x6d0], ecx
mov edx, dword [0x100d3168]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0xdc]
add edx, 0x56e
mov dword [ebp - 0xcac], edx
mov eax, dword [0x100d3148]
or eax, dword [0x100d314c]
je 0x1001eba0
mov dword [0x100d3174], 0xe3
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x2c]
cdq
and eax, dword [0x100d3150]
and edx, dword [0x100d3154]
add eax, ecx
adc edx, esi
not eax
not edx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x50]
cdq
mov ecx, eax
add ecx, dword [0x100d3138]
mov eax, dword [ebp - 0x50]
cdq
sub eax, ecx
mov dword [ebp - 0x50], eax
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [0x100d3180], edx
mov dword [0x100d3184], eax
movsx ecx, byte [ebp - 0x12]
imul edx, ecx, 0x1947c43a
mov byte [ebp - 0x12], dl
jmp 0x1001ecaa
movzx eax, word [0x100d315c]
test eax, eax
je 0x1001ecaa
movsx ecx, word [ebp - 0x28]
sub ecx, 0x6c326ac2
mov word [0x100d3178], cx
movsx edx, word [0x100d3128]
imul edx, dword [0x100d3190]
movsx eax, word [0x100d3128]
sub eax, edx
mov word [0x100d3128], ax
movzx eax, word [0x100d315c]
cdq
push 0xa44f6
push 0x336a4a8a
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov ecx, dword [0x100d3160]
not ecx
mov esi, dword [0x100d3164]
not esi
movzx edx, word [ebp - 0x1c]
movsx eax, byte [ebp - 0x14]
and eax, edx
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0xb88], eax
mov dword [ebp - 0xb84], edx
mov eax, dword [ebp - 0xb88]
or eax, dword [ebp - 0xb84]
jne 0x1001ec4e
xor ecx, ecx
mov dword [ebp - 0x5d8], 1
mov dword [ebp - 0x5d4], ecx
jmp 0x1001ec59
xorps xmm0, xmm0
movlpd qword [ebp - 0x5d8], xmm0
mov eax, dword [0x100d3190]
not eax
cdq
or eax, dword [0x100d3160]
or edx, dword [0x100d3164]
and eax, dword [ebp - 0x5d8]
and edx, dword [ebp - 0x5d4]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, 4
imul eax, edx, 0x85
mov ecx, dword [eax + 0x10339700]
xor edx, edx
and ecx, dword [0x100d3168]
and edx, dword [0x100d316c]
mov dword [0x100d3168], ecx
mov dword [0x100d316c], edx
mov eax, dword [ebp - 0xdc]
add eax, 0x4e0
mov dword [ebp - 0x6cc], eax
cmp dword [0x100d3158], 0
je 0x1001ef33
movzx ecx, byte [0x100d3063]
cmp ecx, dword [0x100d3140]
jne 0x1001ece3
mov dword [ebp - 0x248], 1
jmp 0x1001eced
mov dword [ebp - 0x248], 0
movzx edx, byte [0x100d3063]
cmp edx, 6
jne 0x1001ed05
mov dword [ebp - 0x24c], 1
jmp 0x1001ed0f
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x248]
cmp eax, dword [ebp - 0x24c]
jle 0x1001ef2e
mov byte [0x100d3026], 0
mov ecx, dword [0x100d3138]
sub ecx, 0xfaa4
mov byte [0x100d304f], cl
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xb90], edx
mov dword [ebp - 0xb8c], eax
mov ecx, dword [ebp - 0xb90]
or ecx, dword [ebp - 0xb8c]
je 0x1001ed65
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x250], edx
jmp 0x1001ed70
mov eax, dword [0x100d3174]
mov dword [ebp - 0x250], eax
mov ecx, dword [ebp - 0x250]
xor edx, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov eax, dword [0x100d3140]
sub eax, 0x224d
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x4c]
shl ecx, 4
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x48]
sub edx, 0x92
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xcb0], edx
add ecx, 0x16
mov byte [0x100d3026], cl
mov al, byte [0x100d3026]
mov byte [ebp - 0x6a4], al
cmp byte [ebp - 0x6a4], 0
je 0x1001edd4
jmp 0x1001ef2e
movzx ecx, word [0x100d3178]
movsx edx, word [ebp - 0x20]
imul edx, ecx
movsx eax, word [ebp - 0x20]
or eax, edx
mov word [ebp - 0x20], ax
mov eax, dword [ebp - 0x44]
not eax
cdq
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0xcb4], edx
not ecx
xor ecx, 0x24d6b3de
add ecx, eax
mov dword [0x100d3134], ecx
movzx eax, byte [ebp - 0x15]
shl eax, 3
mov word [0x100d315c], ax
mov eax, dword [0x100d311c]
cdq
add eax, dword [0x100d3138]
adc edx, dword [0x100d313c]
mov dword [ebp - 0xb98], eax
mov dword [ebp - 0xb94], edx
mov ecx, dword [ebp - 0xb98]
or ecx, dword [ebp - 0xb94]
jne 0x1001ee59
mov dword [ebp - 0x254], 1
jmp 0x1001ee63
mov dword [ebp - 0x254], 0
movsx eax, word [ebp - 0x28]
not eax
sub eax, 0x56532c4c
or eax, dword [ebp - 0x254]
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
sub ecx, eax
sbb ebx, edx
mov edx, dword [0x100d3174]
not edx
xor eax, eax
push ebx
push ecx
push eax
push edx
call fcn.100a25b0
add eax, esi
adc edx, edi
mov dword [ebp - 0xba0], eax
mov dword [ebp - 0xb9c], edx
mov ecx, dword [ebp - 0xba0]
or ecx, dword [ebp - 0xb9c]
jne 0x1001eec2
mov byte [ebp - 0x8b], 1
jmp 0x1001eec9
mov byte [ebp - 0x8b], 0
mov dl, byte [ebp - 0x8b]
mov byte [ebp - 0x14], dl
mov eax, dword [ebp - 0x68]
or eax, dword [ebp - 0x64]
je 0x1001eeed
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
jmp 0x1001eeff
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x5e0], ecx
mov dword [ebp - 0x5dc], edx
mov al, byte [ebp - 0x5e0]
mov byte [0x100d304f], al
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
and ecx, eax
and esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
jmp 0x1001efce
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xcb8], eax
mov ecx, 4
imul eax, ecx, 0x15
mov dword [eax + 0x100f9500], edx
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
movsx eax, word [ebp - 0x30]
imul eax, dword [0x100d3144]
test eax, eax
jne 0x1001ef7c
mov dword [ebp - 0x258], 1
jmp 0x1001ef86
mov dword [ebp - 0x258], 0
movzx ecx, byte [ebp - 0x13]
mov edx, dword [0x100d3190]
imul edx, ecx
add edx, dword [ebp - 0x258]
mov word [ebp - 0x20], dx
mov eax, dword [0x100d3170]
imul eax, dword [0x100d3158]
mov dword [0x100d3170], eax
movzx eax, word [0x100d315c]
cdq
mov ecx, eax
add ecx, dword [0x100d3138]
movzx eax, word [0x100d315c]
cdq
add eax, ecx
mov word [0x100d315c], ax
movzx edx, word [ebp - 0xfc6]
imul eax, edx, 0x28
push eax
mov ecx, dword [ebp - 0x25c]
add ecx, 0xf8
push ecx
mov edx, 0x28
imul eax, edx, 0
lea ecx, [ebp + eax - 0x115c]
push ecx
call fcn.100a33d0
add esp, 0xc
push 0x40
push 0x103000
mov edx, dword [ebp - 0xf7c]
push edx
push 0
push 0
push 0
call fcn.10001350
add esp, 8
call eax
mov dword [ebp - 0x88], eax
mov eax, 2
mov word [ebp - 0x24], ax
mov dword [0x100d31b4], 0xd1
mov ecx, dword [0x100d3168]
or ecx, dword [0x100d316c]
jne 0x1001f04f
mov dword [ebp - 0x260], 1
jmp 0x1001f059
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x260]
and eax, 0xffffff02
cdq
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x80]
xor edi, edi
add esi, dword [ebp - 0x38]
adc edi, ecx
sub esi, eax
sbb edi, edx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x34], edi
xor edx, edx
mov dword [0x100d3180], 0x17
mov dword [0x100d3184], edx
mov eax, 8
imul ecx, eax, 0x2c
mov edx, dword [0x100d3160]
mov eax, dword [0x100d3164]
mov dword [ecx + 0x10337458], edx
mov dword [ecx + 0x1033745c], eax
mov dword [0x100d3170], 0xf6
movzx ecx, word [ebp - 0x24]
mov dword [ebp - 0xe0], ecx
cmp dword [ebp - 0xe0], 0
je 0x1001f0e5
cmp dword [ebp - 0xe0], 1
je 0x1001f13d
cmp dword [ebp - 0xe0], 2
je 0x1001f19e
jmp 0x1001f276
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xcbc], eax
add edx, 0x35711992
mov dword [0x100d3158], edx
mov ecx, dword [0x100d31b4]
sub ecx, dword [ebp - 0x44]
mov dword [0x100d31b4], ecx
mov edx, dword [0x100d3160]
add edx, 0x6ab9
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
add eax, 1
adc ecx, 0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x48]
imul edx, dword [ebp - 0x6c]
mov dword [ebp - 0x48], edx
jmp 0x1001f276
mov eax, dword [0x100d3134]
add eax, dword [0x100d3170]
or eax, dword [0x100d3134]
mov dword [0x100d3134], eax
movsx ecx, word [0x100d3128]
mov edx, dword [ebp - 0x48]
add edx, ecx
xor eax, eax
mov dword [0x100d3198], edx
mov dword [0x100d319c], eax
movsx ecx, word [ebp - 0x20]
sar ecx, 3
mov dword [0x100d3190], ecx
mov dl, byte [0x100d3c78]
mov byte [ebp - 0x14], dl
mov dword [ebp - 0x44], 4
movzx eax, byte [ebp - 0x13]
add eax, 0xdecf
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
jmp 0x1001f276
mov eax, dword [0x100d3138]
xor eax, 0xd3d3
mov word [ebp - 0x20], ax
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0xcc0], edx
movsx eax, word [ebp - 0x30]
cdq
mov esi, eax
sub esi, ecx
movsx eax, word [ebp - 0x30]
cdq
sub eax, esi
mov word [ebp - 0x30], ax
movzx eax, byte [ebp - 0x15]
cdq
sub eax, 0xd63c3a95
sbb edx, 0x3e326
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
movsx eax, byte [0x100d304e]
sub eax, dword [0x100d3174]
add eax, dword [0x100d3140]
jne 0x1001f20e
mov dword [ebp - 0x264], 1
jmp 0x1001f218
mov dword [ebp - 0x264], 0
movsx ecx, byte [ebp - 0x11]
mov edx, dword [ebp - 0x264]
sub edx, ecx
mov byte [ebp - 0x14], dl
imul eax, dword [0x100d3170], 0xeaec55fe
mov byte [ebp - 0x14], al
movsx ecx, word [ebp - 0x2c]
movzx edx, byte [0x100d304f]
imul edx, ecx
test edx, edx
jne 0x1001f252
mov dword [ebp - 0x268], 1
jmp 0x1001f25c
mov dword [ebp - 0x268], 0
movsx eax, word [ebp - 0x30]
movzx ecx, word [ebp - 0x1c]
imul ecx, eax
xor ecx, dword [ebp - 0x268]
mov eax, ecx
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x88], 0
je 0x10027817
push 0xe8
push 0xdf
call fcn.1005b280
add esp, 8
movsx edx, ax
mov dword [0x100d3174], edx
cmp dword [0x100d3174], 0
jb 0x1001f321
movzx eax, word [0x100d315c]
movsx ecx, word [ebp - 0x20]
add ecx, eax
movsx edx, word [ebp - 0x20]
sub edx, ecx
mov word [ebp - 0x20], dx
movsx eax, byte [ebp - 0x14]
mov dword [ebp - 0x48], eax
xor ecx, ecx
mov dword [0x100d3168], 0x2cee
mov dword [0x100d316c], ecx
mov ecx, dword [0x100d3148]
and ecx, 0x153a0397
mov esi, dword [0x100d314c]
and esi, 0x80933
mov eax, dword [0x100d311c]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d311c], eax
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
push 0
push 0x92
push eax
push edx
call fcn.100a25b0
mov dword [0x100d311c], eax
jmp 0x1001f401
mov eax, dword [0x100d3190]
cdq
mov ecx, dword [0x100d3160]
sub ecx, eax
mov eax, dword [0x100d3164]
sbb eax, edx
mov dword [ebp - 0xba8], ecx
mov dword [ebp - 0xba4], eax
mov ecx, dword [ebp - 0xba8]
or ecx, dword [ebp - 0xba4]
je 0x1001f401
mov dword [0x100d311c], 8
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x1001f372
mov dword [ebp - 0x26c], 1
jmp 0x1001f37c
mov dword [ebp - 0x26c], 0
movsx eax, word [ebp - 0x2c]
movzx ecx, word [ebp - 0x1c]
add ecx, eax
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x26c]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x50]
cdq
mov edi, dword [0x100d3150]
add edi, 0xc10dd3f5
mov ebx, dword [0x100d3154]
adc ebx, 0x2a15a
add edi, eax
adc ebx, edx
add edi, ecx
adc ebx, esi
mov dword [0x100d3138], edi
mov dword [0x100d313c], ebx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0xcc4], eax
not edx
mov byte [0x100d3027], dl
mov ecx, dword [ebp - 0x6c]
add ecx, 0x93e6
mov dword [ebp - 0x80], ecx
push 0
push 8
mov edx, dword [0x100d3164]
push edx
mov eax, dword [0x100d3160]
push eax
call fcn.100a25b0
mov byte [0x100d304f], al
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
mov word [0x100d3178], ax
movzx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0xbb0], eax
mov dword [ebp - 0xbac], edx
mov ecx, dword [ebp - 0xbb0]
cmp ecx, dword [0x100d3120]
jne 0x1001f43a
mov edx, dword [ebp - 0xbac]
cmp edx, dword [0x100d3124]
je 0x1001f446
mov dword [ebp - 0x270], 1
jmp 0x1001f450
mov dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x270]
not eax
test eax, eax
je 0x1001f739
push 0x15
push 0
movsx ecx, word [0x100d31b0]
push ecx
push 0xd7
push 0
movsx edx, byte [ebp - 0x14]
push edx
call fcn.1005c200
add esp, 0x18
mov byte [ebp - 0x12], al
mov eax, dword [0x100d3140]
cmp dword [ebp - 0x44], eax
jb 0x1001f6ae
xorps xmm0, xmm0
movlpd qword [0x100d3148], xmm0
mov ecx, dword [0x100d31b4]
sub ecx, dword [0x100d3188]
mov edx, dword [0x100d31b4]
sub edx, ecx
mov dword [0x100d31b4], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xcc8], ecx
mov edx, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0xccc], ecx
xor edx, eax
not edx
xor edx, 0x8534
mov byte [ebp - 0x12], dl
mov ecx, dword [0x100d3188]
not ecx
mov esi, dword [0x100d318c]
not esi
mov eax, dword [0x100d3190]
cdq
add eax, ecx
adc edx, esi
not eax
not edx
and eax, dword [0x100d3188]
and edx, dword [0x100d318c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movzx edx, byte [ebp - 0x13]
movsx eax, byte [ebp - 0x11]
imul eax, edx
movsx ecx, byte [ebp - 0x11]
add ecx, eax
mov byte [ebp - 0x11], cl
cmp dword [ebp - 0x4c], 0
jne 0x1001f53c
mov dword [ebp - 0x274], 1
jmp 0x1001f546
mov dword [ebp - 0x274], 0
movsx edx, word [0x100d312c]
mov eax, dword [ebp - 0x6c]
sub eax, dword [ebp - 0x274]
add eax, edx
jne 0x1001f568
mov ecx, 1
mov word [ebp - 0xaa], cx
jmp 0x1001f571
xor edx, edx
mov word [ebp - 0xaa], dx
mov ax, word [ebp - 0xaa]
mov word [ebp - 0x30], ax
mov ecx, dword [0x100d3148]
mov edx, dword [0x100d314c]
mov dword [ebp - 0xbb8], ecx
mov dword [ebp - 0xbb4], edx
mov eax, dword [ebp - 0xbb8]
or eax, dword [ebp - 0xbb4]
je 0x1001f5a7
jmp 0x1001f6a9
mov ecx, dword [ebp - 0x34]
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
sub edx, dword [ebp - 0x38]
sbb eax, ecx
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
sub ecx, edx
sbb esi, eax
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], esi
movsx edx, word [ebp - 0x20]
test edx, edx
jne 0x1001f5ea
mov dword [ebp - 0x278], 1
jmp 0x1001f5f4
mov dword [ebp - 0x278], 0
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100d3026]
not eax
cdq
mov edi, dword [0x100d3150]
not edi
mov ebx, dword [0x100d3154]
not ebx
and edi, eax
and ebx, edx
add edi, ecx
adc ebx, esi
movzx edx, word [ebp - 0x24]
not edx
xor edx, dword [ebp - 0x278]
mov eax, dword [0x100d3174]
not eax
sub eax, dword [0x100d3158]
xor eax, edx
xor ecx, ecx
push ebx
push edi
push ecx
push eax
call fcn.100a25b0
mov byte [ebp - 0x11], al
movsx eax, word [0x100d31b0]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x7c]
movsx eax, word [0x100d31b0]
cdq
sub eax, ecx
mov word [0x100d31b0], ax
mov edx, 1
shl edx, 1
movsx eax, byte [edx + 0x103396e4]
mov dword [0x100d3144], eax
movzx eax, word [ebp - 0x24]
sub eax, 0xa733
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov ecx, dword [ebp - 0x6c]
xor edx, edx
mov eax, 8
imul eax, eax, 0xdc
mov dword [eax + 0x10337458], ecx
mov dword [eax + 0x1033745c], edx
jmp 0x1001f734
movsx ecx, byte [0x100d3026]
test ecx, ecx
jne 0x1001f6c8
cmp dword [ebp - 0x80], 0
jne 0x1001f6c8
mov edx, 0xf3e5b47d
test edx, edx
je 0x1001f734
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
add eax, 1
adc ecx, 0
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0x3c48b595
push eax
push edx
call fcn.100a25b0
mov byte [ebp - 0x12], al
movsx ecx, byte [ebp - 0x11]
add ecx, 0xb4
mov byte [ebp - 0x12], cl
xor edx, edx
mov dword [0x100d3198], 0x868b
mov dword [0x100d319c], edx
xor eax, eax
mov dword [0x100d3198], 4
mov dword [0x100d319c], eax
mov ecx, 0xe5ae
mov word [ebp - 0x24], cx
jmp 0x1001f819
movsx edx, word [ebp - 0x20]
test edx, edx
je 0x1001f819
cmp dword [ebp - 0x50], 0
je 0x1001f819
mov eax, dword [ebp - 0x80]
sub eax, dword [ebp - 0x44]
mov dword [ebp - 0x80], eax
cmp dword [0x100d3158], 0
jne 0x1001f76d
mov dword [ebp - 0x27c], 1
jmp 0x1001f777
mov dword [ebp - 0x27c], 0
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x48cdaefe
movsx edx, byte [ebp - 0x12]
not edx
imul eax, edx, 0x9cb89ba
sub eax, ecx
jne 0x1001f79c
mov dword [ebp - 0x280], 1
jmp 0x1001f7a6
mov dword [ebp - 0x280], 0
mov ecx, dword [ebp - 0x6c]
not ecx
mov edx, dword [0x100d31b4]
not edx
add edx, ecx
or edx, dword [ebp - 0x27c]
not edx
add edx, dword [ebp - 0x280]
xor eax, eax
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
movzx ecx, byte [ebp - 0x13]
add ecx, 0x7773d18e
mov word [0x100d3178], cx
movsx edx, word [ebp - 0x2c]
test edx, edx
je 0x1001f7f6
mov eax, dword [0x100d3140]
mov dword [ebp - 0x284], eax
jmp 0x1001f800
movsx ecx, byte [ebp - 0x14]
mov dword [ebp - 0x284], ecx
mov edx, dword [ebp - 0x284]
mov dword [ebp - 0x84], edx
mov eax, dword [0x100d3140]
add eax, 0xbcd0
mov byte [ebp - 0x15], al
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xe8], ecx
movsx edx, word [ebp - 0x2c]
not edx
test edx, edx
jne 0x1001f843
movsx eax, word [ebp - 0x28]
test eax, eax
jne 0x1001f843
mov dword [ebp - 0x28c], 0
jmp 0x1001f84d
mov dword [ebp - 0x28c], 1
mov ecx, dword [ebp - 0x48]
xor edx, edx
mov dword [ebp - 0xbc0], ecx
mov dword [ebp - 0xbbc], edx
mov eax, dword [0x100d3138]
cmp eax, dword [ebp - 0xbc0]
jne 0x1001f879
mov ecx, dword [0x100d313c]
cmp ecx, dword [ebp - 0xbbc]
je 0x1001f885
mov dword [ebp - 0x288], 1
jmp 0x1001f88f
mov dword [ebp - 0x288], 0
mov edx, dword [ebp - 0x288]
not edx
cmp dword [ebp - 0x28c], edx
jne 0x1001fa18
movzx eax, byte [ebp - 0x15]
movzx ecx, byte [ebp - 0x15]
cmp ecx, eax
jne 0x1001f91d
push 0
push 0xcc71a6d4
mov edx, dword [0x100d313c]
push edx
mov eax, dword [0x100d3138]
push eax
call fcn.100a25b0
mov dword [0x100d31b4], eax
mov cx, word [0x100d3188]
mov word [0x100d3128], cx
movsx eax, word [ebp - 0x20]
cdq
push 0x4d13b
push 0xf2bfc30c
push edx
push eax
call fcn.100a25b0
mov word [0x100d3128], ax
movsx edx, byte [ebp - 0x11]
movzx eax, byte [ebp - 0x13]
xor eax, edx
movzx ecx, byte [ebp - 0x13]
imul ecx, eax
mov byte [ebp - 0x13], cl
movzx edx, byte [0x100d3027]
not edx
mov word [ebp - 0x24], dx
jmp 0x1001fa13
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
not eax
not ecx
mov dword [ebp - 0xbc8], eax
mov dword [ebp - 0xbc4], ecx
mov edx, dword [ebp - 0xbc8]
or edx, dword [ebp - 0xbc4]
je 0x1001fa13
movsx eax, byte [ebp - 0x14]
imul ecx, eax, 0x9d0d
imul ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0xcd0], eax
mov ecx, dword [0x100d3144]
add ecx, edx
mov edx, dword [0x100d3144]
sub edx, ecx
mov dword [0x100d3144], edx
cmp dword [ebp - 0x50], 0
jne 0x1001f995
mov dword [ebp - 0x290], 1
jmp 0x1001f99f
mov dword [ebp - 0x290], 0
mov eax, dword [0x100d3158]
xor ecx, ecx
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov ecx, dword [ebp - 0x290]
sub ecx, dword [0x100d3158]
xor esi, esi
sub ecx, eax
sbb esi, edx
mov dword [0x100d3160], ecx
mov dword [0x100d3164], esi
mov edx, dword [ebp - 0x48]
sub edx, 1
mov dword [ebp - 0x48], edx
cmp dword [0x100d3174], 0
je 0x1001f9f8
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], edx
jmp 0x1001fa0a
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], ecx
mov edx, dword [ebp - 0x5e8]
mov dword [ebp - 0x4c], edx
jmp 0x1001faa6
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0xbd0], eax
mov dword [ebp - 0xbcc], ecx
mov edx, dword [ebp - 0xbd0]
or edx, dword [ebp - 0xbcc]
je 0x1001faa6
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0xcd4], edx
sub ecx, 0x6c1b605b
movzx eax, byte [0x100d304f]
cdq
add eax, ecx
mov byte [0x100d304f], al
movzx eax, word [0x100d315c]
movsx ecx, word [0x100d31b0]
sub ecx, eax
mov dword [ebp - 0x80], ecx
imul edx, dword [0x100d311c], 0xe2977016
xor eax, eax
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x100d3160]
mov dword [ebp - 0x84], ecx
mov edx, dword [0x100d3144]
shl edx, 6
xor eax, eax
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0xe8]
add ecx, 0x529
mov dword [ebp - 0xcd8], ecx
mov dword [ebp - 0x48], 2
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
push 0
push 0x76
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x1001faf4
mov dword [ebp - 0x294], 1
jmp 0x1001fafe
mov dword [ebp - 0x294], 0
mov eax, dword [ebp - 0x50]
cdq
sub eax, dword [ebp - 0x60]
sbb edx, dword [ebp - 0x5c]
mov dword [ebp - 0xbd8], eax
mov dword [ebp - 0xbd4], edx
mov edx, dword [ebp - 0xbd8]
or edx, dword [ebp - 0xbd4]
jne 0x1001fb2e
mov dword [ebp - 0x298], 1
jmp 0x1001fb38
mov dword [ebp - 0x298], 0
movzx eax, byte [0x100d304f]
imul eax, dword [ebp - 0x294]
sub eax, dword [ebp - 0x298]
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov cl, byte [ebp - 0x60]
mov edx, 1
imul eax, edx, 0x39cc
mov byte [eax + 0x1023abe0], cl
movsx ecx, word [ebp - 0x30]
add ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
mov edx, dword [0x100d3148]
xor edx, 0xf8
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0xe4], eax
cmp dword [ebp - 0xe4], 0
je 0x1001fbb9
cmp dword [ebp - 0xe4], 1
je 0x1001fcd5
cmp dword [ebp - 0xe4], 2
je 0x1001fd30
jmp 0x1001fdd7
movsx eax, word [0x100d3130]
cdq
mov ecx, 8
imul edx, ecx, 0xce
sub eax, dword [edx + 0x100f9570]
mov word [0x100d3130], ax
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x1001fbf4
xor ecx, ecx
mov dword [ebp - 0xbe0], 1
mov dword [ebp - 0xbdc], ecx
jmp 0x1001fbff
xorps xmm0, xmm0
movlpd qword [ebp - 0xbe0], xmm0
movsx edx, byte [ebp - 0x12]
mov eax, dword [0x100d311c]
sub eax, edx
movsx ecx, word [ebp - 0x2c]
mov edx, 0x4701443
sub edx, ecx
add eax, edx
cdq
mov esi, eax
movsx eax, word [0x100d31b0]
cdq
mov ecx, dword [ebp - 0x74]
not ecx
mov edi, dword [ebp - 0x70]
not edi
push edx
push eax
push edi
push ecx
call fcn.100a25b0
mov edx, dword [ebp - 0xbe0]
sub edx, eax
xor edx, esi
mov dword [0x100d3134], edx
movsx eax, word [ebp - 0x30]
cdq
push edx
push eax
mov eax, dword [0x100d3154]
push eax
mov ecx, dword [0x100d3150]
push ecx
call fcn.100a25b0
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
xor ecx, 0xbc2518ee
xor esi, 0x38365
add ecx, eax
adc esi, edx
not ecx
not esi
movsx edx, word [0x100d3130]
movsx eax, word [ebp - 0x2c]
movsx edi, byte [0x100d304e]
imul edi, eax
sub edi, edx
mov eax, edi
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
not eax
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xcdc], edx
movsx eax, byte [ebp - 0x14]
cdq
mov esi, eax
xor esi, ecx
movsx eax, byte [ebp - 0x14]
cdq
or eax, esi
mov byte [ebp - 0x14], al
jmp 0x1001fdd7
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xce0], edx
movsx eax, word [0x100d3128]
cdq
sub eax, ecx
mov word [0x100d3128], ax
mov eax, dword [0x100d311c]
mov dword [ebp - 0x4c], eax
mov byte [ebp - 0x15], 0x43
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xce4], edx
not ecx
mov eax, dword [0x100d3190]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
jmp 0x1001fdd7
mov eax, dword [0x100d3170]
add eax, 0x3b73
movzx ecx, byte [ebp - 0x15]
sub ecx, eax
mov byte [ebp - 0x15], cl
movsx edx, word [0x100d312c]
add edx, 0xfa
mov byte [ebp - 0x11], dl
mov eax, dword [0x100d318c]
push eax
mov ecx, dword [0x100d3188]
push ecx
mov edx, dword [0x100d3164]
push edx
mov eax, dword [0x100d3160]
push eax
call fcn.100a25b0
or eax, dword [0x100d3160]
or edx, dword [0x100d3164]
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
movsx ecx, word [ebp - 0x2c]
mov edx, dword [ebp - 0x50]
imul edx, ecx
mov eax, dword [ebp - 0x50]
imul eax, edx
mov dword [ebp - 0x50], eax
movzx eax, byte [0x100d3027]
cdq
sub eax, 0xadf8f219
sbb edx, 0xa2ff6
mov ecx, dword [ebp - 0x74]
sub ecx, eax
mov eax, dword [ebp - 0x70]
sbb eax, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], eax
movzx eax, word [0x100d3178]
sub eax, 0x8944
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov ecx, dword [ebp - 0xe8]
add ecx, 0x7fe
mov dword [ebp - 0xec], ecx
movzx edx, word [0x100d315c]
movsx eax, word [0x100d3128]
imul eax, edx
mov word [0x100d3128], ax
movzx ecx, byte [ebp - 0x13]
imul ecx, dword [0x100d3170]
movzx edx, byte [ebp - 0x13]
add edx, ecx
mov byte [ebp - 0x13], dl
mov eax, 0x99
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x68]
or ecx, dword [ebp - 0x64]
jne 0x1001fe39
xor edx, edx
mov dword [ebp - 0x5f0], 1
mov dword [ebp - 0x5ec], edx
jmp 0x1001fe44
xorps xmm0, xmm0
movlpd qword [ebp - 0x5f0], xmm0
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
push ecx
push eax
mov edx, dword [ebp - 0x5ec]
push edx
mov eax, dword [ebp - 0x5f0]
push eax
call fcn.100a25b0
mov byte [0x100d3027], al
movzx ecx, byte [ebp - 0x13]
add ecx, 0x8828
mov byte [ebp - 0x11], cl
mov edx, dword [0x100d3160]
add edx, 0x29
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0xe8]
add eax, 0x45c
mov dword [ebp - 0xce8], eax
push 0x100af2a0
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
mov word [0x100d31b0], ax
imul ecx, dword [ebp - 0xec], 0x258
mov edx, 0x518a0
sub edx, ecx
mov eax, dword [ebp - 0xec]
sub eax, dword [ebp - 0xec]
cmp eax, edx
je 0x10027817
mov ecx, dword [ebp - 0x74]
add ecx, 0x759663e2
mov dword [0x100d3174], ecx
mov eax, dword [ebp - 0x84]
cdq
push 0x379b9
push 0xe194be70
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3140], eax
movsx edx, word [ebp - 0x2c]
mov eax, dword [0x100d3158]
sub eax, edx
mov dword [0x100d3158], eax
movsx ecx, word [0x100d3130]
mov edx, 4
imul eax, edx, 0x1cab
mov dword [eax + 0x1022c100], ecx
mov ecx, dword [ebp - 0x68]
add ecx, 0xffffff9b
mov edx, dword [ebp - 0x64]
adc edx, 0xffffffff
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
mov al, byte [ebp - 0x30]
mov byte [0x100d3027], al
mov byte [ebp - 0x13], 0x5c
movsx eax, word [0x100d3130]
cdq
mov ecx, 0xd60e5676
sub ecx, eax
and ecx, dword [0x100d3150]
mov word [ebp - 0x1c], cx
mov dl, byte [ebp - 0x2c]
mov byte [ebp - 0x11], dl
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xf0], eax
push 0
push 0xeed0a5be
mov ecx, dword [0x100d318c]
push ecx
mov edx, dword [0x100d3188]
push edx
call fcn.100a25b0
mov byte [0x100d3026], al
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [0x100d3188], eax
mov dword [0x100d318c], ecx
movsx eax, byte [0x100d304e]
cdq
xor eax, dword [ebp - 0x7c]
mov byte [0x100d304e], al
mov byte [ebp - 0x12], 0xce
mov edx, dword [0x100d311c]
add edx, 1
mov dword [0x100d311c], edx
cmp dword [ebp - 0x80], 0
jne 0x1001ffd8
xor eax, eax
mov dword [ebp - 0xbe8], 1
mov dword [ebp - 0xbe4], eax
jmp 0x1001ffe3
xorps xmm0, xmm0
movlpd qword [ebp - 0xbe8], xmm0
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x68]
not ecx
movsx edx, word [ebp - 0x28]
movsx eax, word [0x100d312c]
imul eax, edx
cdq
xor eax, ecx
and eax, dword [ebp - 0xbe8]
mov dword [0x100d3174], eax
mov eax, dword [ebp - 0xf0]
add eax, 0x4af
mov dword [ebp - 0x6ac], eax
movsx ecx, word [ebp - 0x28]
cmp dword [0x100d3134], ecx
jg 0x100201ab
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x44]
jb 0x10020040
mov dword [ebp - 0x29c], 1
jmp 0x1002004a
mov dword [ebp - 0x29c], 0
cmp dword [ebp - 0x80], 0x4c
jb 0x1002005c
mov dword [ebp - 0x2a0], 1
jmp 0x10020066
mov dword [ebp - 0x2a0], 0
mov eax, dword [ebp - 0x29c]
cmp eax, dword [ebp - 0x2a0]
je 0x100200a0
mov ecx, 9
mov esi, str.Failedtoverifycert
lea edi, [ebp - 0xed4]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea ecx, [ebp - 0xed4]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov word [0x100d315c], ax
jmp 0x100201a6
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x100200bc
movsx eax, word [ebp - 0x28]
test eax, eax
je 0x100200bc
mov dword [ebp - 0x2a8], 1
jmp 0x100200c6
mov dword [ebp - 0x2a8], 0
cmp dword [0x100d3190], 0
jne 0x100200e3
xor ecx, ecx
mov dword [ebp - 0x5f8], 1
mov dword [ebp - 0x5f4], ecx
jmp 0x100200ee
xorps xmm0, xmm0
movlpd qword [ebp - 0x5f8], xmm0
mov edx, dword [0x100d3168]
not edx
mov eax, dword [0x100d316c]
not eax
mov dword [ebp - 0xbf0], edx
mov dword [ebp - 0xbec], eax
mov ecx, dword [ebp - 0xbec]
cmp ecx, dword [ebp - 0x5f4]
jb 0x10020133
ja 0x10020127
mov edx, dword [ebp - 0xbf0]
cmp edx, dword [ebp - 0x5f8]
jb 0x10020133
mov dword [ebp - 0x2a4], 1
jmp 0x1002013d
mov dword [ebp - 0x2a4], 0
mov eax, dword [ebp - 0x2a4]
not eax
cmp dword [ebp - 0x2a8], eax
jl 0x100201a6
movzx ecx, word [0x100d3178]
imul edx, ecx, 0xf18407af
mov dword [ebp - 0x50], edx
movsx eax, word [0x100d3128]
movsx ecx, word [ebp - 0x30]
imul ecx, eax
mov word [ebp - 0x30], cx
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0xd6544d92
xor ecx, ecx
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
mov edx, dword [0x100d3140]
imul edx, dword [0x100d31b4]
mov dword [ebp - 0x6c], edx
mov eax, dword [ebp - 0x48]
sub eax, 0x29275870
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov dword [ebp - 0x4c], ecx
jmp 0x10020246
cmp dword [ebp - 0x4c], 0x37
jne 0x100201bd
mov dword [ebp - 0x2ac], 1
jmp 0x100201c7
mov dword [ebp - 0x2ac], 0
movzx edx, byte [0x100d3027]
mov eax, dword [ebp - 0x2ac]
not eax
cmp eax, edx
jg 0x10020246
imul ecx, dword [0x100d3190], 0xbf
mov word [ebp - 0x24], cx
mov dx, word [0x100d3130]
mov byte [ebp - 0x13], dl
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x1002020a
mov cx, word [0x100d312c]
mov word [ebp - 0xa2], cx
jmp 0x10020215
mov dx, word [ebp - 0x30]
mov word [ebp - 0xa2], dx
movsx eax, word [ebp - 0xa2]
mov dword [ebp - 0x44], eax
movzx ecx, word [0x100d315c]
mov edx, dword [ebp - 0x4c]
xor edx, ecx
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov dword [ebp - 0x4c], eax
movzx ecx, byte [ebp - 0x13]
movsx edx, byte [0x100d3026]
sub edx, ecx
mov byte [0x100d3026], dl
mov eax, dword [ebp - 0xf0]
add eax, 0xc7b5
mov dword [ebp - 0xcec], eax
mov byte [0x100d3026], 1
movsx ecx, byte [ebp - 0x11]
movzx edx, word [ebp - 0x1c]
sub edx, ecx
mov dword [0x100d3144], edx
movzx eax, byte [ebp - 0x13]
sar eax, 4
mov word [ebp - 0x30], ax
mov ecx, dword [0x100d314c]
push ecx
mov edx, dword [0x100d3148]
push edx
mov eax, dword [ebp - 0x5c]
push eax
mov ecx, dword [ebp - 0x60]
push ecx
call fcn.100a25b0
add eax, 0xc753
adc edx, 0
mov dword [ebp - 0xbf8], eax
mov dword [ebp - 0xbf4], edx
mov edx, dword [ebp - 0xbf8]
or edx, dword [ebp - 0xbf4]
jne 0x100202bf
mov byte [ebp - 0x8c], 1
jmp 0x100202c6
mov byte [ebp - 0x8c], 0
mov al, byte [ebp - 0x8c]
mov byte [0x100d304e], al
cmp dword [0x100d3190], 0
je 0x100202ee
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], edx
jmp 0x10020302
movsx eax, word [0x100d3128]
cdq
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x600]
mov dword [0x100d3158], eax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
push 0xffffffffffffffff
push 0xffff4615
push edx
push ecx
call fcn.100a25b0
not eax
not edx
mov ecx, dword [0x100d3170]
xor esi, esi
sub ecx, dword [0x100d3160]
sbb esi, dword [0x100d3164]
xor ecx, eax
xor esi, edx
movsx edx, word [0x100d3130]
mov eax, 0x997d027e
sub eax, edx
movsx edx, word [ebp - 0x20]
sub edx, eax
xor eax, eax
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x6c], eax
mov cl, byte [0x100d3026]
mov byte [ebp - 0x2b0], cl
cmp byte [ebp - 0x2b0], 0
je 0x1002038c
cmp byte [ebp - 0x2b0], 1
je 0x100204b0
jmp 0x10020548
mov edx, dword [0x100d3120]
sub edx, 0x13c11386
mov dword [ebp - 0x6c], edx
xor eax, eax
mov ecx, dword [ebp - 0x60]
sub ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x5c]
sbb edx, eax
sub ecx, 0xd3f8
sbb edx, 0
mov dword [0x100d3138], ecx
mov dword [0x100d313c], edx
xor eax, eax
mov dword [ebp - 0x38], 0xe3
mov dword [ebp - 0x34], eax
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [0x100d3138]
mov word [ebp - 0x20], ax
mov ecx, dword [0x100d3140]
xor edx, edx
mov eax, dword [ebp - 0x64]
push eax
mov eax, dword [ebp - 0x68]
push eax
push edx
push ecx
call fcn.100a25b0
mov dword [ebp - 0xc00], eax
mov dword [ebp - 0xbfc], edx
mov ecx, dword [ebp - 0xc00]
or ecx, dword [ebp - 0xbfc]
jne 0x10020415
mov dword [ebp - 0x2b8], 1
jmp 0x1002041f
mov dword [ebp - 0x2b8], 0
movsx edx, word [0x100d312c]
test edx, edx
jne 0x10020436
mov dword [ebp - 0x2b4], 1
jmp 0x10020440
mov dword [ebp - 0x2b4], 0
movsx eax, word [ebp - 0x2c]
add eax, dword [ebp - 0x2b4]
not eax
mov ecx, dword [ebp - 0x2b8]
sub ecx, eax
mov eax, ecx
cdq
mov esi, eax
movzx edx, word [0x100d3178]
not edx
movsx eax, byte [ebp - 0x11]
sub eax, edx
cdq
mov edi, eax
mov ebx, edx
movzx eax, word [0x100d3178]
not eax
cdq
mov ecx, dword [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x68]
push ecx
push edx
push eax
call fcn.100a25b0
push ebx
push edi
push edx
push eax
call fcn.100a25b0
xor eax, esi
mov dword [ebp - 0x84], eax
movsx edx, word [ebp - 0x28]
add edx, dword [0x100d3170]
movsx eax, word [ebp - 0x28]
sub eax, edx
mov word [ebp - 0x28], ax
jmp 0x10020548
movzx ecx, byte [0x100d3027]
test ecx, ecx
jne 0x100204c7
mov dword [ebp - 0x2bc], 1
jmp 0x100204d1
mov dword [ebp - 0x2bc], 0
mov edx, dword [0x100d3144]
imul edx, dword [ebp - 0x2bc]
test edx, edx
jne 0x100204f6
xor eax, eax
mov dword [ebp - 0xc08], 1
mov dword [ebp - 0xc04], eax
jmp 0x10020501
xorps xmm0, xmm0
movlpd qword [ebp - 0xc08], xmm0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xcf0], edx
add ecx, dword [ebp - 0xc08]
mov byte [ebp - 0x13], cl
mov eax, dword [0x100d3188]
not eax
mov dword [ebp - 0x4c], eax
movzx eax, word [ebp - 0x1c]
add eax, 0x7131
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx ecx, word [ebp - 0x30]
mov edx, dword [0x100d3134]
sub edx, ecx
add edx, dword [0x100d3134]
mov dword [0x100d3134], edx
mov eax, dword [ebp - 0xf0]
add eax, 0x52b
mov dword [ebp - 0xcf4], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x2c0], eax
cmp dword [ebp - 0x2c0], 0
je 0x10020592
mov dword [ebp - 0x6a8], 1
mov ecx, dword [ebp - 0x6a8]
push ecx
mov edx, dword [ebp - 0x2c0]
push edx
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov dword [ebp - 0xcf8], eax
movsx eax, word [ebp - 0x28]
test eax, eax
jne 0x100205b3
mov ecx, 0xf21a256f
or ecx, 0xfffb75f0
jne 0x100205b3
mov dword [ebp - 0x2c4], 0
jmp 0x100205bd
mov dword [ebp - 0x2c4], 1
movzx edx, word [0x100d315c]
cmp dword [ebp - 0x2c4], edx
jg 0x1002062a
mov eax, dword [str.Failedtogettablede]
mov dword [ebp - 0xc54], eax
mov ecx, dword [0x100af2d8]
mov dword [ebp - 0xc50], ecx
mov edx, dword [0x100af2dc]
mov dword [ebp - 0xc4c], edx
mov eax, dword [0x100af2e0]
mov dword [ebp - 0xc48], eax
mov cx, word [0x100af2e4]
mov word [ebp - 0xc44], cx
mov dl, byte [0x100af2e6]
mov byte [ebp - 0xc42], dl
lea eax, [ebp - 0xc54]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [ebp - 0x24], ax
jmp 0x100207ca
movsx ecx, byte [ebp - 0x11]
cmp ecx, dword [ebp - 0x80]
jb 0x100207ca
mov eax, dword [0x100d3190]
sar eax, 8
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx eax, word [ebp - 0x30]
cdq
xor eax, 0x2cd55980
mov edx, dword [0x100d3158]
and edx, eax
mov dword [0x100d3158], edx
cmp dword [0x100d3140], 0
je 0x10020680
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], ecx
jmp 0x10020691
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], edx
mov dx, word [ebp - 0x608]
mov word [ebp - 0x30], dx
mov ecx, dword [0x100d3120]
not ecx
mov esi, dword [0x100d3124]
not esi
mov eax, dword [ebp - 0x4c]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0xc10], eax
mov dword [ebp - 0xc0c], edx
mov edx, dword [ebp - 0xc10]
or edx, dword [ebp - 0xc0c]
jne 0x100206da
mov dword [ebp - 0x2c8], 1
jmp 0x100206e4
mov dword [ebp - 0x2c8], 0
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x10020700
xor ecx, ecx
mov dword [ebp - 0x610], 1
mov dword [ebp - 0x60c], ecx
jmp 0x1002070b
xorps xmm0, xmm0
movlpd qword [ebp - 0x610], xmm0
movsx eax, word [ebp - 0x30]
cdq
mov esi, dword [ebp - 0x7c]
not esi
mov edi, dword [ebp - 0x78]
not edi
add esi, eax
adc edi, edx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
push eax
push edx
mov ecx, dword [ebp - 0x60c]
push ecx
mov edx, dword [ebp - 0x610]
push edx
call fcn.100a25b0
mov ecx, eax
mov ebx, edx
sub ecx, esi
sbb ebx, edi
movzx edx, byte [ebp - 0x13]
imul edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x2c8]
sub eax, edx
cdq
sub eax, ecx
sbb edx, ebx
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
cmp dword [0x100d3144], 0
jne 0x10020783
xor eax, eax
mov dword [ebp - 0x618], 1
mov dword [ebp - 0x614], eax
jmp 0x1002078e
xorps xmm0, xmm0
movlpd qword [ebp - 0x618], xmm0
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x100d3120]
xor esi, dword [0x100d3124]
not ecx
not esi
xor ecx, dword [ebp - 0x618]
xor esi, dword [ebp - 0x614]
movzx eax, word [0x100d315c]
cdq
add eax, ecx
adc edx, esi
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
mov edx, dword [ebp - 0x48]
push edx
push 0
push 0
push 0xffffffffffffffb1
call fcn.10058a50
add esp, 0x10
cbw
mov word [ebp - 0x1c], ax
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x1002085c
mov dword [ebp - 0xf4], 0x3f
jmp 0x10020805
mov edx, dword [ebp - 0xf4]
sub edx, 1
mov dword [ebp - 0xf4], edx
cmp dword [ebp - 0xf4], 0
jle 0x1002085c
movzx eax, byte [ebp - 0x13]
shl eax, 2
mov dword [0x100d3140], eax
movzx ecx, word [ebp - 0x1c]
movzx edx, byte [ebp - 0x15]
imul edx, ecx
mov byte [ebp - 0x15], dl
movsx eax, word [0x100d312c]
imul eax, eax, 0x652e
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov ecx, dword [0x100d3140]
shr ecx, 3
mov dword [ebp - 0x4c], ecx
mov dx, word [0x100d315c]
add dx, 1
mov word [0x100d315c], dx
jmp 0x100207f6
mov eax, dword [ebp - 0x6ac]
add eax, 0x35a
mov dword [ebp - 0x6c0], eax
mov ecx, dword [0x100d31b4]
xor edx, edx
mov eax, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
mov dword [ebp - 0xc18], eax
mov dword [ebp - 0xc14], esi
mov dword [ebp - 0xc20], ecx
mov dword [ebp - 0xc1c], edx
mov ecx, dword [ebp - 0xc14]
cmp ecx, dword [ebp - 0xc1c]
jb 0x10020925
ja 0x100208b5
mov edx, dword [ebp - 0xc18]
cmp edx, dword [ebp - 0xc20]
jbe 0x10020925
movsx eax, byte [0x100d3026]
shl eax, 7
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov dword [ebp - 0x80], 0x16
mov ecx, dword [0x100d3168]
sub ecx, 0x1760
movsx eax, byte [ebp - 0x11]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
mov edx, 0x7c
mov word [0x100d31b0], dx
movsx eax, byte [0x100d304e]
not eax
movsx ecx, byte [0x100d3026]
not ecx
sub ecx, dword [0x100d3144]
imul ecx, eax
mov byte [ebp - 0x12], cl
mov dx, word [0x100d3c78]
mov word [0x100d312c], dx
jmp 0x10020b3a
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0xc28], eax
mov dword [ebp - 0xc24], ecx
mov edx, dword [ebp - 0xc28]
or edx, dword [ebp - 0xc24]
je 0x100209af
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0xcfc], eax
sub edx, 0x46c2
mov dword [0x100d3144], edx
movsx ecx, byte [ebp - 0x14]
sar ecx, 7
mov word [ebp - 0x1c], cx
mov dword [0x100d3158], 0xb4e93297
mov edx, dword [ebp - 0x7c]
add edx, 0x74ace32c
mov word [ebp - 0x24], dx
imul eax, dword [ebp - 0x6c], 0xe771
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov dword [ebp - 0x48], ecx
jmp 0x10020b3a
mov edx, dword [ebp - 0x80]
cmp edx, dword [ebp - 0x48]
je 0x100209c3
mov dword [ebp - 0x2cc], 1
jmp 0x100209cd
mov dword [ebp - 0x2cc], 0
movsx eax, word [0x100d31b0]
test eax, eax
jne 0x100209e4
mov dword [ebp - 0x2d0], 1
jmp 0x100209ee
mov dword [ebp - 0x2d0], 0
mov ecx, dword [ebp - 0x2cc]
cmp ecx, dword [ebp - 0x2d0]
jne 0x10020a08
mov dword [ebp - 0x2d4], 1
jmp 0x10020a12
mov dword [ebp - 0x2d4], 0
mov edx, dword [ebp - 0x2d4]
not edx
test edx, edx
je 0x10020a99
mov byte [0x100d3027], 0xe
mov eax, dword [ebp - 0x74]
sub eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x70]
sbb ecx, dword [ebp - 0x5c]
push ecx
push eax
mov edx, dword [ebp - 0x70]
push edx
mov eax, dword [ebp - 0x74]
push eax
call fcn.100a25b0
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0x8b1d
push edx
push ecx
call fcn.100a25b0
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
add ecx, 0xd6179dd2
movzx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
mov edx, dword [0x100d3174]
add edx, dword [ebp - 0x7c]
mov eax, dword [0x100d3174]
sub eax, edx
mov dword [0x100d3174], eax
jmp 0x10020b3a
cmp dword [ebp - 0x80], 0
je 0x10020b3a
mov ecx, 4
imul edx, ecx, 0x57
mov ax, word [edx + 0x100f9388]
mov word [0x100d312c], ax
mov ecx, dword [ebp - 0x7c]
or ecx, dword [ebp - 0x78]
je 0x10020ad3
movsx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x4b0], eax
mov dword [ebp - 0x4ac], edx
jmp 0x10020ae5
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4b0], edx
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4b0]
mov edx, dword [ebp - 0x4ac]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x84], eax
movzx ecx, word [0x100d3178]
sub ecx, 0x5c29
mov word [ebp - 0x1c], cx
movsx edx, byte [ebp - 0x11]
mov eax, dword [ebp - 0x44]
sub eax, edx
add eax, dword [ebp - 0x44]
mov dword [ebp - 0x44], eax
movsx ecx, word [ebp - 0x2c]
movzx edx, byte [ebp - 0x13]
imul edx, ecx
movzx eax, byte [ebp - 0x13]
sub eax, edx
mov byte [ebp - 0x13], al
mov ecx, 0x10
lea esi, [ebp - 0xe64]
mov edi, dword [ebp - 0x88]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp - 0x34]
mov esi, dword [0x100d3158]
xor edi, edi
and esi, dword [0x100d31a0]
and edi, dword [0x100d31a4]
sub esi, dword [ebp - 0x38]
sbb edi, ecx
not esi
not edi
movzx eax, byte [ebp - 0x13]
not eax
cdq
push edi
push esi
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x48], eax
xor edx, edx
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x5c]
sbb ecx, edx
mov dword [ebp - 0xc30], eax
mov dword [ebp - 0xc2c], ecx
mov edx, dword [ebp - 0xc30]
or edx, dword [ebp - 0xc2c]
jne 0x10020bbb
xor eax, eax
mov dword [ebp - 0x620], 1
mov dword [ebp - 0x61c], eax
jmp 0x10020bc6
xorps xmm0, xmm0
movlpd qword [ebp - 0x620], xmm0
movsx eax, word [0x100d3130]
cdq
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
mov ecx, dword [ebp - 0x61c]
push ecx
mov ecx, dword [ebp - 0x620]
push ecx
push edx
push eax
call fcn.100a25b0
movsx ecx, word [ebp - 0x30]
imul ecx, ecx, 0xd7f67be8
mov esi, dword [0x100d3144]
sub esi, dword [0x100d31b4]
not esi
sub esi, ecx
xor ecx, ecx
push edx
push eax
push ecx
push esi
call fcn.100a25b0
mov dword [0x100d31b4], eax
movsx eax, word [ebp - 0x20]
cdq
push 0x98c
push 0x3f9f1c2
push edx
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x68]
sub ecx, eax
mov eax, dword [ebp - 0x64]
sbb eax, edx
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], eax
movsx eax, byte [0x100d304e]
cdq
mov ecx, dword [0x100d3138]
sub ecx, eax
mov eax, dword [0x100d313c]
sbb eax, edx
and ecx, dword [0x100d3138]
and eax, dword [0x100d313c]
mov dword [0x100d3138], ecx
mov dword [0x100d313c], eax
mov ecx, dword [ebp - 0x60]
add ecx, 0x4a
mov eax, dword [ebp - 0x84]
cdq
xor eax, ecx
mov dword [ebp - 0x84], eax
movsx edx, word [0x100d3130]
imul eax, edx, 0xd5ee85ce
mov dword [ebp - 0x50], eax
mov edi, dword [ebp - 0x88]
add edi, dword [ebp - 0xe28]
mov ecx, 0x3e
lea esi, [ebp - 0xfcc]
rep movsd dword es:[edi], dword [esi]
mov eax, dword [0x100d3134]
cdq
mov dword [ebp - 0xc38], eax
mov dword [ebp - 0xc34], edx
mov ecx, dword [ebp - 0xc34]
cmp ecx, dword [ebp - 0x5c]
ja 0x10020ee6
jb 0x10020cdd
mov edx, dword [ebp - 0xc38]
cmp edx, dword [ebp - 0x60]
jae 0x10020ee6
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLCID]
mov dword [0x100d3158], eax
cmp dword [0x100d3158], 0
jae 0x10020cfd
mov dword [ebp - 0x2d8], 1
jmp 0x10020d07
mov dword [ebp - 0x2d8], 0
cmp dword [0x100d3158], 0x4c
jae 0x10020d1c
mov dword [ebp - 0x2dc], 1
jmp 0x10020d26
mov dword [ebp - 0x2dc], 0
mov eax, dword [ebp - 0x2d8]
cmp eax, dword [ebp - 0x2dc]
jl 0x10020e6b
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x100d3174]
xor esi, esi
mov dword [ebp - 0xc40], eax
mov dword [ebp - 0xc3c], esi
mov dword [ebp - 0x708], ecx
mov dword [ebp - 0x704], edx
mov ecx, dword [ebp - 0xc3c]
cmp ecx, dword [ebp - 0x704]
jl 0x10020d87
jg 0x10020d7b
mov edx, dword [ebp - 0xc40]
cmp edx, dword [ebp - 0x708]
jbe 0x10020d87
mov dword [ebp - 0x2e0], 1
jmp 0x10020d91
mov dword [ebp - 0x2e0], 0
cmp dword [0x100d3174], 0x24
jbe 0x10020da6
mov dword [ebp - 0x2e4], 1
jmp 0x10020db0
mov dword [ebp - 0x2e4], 0
mov eax, dword [ebp - 0x2e0]
cmp eax, dword [ebp - 0x2e4]
jle 0x10020dff
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
mov eax, 1
imul ecx, eax, 0xb
movsx edx, byte [ecx + 0x103396e4]
mov dword [0x100d3134], edx
movsx eax, word [ebp - 0x30]
mov ecx, dword [0x100d3174]
sub ecx, eax
not ecx
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
jmp 0x10020e69
movsx eax, byte [ebp - 0x14]
movsx ecx, byte [ebp - 0x11]
add ecx, eax
mov byte [ebp - 0x11], cl
mov dl, byte [0x100d3c78]
mov byte [0x100d3026], dl
mov eax, dword [ebp - 0x50]
add eax, 1
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0x84], 0
je 0x10020e3e
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x630], ecx
mov dword [ebp - 0x62c], edx
jmp 0x10020e52
movsx eax, byte [0x100d304e]
cdq
mov dword [ebp - 0x630], eax
mov dword [ebp - 0x62c], edx
mov ax, word [ebp - 0x630]
mov word [0x100d31b0], ax
mov dword [0x100d31b4], 0xb276
jmp 0x10020ee6
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0xd00], edx
add ecx, 0x521e
mov word [0x100d3178], cx
mov eax, dword [0x100d3154]
push eax
mov ecx, dword [0x100d3150]
push ecx
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx ecx, word [0x100d3130]
imul edx, ecx, 0x9883
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x15]
movsx ecx, byte [ebp - 0x14]
add ecx, eax
mov byte [ebp - 0x14], cl
movzx edx, byte [0x100d3027]
not edx
movzx eax, word [ebp - 0x1c]
imul eax, edx
mov dword [0x100d3190], eax
movzx ecx, word [ebp - 0xfc6]
imul edx, ecx, 0x28
push edx
mov eax, 0x28
imul ecx, eax, 0
lea edx, [ebp + ecx - 0x115c]
push edx
mov eax, dword [ebp - 0xe28]
mov ecx, dword [ebp - 0x88]
lea edx, [ecx + eax + 0xf8]
push edx
call fcn.100a33d0
add esp, 0xc
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0xd04], edx
xor ecx, 0xc22a074
mov eax, dword [0x100d3190]
cdq
sub eax, ecx
mov dword [0x100d3190], eax
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x70]
mov dword [0x100d3160], eax
mov dword [0x100d3164], ecx
movsx edx, word [0x100d312c]
sub edx, 0x3b9add48
xor eax, eax
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
or ecx, edx
or esi, eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
movzx eax, word [ebp - 0x1c]
cdq
push edx
push eax
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x68]
push eax
call fcn.100a25b0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov cl, byte [0x100d3c78]
mov byte [ebp - 0x14], cl
movsx eax, word [ebp - 0x20]
cdq
push 0xcbcd3
push 0xd55502b7
push edx
push eax
call fcn.100a25b0
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
imul edx, dword [ebp - 0xf8], 0x16d
imul eax, dword [ebp - 0xf8], 0x9d
mov ecx, dword [ebp - 0xf8]
sub ecx, dword [ebp - 0x6b0]
imul ecx, eax
cmp ecx, edx
je 0x10021617
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
add edx, dword [ebp - 0x60]
adc eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x80]
xor esi, esi
sub ecx, dword [0x100d3160]
sbb esi, dword [0x100d3164]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x710], ecx
mov dword [ebp - 0x70c], esi
mov edx, dword [ebp - 0x710]
or edx, dword [ebp - 0x70c]
jne 0x10021024
mov eax, 1
mov word [ebp - 0x9c], ax
jmp 0x1002102d
xor ecx, ecx
mov word [ebp - 0x9c], cx
mov dx, word [ebp - 0x9c]
mov word [ebp - 0x2c], dx
xor eax, eax
mov dword [ebp - 0x38], 0xd5971dbf
mov dword [ebp - 0x34], eax
mov cl, byte [ebp - 0x11]
mov edx, 1
imul eax, edx, 0x3abe
mov byte [eax + 0x10176220], cl
mov eax, dword [0x100d3150]
mov edx, dword [0x100d3154]
mov cl, 5
call fcn.100a25f0
mov byte [ebp - 0x11], al
movsx ecx, word [ebp - 0x20]
imul ecx, dword [0x100d3174]
movsx edx, word [ebp - 0x20]
imul edx, ecx
mov word [ebp - 0x20], dx
xor eax, eax
mov dword [ebp - 0x38], 0xb6
mov dword [ebp - 0x34], eax
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
je 0x100214d9
cmp dword [0x100d3144], 0
je 0x1002120a
cmp dword [0x100d3190], 0
je 0x10021205
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x718], edx
mov dword [ebp - 0x714], eax
mov ecx, dword [ebp - 0x78]
cmp ecx, dword [ebp - 0x714]
ja 0x1002117e
jb 0x100210e7
mov edx, dword [ebp - 0x7c]
cmp edx, dword [ebp - 0x718]
ja 0x1002117e
mov eax, dword [0x100d3168]
sub eax, 1
mov ecx, dword [0x100d316c]
sbb ecx, 0
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
xor edx, edx
mov dword [ebp - 0x40], 0xe8c6
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x48]
shr eax, 6
mov word [0x100d31b0], ax
mov ecx, dword [0x100d3188]
add ecx, 1
mov edx, dword [0x100d318c]
adc edx, 0
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
sub eax, 0x39aaa144
sbb ecx, 0xe1f4a
mov dword [0x100d3138], eax
mov dword [0x100d313c], ecx
push 0
push 0xa975
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
call fcn.100a25b0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
jmp 0x10021205
movsx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x10021192
mov dword [ebp - 0x2e8], 1
jmp 0x1002119c
mov dword [ebp - 0x2e8], 0
movsx edx, word [ebp - 0x30]
sub edx, dword [ebp - 0x2e8]
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
xor edx, edx
mov dword [ebp - 0x40], 0x5a83
mov dword [ebp - 0x3c], edx
movsx eax, byte [ebp - 0x12]
sub eax, 0xa9f9
mov word [0x100d3130], ax
mov cx, word [ebp - 0x7c]
mov word [ebp - 0x20], cx
movsx eax, word [0x100d3128]
sub eax, 0x99f
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100214d9
movsx edx, byte [ebp - 0x12]
movsx eax, word [0x100d31b0]
cmp eax, edx
jne 0x10021274
mov ecx, dword [0x100d3160]
sub ecx, 0x9141f15
mov eax, dword [ebp - 0x44]
cdq
add eax, ecx
mov dword [ebp - 0x44], eax
mov eax, dword [0x100d3134]
cdq
xor eax, 0x11a7f50b
mov word [ebp - 0x2c], ax
mov dx, word [0x100d3c78]
mov word [ebp - 0x1c], dx
mov ax, word [0x100d3138]
mov ecx, 2
imul edx, ecx, 0x2a
mov word [edx + 0x10339248], ax
movsx eax, byte [ebp - 0x14]
and eax, 0x5605
movsx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
jmp 0x100214d9
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
movzx eax, word [0x100d3178]
cdq
mov dword [ebp - 0x720], eax
mov dword [ebp - 0x71c], edx
mov dword [ebp - 0x728], ecx
mov dword [ebp - 0x724], esi
mov edx, dword [ebp - 0x71c]
cmp edx, dword [ebp - 0x724]
jg 0x100212d2
jl 0x100212be
mov eax, dword [ebp - 0x720]
cmp eax, dword [ebp - 0x728]
jae 0x100212d2
xor ecx, ecx
mov dword [ebp - 0x640], 1
mov dword [ebp - 0x63c], ecx
jmp 0x100212dd
xorps xmm0, xmm0
movlpd qword [ebp - 0x640], xmm0
movzx edx, byte [0x100d304f]
test edx, edx
jne 0x100212fc
xor eax, eax
mov dword [ebp - 0x638], 1
mov dword [ebp - 0x634], eax
jmp 0x10021307
xorps xmm0, xmm0
movlpd qword [ebp - 0x638], xmm0
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
sub ecx, dword [ebp - 0x638]
sbb edx, dword [ebp - 0x634]
mov dword [ebp - 0x730], ecx
mov dword [ebp - 0x72c], edx
mov eax, dword [ebp - 0x63c]
cmp eax, dword [ebp - 0x72c]
jl 0x10021459
jg 0x10021351
mov ecx, dword [ebp - 0x640]
cmp ecx, dword [ebp - 0x730]
jbe 0x10021459
mov edx, 1
imul eax, edx, 0x14
movsx ecx, byte [eax + 0x103396e4]
mov dword [0x100d3174], ecx
mov eax, dword [0x100d3190]
cdq
add eax, 0x887087d5
adc edx, 0xb2d32
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx edx, word [ebp - 0x30]
add edx, dword [0x100d3174]
mov dword [0x100d3170], edx
mov eax, dword [0x100d3138]
or eax, dword [0x100d313c]
jne 0x100213ab
mov dword [ebp - 0x2ec], 1
jmp 0x100213b5
mov dword [ebp - 0x2ec], 0
movsx ecx, word [ebp - 0x20]
xor ecx, dword [ebp - 0x2ec]
jne 0x100213d5
xor edx, edx
mov dword [ebp - 0x740], 1
mov dword [ebp - 0x73c], edx
jmp 0x100213e0
xorps xmm0, xmm0
movlpd qword [ebp - 0x740], xmm0
mov eax, dword [0x100d3168]
or eax, dword [0x100d316c]
jne 0x10021401
xor ecx, ecx
mov dword [ebp - 0x738], 1
mov dword [ebp - 0x734], ecx
jmp 0x1002140c
xorps xmm0, xmm0
movlpd qword [ebp - 0x738], xmm0
mov esi, dword [ebp - 0x738]
xor esi, dword [0x100d3138]
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
push eax
push edx
mov ecx, dword [ebp - 0x64]
push ecx
mov edx, dword [ebp - 0x68]
push edx
call fcn.100a25b0
add eax, dword [ebp - 0x740]
add eax, esi
mov dword [ebp - 0x4c], eax
mov eax, dword [0x100d3134]
cdq
add eax, 0x1a36fd9e
adc edx, 0x64349
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x100214d9
cmp dword [0x100d3190], 0
je 0x100214d9
mov ax, word [0x100d3c78]
mov word [0x100d315c], ax
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
mov dword [ebp - 0xd08], edx
mov eax, 4
imul edx, eax, 0x6c32
mov dword [edx + 0x10155458], ecx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
add eax, 1
adc ecx, 0
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], ecx
movsx edx, word [ebp - 0x20]
shl edx, 8
mov dword [0x100d31b4], edx
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
add ecx, 0xdb70
adc esi, 0
mov eax, dword [ebp - 0x50]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x50], eax
cmp dword [ebp - 0xe28], 0x40
jbe 0x10021617
mov dx, word [ebp - 0x1c]
sub dx, 1
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x5c]
push ecx
mov ecx, dword [ebp - 0x60]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov eax, dword [ebp - 0x44]
cdq
sub eax, ecx
mov dword [ebp - 0x44], eax
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
push 0
push 0x52ccf679
push eax
push edx
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d3128]
cdq
add eax, ecx
mov word [0x100d3128], ax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0xeb2fd639
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov byte [0x100d3026], 0xac
push 0
push 0xdd
mov ecx, dword [0x100d313c]
push ecx
mov edx, dword [0x100d3138]
push edx
call fcn.100a25b0
mov byte [0x100d304f], al
movzx eax, word [ebp - 0x1c]
add eax, 0x1f43f3ca
mov word [0x100d3130], ax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xd0c], edx
add ecx, 0x1ed1
mov eax, dword [0x100d3158]
and eax, ecx
mov dword [0x100d3158], eax
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [0x100d3138]
mov word [ebp - 0x20], ax
mov eax, dword [0x100d3188]
mov edx, dword [0x100d318c]
mov cl, 2
call fcn.100a25f0
mov dword [0x100d3140], eax
movzx ecx, byte [ebp - 0x13]
xor ecx, dword [0x100d3134]
mov edx, dword [0x100d3134]
sub edx, ecx
mov dword [0x100d3134], edx
mov eax, dword [ebp - 0xe28]
sub eax, 0x40
push eax
mov ecx, 1
imul edx, ecx, 0
lea eax, [ebp + edx - 0x155c]
push eax
mov ecx, dword [ebp - 0x88]
add ecx, 0x40
push ecx
call fcn.100a33d0
add esp, 0xc
mov edx, 4
imul eax, edx, 0x326b
mov ecx, dword [eax + 0x100fae60]
xor edx, edx
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0
push 0x6d
push ecx
push eax
call fcn.100a25b0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
xor edx, edx
mov eax, dword [ebp - 0x74]
sub eax, dword [0x100d3158]
mov ecx, dword [ebp - 0x70]
sbb ecx, edx
mov edx, dword [ebp - 0x74]
sub edx, eax
mov eax, dword [ebp - 0x70]
sbb eax, ecx
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x70], eax
movzx ecx, byte [ebp - 0x13]
mov edx, dword [ebp - 0x44]
sub edx, ecx
add edx, dword [ebp - 0x44]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
add ecx, dword [ebp - 0x40]
adc edx, eax
mov dword [0x100d3180], ecx
mov dword [0x100d3184], edx
movzx eax, word [ebp - 0x24]
add eax, 0x48254b5e
mov dword [0x100d3134], eax
mov dword [ebp - 0x94], 0
jmp 0x100216ca
mov ecx, dword [ebp - 0x94]
add ecx, 1
mov dword [ebp - 0x94], ecx
movzx edx, word [ebp - 0xfc6]
cmp dword [ebp - 0x94], edx
jge 0x100220ad
cmp dword [0x100d31b4], 0
jne 0x100216f2
mov dword [ebp - 0x2f0], 1
jmp 0x100216fc
mov dword [ebp - 0x2f0], 0
movsx eax, byte [0x100d3026]
movzx ecx, word [0x100d3178]
cmp ecx, eax
jge 0x1002171a
mov dword [ebp - 0x2f4], 1
jmp 0x10021724
mov dword [ebp - 0x2f4], 0
mov edx, dword [ebp - 0x2f0]
cmp edx, dword [ebp - 0x2f4]
jne 0x1002178e
mov ax, word [0x100d3170]
mov word [0x100d312c], ax
mov dword [0x100d3144], 0x81
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0xd10], edx
movsx eax, word [ebp - 0x2c]
cdq
sub eax, ecx
mov word [ebp - 0x2c], ax
movsx eax, word [0x100d31b0]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [ebp - 0x60]
xor esi, dword [ebp - 0x5c]
movsx eax, word [0x100d31b0]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [0x100d31b0], ax
mov edx, dword [0x100d311c]
cmp dword [0x100d3170], edx
ja 0x100217a8
mov dword [ebp - 0x2f8], 1
jmp 0x100217b2
mov dword [ebp - 0x2f8], 0
mov ecx, dword [ebp - 0x60]
not ecx
mov esi, dword [ebp - 0x5c]
not esi
movsx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x748], eax
mov dword [ebp - 0x744], edx
mov dword [ebp - 0x750], ecx
mov dword [ebp - 0x74c], esi
mov edx, dword [ebp - 0x744]
cmp edx, dword [ebp - 0x74c]
ja 0x10021803
jb 0x100217f7
mov eax, dword [ebp - 0x748]
cmp eax, dword [ebp - 0x750]
jae 0x10021803
mov dword [ebp - 0x2fc], 1
jmp 0x1002180d
mov dword [ebp - 0x2fc], 0
mov ecx, dword [ebp - 0x2f8]
cmp ecx, dword [ebp - 0x2fc]
jne 0x10021b4e
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x300], eax
cmp dword [ebp - 0x300], 0
je 0x10021847
mov edx, dword [ebp - 0x300]
push edx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0xd14], eax
mov eax, dword [0x100d3148]
or eax, dword [0x100d314c]
je 0x1002193d
mov dword [ebp - 0x84], 0xfd02
movsx ecx, word [ebp - 0x30]
add ecx, 0xe21e
mov edx, dword [ebp - 0x48]
and edx, ecx
mov dword [ebp - 0x48], edx
movzx eax, byte [0x100d304f]
add eax, 0x4244a5fa
mov dword [0x100d31b4], eax
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0x8c1f7d40
mov byte [ebp - 0x15], dl
movsx eax, byte [0x100d3026]
test eax, eax
jne 0x100218a9
mov dword [ebp - 0x304], 1
jmp 0x100218b3
mov dword [ebp - 0x304], 0
mov esi, dword [ebp - 0x38]
mov edi, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
movsx eax, word [0x100d312c]
cdq
push ebx
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov ebx, edx
sub ecx, esi
sbb ebx, edi
movzx edx, byte [ebp - 0x13]
not edx
movzx eax, word [0x100d3178]
imul eax, edx
movzx edx, word [0x100d3178]
sub edx, dword [ebp - 0x304]
add eax, edx
cdq
add eax, ecx
adc edx, ebx
mov dword [ebp - 0x758], eax
mov dword [ebp - 0x754], edx
mov eax, dword [ebp - 0x758]
or eax, dword [ebp - 0x754]
jne 0x10021922
mov dword [ebp - 0x308], 1
jmp 0x1002192c
mov dword [ebp - 0x308], 0
mov ecx, dword [ebp - 0x308]
mov dword [0x100d3140], ecx
jmp 0x10021b49
movzx edx, word [0x100d3178]
test edx, edx
je 0x100219fb
cmp dword [0x100d3158], 0
je 0x10021961
movzx eax, byte [ebp - 0x13]
mov dword [ebp - 0x30c], eax
jmp 0x1002196d
mov ecx, dword [0x100d3158]
mov dword [ebp - 0x30c], ecx
mov edx, dword [ebp - 0x30c]
xor eax, eax
mov dword [0x100d3120], edx
mov dword [0x100d3124], eax
movzx eax, word [0x100d3178]
cdq
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0xd18], edx
xor ecx, eax
mov dword [0x100d3174], ecx
mov eax, dword [ebp - 0x44]
cdq
add eax, 0x6a3225f4
adc edx, 0x8b41e
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov eax, dword [ebp - 0x6c]
not eax
movsx ecx, word [0x100d3130]
movzx edx, byte [0x100d3063]
imul edx, ecx
sub edx, eax
xor eax, eax
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
jmp 0x10021b49
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x760], edx
mov dword [ebp - 0x75c], eax
mov ecx, dword [ebp - 0x760]
or ecx, dword [ebp - 0x75c]
jne 0x10021a32
movzx edx, byte [0x100d3063]
test edx, edx
jne 0x10021a32
mov dword [ebp - 0x310], 0
jmp 0x10021a3c
mov dword [ebp - 0x310], 1
mov eax, dword [ebp - 0x50]
cmp eax, dword [ebp - 0x310]
jne 0x10021abe
cmp dword [0x100d311c], 0
je 0x10021a5b
mov cl, byte [ebp - 0x12]
mov byte [ebp - 0x8d], cl
jmp 0x10021a64
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x8d], dl
mov al, byte [ebp - 0x8d]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x84]
imul ecx, dword [0x100d3134]
mov edx, dword [0x100d3134]
sub edx, ecx
mov dword [0x100d3134], edx
mov al, byte [0x100d3c78]
mov byte [ebp - 0x15], al
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x34]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, byte [ebp - 0x11]
movsx eax, byte [0x100d3026]
sub eax, edx
mov byte [ebp - 0x15], al
jmp 0x10021b49
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x10021add
movzx edx, word [0x100d3178]
test edx, edx
jne 0x10021add
mov dword [ebp - 0x314], 0
jmp 0x10021ae7
mov dword [ebp - 0x314], 1
mov eax, dword [ebp - 0x314]
not eax
test eax, eax
je 0x10021b49
mov eax, dword [0x100d3190]
cdq
push 0xfe457
push 0x819a4e62
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x28], ax
mov dword [0x100d3158], 0x6499a4ac
movsx ecx, word [0x100d31b0]
sub ecx, 0x736f
mov word [ebp - 0x20], cx
mov dword [0x100d3134], 8
movsx edx, word [0x100d31b0]
mov eax, dword [0x100d3190]
sub eax, edx
not eax
mov dword [ebp - 0x84], eax
jmp 0x10021d3c
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x768], ecx
mov dword [ebp - 0x764], edx
mov eax, dword [ebp - 0x768]
or eax, dword [ebp - 0x764]
je 0x10021bef
mov ecx, dword [0x100d3140]
imul ecx, dword [ebp - 0x48]
mov edx, dword [0x100d3140]
add edx, ecx
mov dword [0x100d3140], edx
mov eax, dword [0x100d3168]
sub eax, 1
mov ecx, dword [0x100d316c]
sbb ecx, 0
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
imul eax, dword [ebp - 0x44], 0x14abeefe
cdq
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movsx edx, word [ebp - 0x28]
mov eax, dword [ebp - 0x4c]
sub eax, edx
mov ecx, dword [ebp - 0x4c]
add ecx, eax
mov dword [ebp - 0x4c], ecx
mov edx, dword [ebp - 0x84]
sub edx, dword [0x100d3158]
mov dword [ebp - 0x84], edx
jmp 0x10021d3c
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x770], eax
mov dword [ebp - 0x76c], ecx
mov edx, dword [ebp - 0x770]
or edx, dword [ebp - 0x76c]
jne 0x10021c1b
mov dword [ebp - 0x318], 1
jmp 0x10021c25
mov dword [ebp - 0x318], 0
mov eax, dword [0x100d3134]
cmp eax, dword [ebp - 0x318]
jl 0x10021c3e
mov dword [ebp - 0x31c], 1
jmp 0x10021c48
mov dword [ebp - 0x31c], 0
movsx ecx, word [0x100d312c]
not ecx
cmp dword [ebp - 0x31c], ecx
je 0x10021cd5
movzx edx, word [ebp - 0x24]
mov eax, dword [0x100d3140]
sub eax, edx
mov word [ebp - 0x24], ax
push 0
push 0x8d
mov ecx, dword [0x100d3154]
push ecx
mov edx, dword [0x100d3150]
push edx
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d3130]
cdq
sub eax, ecx
mov word [0x100d3130], ax
movsx edx, byte [ebp - 0x14]
add edx, dword [0x100d3174]
mov eax, dword [0x100d3174]
sub eax, edx
mov dword [0x100d3174], eax
mov ecx, dword [0x100d3158]
shr ecx, 5
mov word [ebp - 0x2c], cx
movzx eax, byte [0x100d3063]
cdq
push 0x13fe4
push 0x5b3af787
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x12], al
jmp 0x10021d3c
cmp dword [ebp - 0x6c], 0
je 0x10021d3c
mov edx, 0x12c51
mov dword [ebp - 0x74], 0xdcb46090
mov dword [ebp - 0x70], edx
mov eax, dword [0x100d3150]
or eax, dword [0x100d3154]
je 0x10021d03
movzx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x320], ecx
jmp 0x10021d0f
mov edx, dword [0x100d3158]
mov dword [ebp - 0x320], edx
mov al, byte [ebp - 0x320]
mov byte [ebp - 0x13], al
mov byte [0x100d304e], 0x4e
xor ecx, ecx
mov dword [0x100d3138], 7
mov dword [0x100d313c], ecx
movsx edx, byte [ebp - 0x12]
shl edx, 4
mov word [ebp - 0x20], dx
imul eax, dword [ebp - 0x94], 0x28
mov ecx, dword [ebp + 8]
add ecx, dword [ebp + eax - 0x1148]
mov dword [ebp - 0x6b4], ecx
mov byte [ebp - 0x14], 3
mov edx, dword [ebp - 0x44]
add edx, 0x2668
mov dword [0x100d311c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x778], eax
mov dword [ebp - 0x774], ecx
mov edx, dword [ebp - 0x778]
or edx, dword [ebp - 0x774]
je 0x10021d9b
mov eax, dword [ebp - 0x84]
cdq
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], edx
jmp 0x10021db2
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x15c], eax
mov dword [ebp - 0x158], ecx
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x158]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x84], 0xfd
movsx eax, word [ebp - 0x30]
cdq
sub eax, 0x3f3fd96
sbb edx, 0x903ac
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov ecx, dword [0x100d3174]
xor edx, edx
xor ecx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x64]
mov eax, dword [0x100d3174]
xor esi, esi
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov dword [0x100d3174], eax
mov ecx, dword [ebp - 0x80]
sub ecx, dword [0x100d3150]
mov dword [0x100d31b4], ecx
movsx edx, byte [ebp - 0x14]
mov dword [ebp - 0x324], edx
cmp dword [ebp - 0x324], 3
ja case.default.0x10021e38
mov eax, dword [ebp - 0x324]
jmp dword [eax*4 + 0x10027a08]
imul ecx, dword [ebp - 0x6c], 0x5b85
mov word [0x100d3130], cx
mov edx, 0xb03c1
mov dword [0x100d3180], 0xbba466f1
mov dword [0x100d3184], edx
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
xor eax, 0x594894d8
xor ecx, 0x66493
and eax, dword [ebp - 0x68]
and ecx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [0x100d3150]
not edx
mov eax, dword [0x100d3154]
not eax
mov ecx, dword [0x100d3144]
xor esi, esi
sub ecx, dword [ebp - 0x74]
sbb esi, dword [ebp - 0x70]
not ecx
not esi
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x780], ecx
mov dword [ebp - 0x77c], esi
mov edx, dword [ebp - 0x780]
or edx, dword [ebp - 0x77c]
jne 0x10021ed1
movsx ecx, byte [ebp - 0x12]
not ecx
xor ecx, dword [ebp - 0x6c]
xor edx, edx
add ecx, 0x1b2c5aeb
adc edx, 0x354ad
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
mov eax, dword [ebp - 0x4c]
add eax, 0x8b
mov dword [ebp - 0x80], eax
movsx ecx, word [0x100d312c]
mov edx, dword [0x100d31b4]
sub edx, ecx
imul edx, dword [0x100d31b4]
mov dword [0x100d31b4], edx
imul eax, dword [0x100d311c], 0x5d29c7c9
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movsx eax, word [ebp - 0x20]
imul ecx, eax, 0x7b3f
mov edx, dword [ebp - 0x48]
add edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0xd1c], ecx
xor eax, 0x1563
mov byte [0x100d3026], al
jmp case.default.0x10021e38
movzx edx, byte [0x100d3063]
add edx, 0x3b74
mov word [ebp - 0x28], dx
movzx eax, word [ebp - 0x24]
sar eax, 2
mov byte [0x100d3027], al
mov eax, dword [ebp - 0x4c]
cdq
sub eax, 0x67cec05b
mov word [0x100d3128], ax
movsx ecx, word [ebp - 0x2c]
mov dword [0x100d3174], ecx
movsx edx, byte [ebp - 0x14]
shl edx, 2
mov byte [0x100d3063], dl
jmp case.default.0x10021e38
movzx eax, byte [0x100d304f]
cdq
push 0x658d0
push 0x26bf9d9f
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3144], eax
movzx eax, byte [ebp - 0x15]
movsx ecx, word [0x100d312c]
imul ecx, eax
movsx edx, word [0x100d312c]
imul edx, ecx
mov word [0x100d312c], dx
mov eax, dword [ebp - 0x7c]
xor eax, 0x2a77178f
mov dword [ebp - 0x84], eax
movzx ecx, byte [ebp - 0x15]
mov edx, dword [0x100d3190]
imul edx, ecx
mov eax, dword [0x100d3190]
sub eax, edx
mov dword [0x100d3190], eax
movsx ecx, word [ebp - 0x2c]
not ecx
imul edx, ecx, 0xb5b5b4a0
movsx eax, word [ebp - 0x2c]
movsx ecx, byte [ebp - 0x11]
not ecx
sub ecx, eax
sub ecx, edx
xor edx, edx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
imul eax, dword [ebp - 0x94], 0x28
mov ecx, dword [ebp + eax - 0x114c]
push ecx
mov edx, dword [ebp - 0x6b4]
push edx
imul eax, dword [ebp - 0x94], 0x28
mov ecx, dword [ebp - 0x88]
add ecx, dword [ebp + eax - 0x1150]
push ecx
call fcn.100a33d0
add esp, 0xc
jmp 0x100216bb
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movzx eax, byte [0x100d3027]
cdq
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x784], edx
mov dword [ebp - 0x790], ecx
mov dword [ebp - 0x78c], esi
mov edx, dword [ebp - 0x788]
cmp edx, dword [ebp - 0x790]
jne 0x100220ef
mov eax, dword [ebp - 0x784]
cmp eax, dword [ebp - 0x78c]
je 0x100220fb
mov dword [ebp - 0x328], 1
jmp 0x10022105
mov dword [ebp - 0x328], 0
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0x5c]
je 0x10022124
movzx edx, word [0x100d315c]
test edx, edx
je 0x10022124
mov dword [ebp - 0x32c], 1
jmp 0x1002212e
mov dword [ebp - 0x32c], 0
mov eax, dword [ebp - 0x328]
cmp eax, dword [ebp - 0x32c]
jne 0x10022148
mov dword [ebp - 0x338], 1
jmp 0x10022152
mov dword [ebp - 0x338], 0
mov ecx, dword [ebp - 0x60]
not ecx
mov edx, dword [ebp - 0x5c]
not edx
mov dword [ebp - 0x798], ecx
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x798]
or eax, dword [ebp - 0x794]
je 0x100221a2
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x7a0], ecx
mov dword [ebp - 0x79c], edx
mov eax, dword [ebp - 0x7a0]
or eax, dword [ebp - 0x79c]
je 0x100221a2
mov dword [ebp - 0x330], 1
jmp 0x100221ac
mov dword [ebp - 0x330], 0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x100d3170]
xor esi, esi
mov dword [ebp - 0x7a8], eax
mov dword [ebp - 0x7a4], esi
mov dword [ebp - 0x7b0], ecx
mov dword [ebp - 0x7ac], edx
mov ecx, dword [ebp - 0x7a4]
cmp ecx, dword [ebp - 0x7ac]
jg 0x100221fb
jl 0x100221ef
mov edx, dword [ebp - 0x7a8]
cmp edx, dword [ebp - 0x7b0]
jae 0x100221fb
mov dword [ebp - 0x334], 1
jmp 0x10022205
mov dword [ebp - 0x334], 0
mov eax, dword [ebp - 0x330]
cmp eax, dword [ebp - 0x334]
jg 0x1002221f
mov dword [ebp - 0x33c], 1
jmp 0x10022229
mov dword [ebp - 0x33c], 0
mov ecx, dword [ebp - 0x338]
cmp ecx, dword [ebp - 0x33c]
jl 0x1002231b
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x7c]
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x1c], ax
cmp dword [ebp - 0x44], 0
jne 0x1002226d
xor edx, edx
mov dword [ebp - 0x650], 1
mov dword [ebp - 0x64c], edx
jmp 0x10022278
xorps xmm0, xmm0
movlpd qword [ebp - 0x650], xmm0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
push ecx
push eax
mov edx, dword [ebp - 0x64c]
push edx
mov eax, dword [ebp - 0x650]
push eax
call fcn.100a25b0
mov esi, eax
not esi
mov ecx, dword [0x100d3164]
push ecx
mov edx, dword [0x100d3160]
push edx
mov eax, dword [0x100d314c]
push eax
mov ecx, dword [0x100d3148]
push ecx
call fcn.100a25b0
sub eax, esi
mov dword [ebp - 0x44], eax
mov edx, dword [0x100d3158]
sub edx, 0xdb2a
xor eax, eax
mov dword [0x100d3120], edx
mov dword [0x100d3124], eax
mov ecx, 4
imul edx, ecx, 0x5978
mov ax, word [edx + 0x10155458]
mov word [0x100d3178], ax
mov ecx, dword [ebp - 0x7c]
sub ecx, 0xb1f1
mov edx, dword [ebp - 0x78]
sbb edx, 0
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
mov eax, dword [0x100d311c]
add eax, 0x9fae
mov word [ebp - 0x20], ax
jmp 0x10022477
movzx eax, word [0x100d3178]
cdq
mov esi, eax
mov edi, edx
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
movsx eax, word [0x100d31b0]
not eax
cdq
push ebx
push ecx
push edx
push eax
call fcn.100a25b0
add eax, esi
adc edx, edi
mov dword [ebp - 0x7b8], eax
mov dword [ebp - 0x7b4], edx
mov edx, dword [ebp - 0x7b8]
or edx, dword [ebp - 0x7b4]
jne 0x10022372
xor eax, eax
mov dword [ebp - 0x658], 1
mov dword [ebp - 0x654], eax
jmp 0x1002237d
xorps xmm0, xmm0
movlpd qword [ebp - 0x658], xmm0
mov ecx, 0x56ebccd
sub ecx, dword [0x100d3168]
mov edx, 0
sbb edx, dword [0x100d316c]
add ecx, dword [0x100d3188]
adc edx, dword [0x100d318c]
xor ecx, dword [ebp - 0x658]
xor edx, dword [ebp - 0x654]
mov dword [ebp - 0x7c0], ecx
mov dword [ebp - 0x7bc], edx
mov eax, dword [ebp - 0x7c0]
or eax, dword [ebp - 0x7bc]
jne 0x100223d3
mov ecx, 1
mov word [ebp - 0x9e], cx
jmp 0x100223dc
xor edx, edx
mov word [ebp - 0x9e], dx
mov ax, word [ebp - 0x9e]
mov word [ebp - 0x28], ax
movzx eax, word [0x100d3178]
cdq
mov ecx, dword [0x100d3160]
sub ecx, eax
mov eax, dword [0x100d3164]
sbb eax, edx
mov edx, dword [0x100d3160]
sub edx, ecx
mov ecx, dword [0x100d3164]
sbb ecx, eax
mov dword [0x100d3160], edx
mov dword [0x100d3164], ecx
mov edx, dword [ebp - 0x44]
add edx, 0x5d
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x12]
cdq
add eax, 0x64b7c092
mov dword [0x100d311c], eax
mov eax, dword [ebp - 0x6c]
not eax
movsx esi, word [ebp - 0x20]
sub esi, eax
movzx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x100d31a8]
mov edi, dword [0x100d31ac]
push edx
push eax
push edi
push ecx
call fcn.100a25b0
add eax, esi
not eax
mov edx, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0xd20], ecx
add edx, eax
mov word [0x100d315c], dx
mov edx, dword [ebp - 0x88]
push edx
call fcn.10032e00
add esp, 4
test eax, eax
jne 0x10023c03
movzx eax, byte [0x100d3063]
test eax, eax
je 0x10022586
mov ecx, 0xc6
test ecx, ecx
je 0x10022581
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x7c8], ecx
mov dword [ebp - 0x7c4], esi
mov edx, dword [ebp - 0x7c8]
or edx, dword [ebp - 0x7c4]
jne 0x100224e7
xor eax, eax
mov dword [ebp - 0x660], 1
mov dword [ebp - 0x65c], eax
jmp 0x100224f2
xorps xmm0, xmm0
movlpd qword [ebp - 0x660], xmm0
mov ecx, dword [ebp - 0x660]
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x44]
mov dword [0x100d3140], eax
mov ecx, dword [0x100d3170]
sub ecx, 0x2b58a1e
xor edx, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
movsx eax, word [ebp - 0x20]
imul eax, eax, 0xd079
cdq
mov esi, eax
movzx eax, byte [0x100d3063]
cdq
mov ecx, dword [ebp - 0x78]
push ecx
mov ecx, dword [ebp - 0x7c]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
sub ecx, esi
mov eax, dword [ebp - 0x4c]
not eax
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [0x100d3188], edx
mov dword [0x100d318c], eax
movzx eax, byte [ebp - 0x13]
add eax, 0xb1
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
jmp 0x10022649
cmp dword [0x100d3144], 0
jne 0x1002259b
mov dword [ebp - 0x340], 1
jmp 0x100225a5
mov dword [ebp - 0x340], 0
mov ecx, dword [0x100d3140]
cmp ecx, dword [ebp - 0x340]
jb 0x10022649
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
movzx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
cmp dword [ebp - 0x4c], 0
je 0x10022600
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x668], edx
mov dword [ebp - 0x664], eax
jmp 0x10022618
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x668], ecx
mov dword [ebp - 0x664], edx
mov eax, dword [ebp - 0x668]
mov dword [ebp - 0x48], eax
imul ecx, dword [ebp - 0x84], 0xedff778e
xor edx, edx
add ecx, dword [0x100d3138]
adc edx, dword [0x100d313c]
mov dword [0x100d3138], ecx
mov dword [0x100d313c], edx
mov byte [ebp - 0x15], 0x5c
mov eax, dword [0x100d3c78]
mov dword [0x100d31b4], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x100d318c]
push eax
mov eax, dword [0x100d3188]
push eax
push edx
push ecx
call fcn.100a25b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x44]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x74]
adc esi, dword [ebp - 0x70]
movsx eax, word [ebp - 0x28]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x7d0], eax
mov dword [ebp - 0x7cc], edx
mov edx, dword [ebp - 0x7d0]
or edx, dword [ebp - 0x7cc]
jne 0x100226b7
xor eax, eax
mov dword [ebp - 0x7e0], 1
mov dword [ebp - 0x7dc], eax
jmp 0x100226c2
xorps xmm0, xmm0
movlpd qword [ebp - 0x7e0], xmm0
mov ecx, dword [0x100d3120]
or ecx, dword [0x100d3124]
jne 0x100226e4
movsx eax, word [ebp - 0x28]
shl eax, 1
mov word [0x100d31b0], ax
movsx ecx, word [0x100d31b0]
sub ecx, dword [0x100d31b4]
xor edx, edx
mov dword [0x100d3148], ecx
mov dword [0x100d314c], edx
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov edx, dword [ebp - 0x4c]
imul edx, ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100d3140]
xor eax, dword [ebp - 0x74]
mov dword [0x100d3140], eax
push 0
push 0x1063
mov ecx, dword [ebp - 0x78]
push ecx
mov edx, dword [ebp - 0x7c]
push edx
call fcn.100a25b0
mov word [0x100d3128], ax
mov eax, dword [ebp - 0x6cc]
cmp eax, dword [ebp - 0x6d0]
je 0x10027817
movsx ecx, byte [ebp - 0x14]
imul ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0xd50], eax
sub edx, 0x5b5eff1c
mov byte [ebp - 0x13], dl
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x858], ecx
mov dword [ebp - 0x854], edx
mov eax, dword [ebp - 0x858]
or eax, dword [ebp - 0x854]
jne 0x10023cc4
mov dword [ebp - 0x3b4], 1
jmp 0x10023cce
mov dword [ebp - 0x3b4], 0
cmp dword [0x100d3140], 0
jne 0x10023ce3
mov dword [ebp - 0x3a8], 1
jmp 0x10023ced
mov dword [ebp - 0x3a8], 0
movsx ecx, byte [0x100d304e]
xor ecx, dword [ebp - 0x3a8]
jne 0x10023d08
mov dword [ebp - 0x3ac], 1
jmp 0x10023d12
mov dword [ebp - 0x3ac], 0
mov edx, dword [ebp - 0x60]
sub edx, 0x9c
mov eax, dword [ebp - 0x5c]
sbb eax, 0
mov dword [ebp - 0x860], edx
mov dword [ebp - 0x85c], eax
mov ecx, dword [ebp - 0x860]
or ecx, dword [ebp - 0x85c]
jne 0x10023d47
movzx edx, word [ebp - 0x24]
push edx
call dword [sym.imp.USER32.dll_IsZoomed]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov edx, 0x207da5e1
or edx, 0xf70ea
je 0x10027912
jmp 0x10027877
jmp 0x10027898
jmp 0x100278d5
jmp 0x100278ff
jmp 0x1002790d
jmp 0x100279d9
mov eax, dword [0x100d3148]
or eax, dword [0x100d314c]
je 0x100279d9
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x34]
push 0
push 0x2a47
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0xa00], eax
mov dword [ebp - 0x9fc], ecx
mov edx, dword [ebp - 0xa00]
or edx, dword [ebp - 0x9fc]
jne 0x1002796e
mov dword [ebp - 0x47c], 1
jmp 0x10027978
mov dword [ebp - 0x47c], 0
movzx eax, byte [ebp - 0x15]
imul eax, dword [ebp - 0x47c]
not eax
add eax, dword [0x100d3174]
mov word [0x100d312c], ax
movsx eax, word [0x100d312c]
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
add ecx, eax
adc esi, edx
xor ecx, dword [ebp - 0x68]
xor esi, dword [ebp - 0x64]
mov edx, dword [0x100d3140]
xor eax, eax
add edx, ecx
adc eax, esi
mov dword [0x100d3138], edx
mov dword [0x100d313c], eax
movsx ecx, byte [ebp - 0x12]
movsx edx, byte [ebp - 0x11]
xor edx, ecx
movsx eax, byte [ebp - 0x11]
sub eax, edx
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4