Function at 0x10008c80
Capabilities:
Authenticate hmac
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100664d0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
mov eax, 0x13b4
call fcn.1005a2e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x31c], 0xf6
movsx eax, word [0x1007f1a8]
mov dword [ebp - 0x34], eax
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x60], ecx
movzx dx, byte [0x1007f026]
mov word [ebp - 0x24], dx
mov ax, word [0x1007f16c]
mov word [ebp - 0x2c], ax
mov cl, byte [0x1007f120]
mov byte [ebp - 0x1a], cl
mov dx, word [0x1007f16c]
mov word [ebp - 0x30], dx
mov byte [ebp - 0x19], 0x15
mov eax, 0xe5dc
mov word [ebp - 0x28], ax
mov cx, word [0x1007f1b8]
mov byte [ebp - 0x12], cl
mov edx, dword [0x1007f178]
mov eax, dword [0x1007f17c]
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x1007f1bc]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1007f120]
mov dword [ebp - 0x70], edx
mov eax, 0x8c72e
mov dword [ebp - 0x6c], 0xa6fdf8f6
mov dword [ebp - 0x68], eax
movzx eax, byte [0x1007f04e]
cdq
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], edx
mov ecx, 0x357
mov word [ebp - 0x18], cx
mov dx, word [0x1007f188]
mov word [ebp - 0x20], dx
mov dword [ebp - 0x54], 0x3945a32e
mov byte [ebp - 0x1b], 0x7c
mov dword [ebp - 0x64], 0xad2a
xor eax, eax
mov dword [ebp - 0x78], 0x6a5d
mov dword [ebp - 0x74], eax
movzx ecx, byte [0x1007f026]
mov dword [ebp - 0x38], ecx
movsx edx, word [0x1007f148]
mov dword [ebp - 0x80], edx
mov byte [ebp - 0x11], 0x58
mov eax, 0xffffaf70
mov word [ebp - 0x2c8], ax
mov dword [ebp - 0x320], 0xf2
mov ecx, dword [0x1007f154]
mov dword [ebp - 0x324], ecx
xor edx, edx
mov dword [ebp - 0x394], 0x4f6fc784
mov dword [ebp - 0x390], edx
mov ax, word [0x1007f14c]
mov word [ebp - 0x2c4], ax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x328], edx
mov word [ebp - 0x26c], cx
mov eax, 0xffffccea
mov word [ebp - 0x2c0], ax
mov dword [ebp - 0x32c], 0xf70b147f
mov byte [ebp - 0x95], 9
mov dword [ebp - 0x330], 0x61b53d68
xor ecx, ecx
mov dword [ebp - 0x39c], 0x3c
mov dword [ebp - 0x398], ecx
mov eax, dword [ebp - 0x54]
sub eax, 0xd960
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
xor edx, dword [0x1007f1c0]
xor eax, dword [0x1007f1c4]
mov dword [0x1007f1c0], edx
mov dword [0x1007f1c4], eax
cmp dword [0x1007f180], 0
jne 0x10008e84
xor ecx, ecx
mov dword [ebp - 0x1f8], 1
mov dword [ebp - 0x1f4], ecx
jmp 0x10008e8f
xorps xmm0, xmm0
movlpd qword [ebp - 0x1f8], xmm0
mov edx, dword [0x1007f1b0]
add edx, dword [ebp - 0x1f8]
mov eax, dword [0x1007f1b4]
adc eax, dword [ebp - 0x1f4]
mov dword [ebp - 0x2e8], edx
mov dword [ebp - 0x2e4], eax
mov ecx, dword [ebp - 0x2e8]
or ecx, dword [ebp - 0x2e4]
jne 0x10008ed4
xor edx, edx
mov dword [ebp - 0x200], 1
mov dword [ebp - 0x1fc], edx
jmp 0x10008edf
xorps xmm0, xmm0
movlpd qword [ebp - 0x200], xmm0
movsx eax, word [ebp - 0x18]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x50]
adc esi, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x200]
sbb esi, dword [ebp - 0x1fc]
not ecx
not esi
movzx eax, byte [ebp - 0x19]
cdq
mov edi, dword [0x1007f160]
mov ebx, dword [0x1007f164]
sub edi, eax
sbb ebx, edx
movzx edx, byte [ebp - 0x1b]
movzx eax, byte [0x1007f04e]
xor eax, edx
cdq
add eax, edi
adc edx, ebx
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xa0], eax
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
mov dword [ebp - 0x2f0], ecx
mov dword [ebp - 0x2ec], esi
mov dword [ebp - 0x2f8], eax
mov dword [ebp - 0x2f4], edx
mov edx, dword [ebp - 0x2ec]
cmp edx, dword [ebp - 0x2f4]
jg 0x10008f97
jl 0x10008f8b
mov eax, dword [ebp - 0x2f0]
cmp eax, dword [ebp - 0x2f8]
ja 0x10008f97
mov dword [ebp - 0x1a4], 1
jmp 0x10008fa1
mov dword [ebp - 0x1a4], 0
mov ecx, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov dword [ebp - 0x300], ecx
mov dword [ebp - 0x2fc], edx
cmp dword [ebp - 0x2fc], 0
jg 0x10008fd9
jl 0x10008fcd
cmp dword [ebp - 0x300], 0x23
ja 0x10008fd9
mov dword [ebp - 0x1a8], 1
jmp 0x10008fe3
mov dword [ebp - 0x1a8], 0
mov eax, dword [ebp - 0x1a4]
cmp eax, dword [ebp - 0x1a8]
jne 0x10009119
mov ecx, 3
mov word [ebp - 0x18], cx
movzx edx, word [0x1007f14c]
imul eax, edx, 0x4c2a6410
mov dword [0x1007f144], eax
movsx ecx, word [0x1007f1a8]
imul edx, ecx, 0xfebb910b
mov word [0x1007f168], dx
movsx eax, word [ebp - 0x18]
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xc8], 3
ja case.default.0x10009041
mov ecx, dword [ebp - 0xc8]
jmp dword [ecx*4 + 0x1000bb28]
movzx eax, word [ebp - 0x28]
cdq
add eax, 0xb8835a99
mov byte [0x1007f027], al
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x334], eax
add edx, 0xf1ac8c69
mov dword [ebp - 0x70], edx
movzx ecx, byte [0x1007f026]
test ecx, ecx
je 0x1000908b
movzx edx, word [0x1007f128]
mov dword [ebp - 0xcc], edx
jmp 0x10009098
movsx eax, word [0x1007f15c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xcc]
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
jmp case.default.0x10009041
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, byte [ebp - 0x19]
xor eax, 0xa28d
mov byte [0x1007f04e], al
jmp case.default.0x10009041
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
mov dword [ebp - 0x338], edx
sub ecx, 0x13
mov byte [0x1007f026], cl
mov eax, 2
mov word [ebp - 0x24], ax
jmp case.default.0x10009041
movzx ecx, byte [ebp - 0x19]
movzx edx, word [ebp - 0x30]
imul edx, ecx
movzx eax, word [ebp - 0x30]
imul eax, edx
mov word [ebp - 0x30], ax
mov ecx, dword [0x1007f140]
add ecx, dword [ebp - 0x38]
imul ecx, dword [0x1007f140]
mov dword [0x1007f140], ecx
jmp 0x1000915f
movsx edx, word [ebp - 0x20]
mov eax, dword [ebp - 0x64]
sub eax, edx
mov dword [ebp - 0x64], eax
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x33c], edx
not ecx
movzx eax, byte [ebp - 0x19]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x340], ecx
mov edx, 2
imul ecx, edx, 0x4d
mov word [ecx + 0x10316d70], ax
mov edx, dword [ebp - 0xa0]
add edx, 0x340
mov dword [ebp - 0x2cc], edx
movzx eax, word [0x1007f16c]
movzx ecx, word [ebp - 0x24]
add ecx, eax
movzx edx, word [ebp - 0x24]
add edx, ecx
mov word [ebp - 0x24], dx
movzx eax, byte [0x1007f027]
xor eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov dword [ebp - 0x38], ecx
mov edx, 0x41
mov word [0x1007f168], dx
mov eax, dword [ebp - 0xa0]
add eax, 0x3a8
mov dword [ebp - 0x178], eax
mov ecx, 2
mov word [ebp - 0x18], cx
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x50]
push edx
call fcn.1005a1b0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x18]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x10009209
cmp dword [ebp - 0x9c], 1
je 0x1000924c
cmp dword [ebp - 0x9c], 2
je 0x10009295
jmp 0x10009331
mov ecx, dword [0x1007f1bc]
add ecx, 9
mov word [ebp - 0x18], cx
movsx eax, word [0x1007f15c]
cdq
and eax, dword [0x1007f178]
mov word [0x1007f15c], ax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x374], edx
add ecx, 0xe246
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
jmp 0x10009331
movzx eax, word [ebp - 0x28]
add eax, 0xaa
mov dword [0x1007f154], eax
je 0x10009276
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x1e8], ecx
mov dword [ebp - 0x1e4], edx
jmp 0x10009287
movsx eax, byte [ebp - 0x1a]
cdq
mov dword [ebp - 0x1e8], eax
mov dword [ebp - 0x1e4], edx
mov eax, dword [ebp - 0x1e8]
mov dword [ebp - 0x70], eax
jmp 0x10009331
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x100092b3
mov edx, dword [0x1007f180]
xor eax, eax
mov dword [ebp - 0x1f0], edx
mov dword [ebp - 0x1ec], eax
jmp 0x100092cb
mov ecx, dword [0x1007f178]
mov edx, dword [0x1007f17c]
mov dword [ebp - 0x1f0], ecx
mov dword [ebp - 0x1ec], edx
mov ax, word [ebp - 0x1f0]
mov word [ebp - 0x2c], ax
mov ecx, dword [0x1007f158]
xor edx, edx
and ecx, 0x51c8d93a
and edx, 0xcdb8c
mov eax, dword [ebp - 0x34]
add eax, 0x48cf9f32
mov esi, eax
xor edi, edi
sub esi, ecx
sbb edi, edx
movsx eax, word [ebp - 0x2c]
not eax
cdq
xor eax, dword [ebp - 0x5c]
xor edx, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
sub ecx, eax
sbb ebx, edx
xor ecx, esi
xor ebx, edi
not ecx
not ebx
mov dword [0x1007f178], ecx
mov dword [0x1007f17c], ebx
mov eax, dword [ebp - 0x60]
cdq
sub eax, 0xc478460b
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0xa0]
add edx, 0x3b5
mov dword [ebp - 0x344], edx
mov byte [ebp - 0x1b], 3
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
sub eax, 0xab844d21
sbb ecx, 0
mov edx, dword [ebp - 0x48]
sub edx, eax
mov eax, dword [ebp - 0x44]
sbb eax, ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x44], eax
xor ecx, ecx
mov dword [0x1007f1c0], 2
mov dword [0x1007f1c4], ecx
movzx edx, byte [ebp - 0x1b]
mov dword [ebp - 0xd0], edx
cmp dword [ebp - 0xd0], 3
ja case.default.0x10009399
mov eax, dword [ebp - 0xd0]
jmp dword [eax*4 + 0x1000bb38]
mov ecx, dword [ebp - 0x38]
add ecx, 0x30
mov edx, dword [ebp - 0x34]
sub edx, ecx
mov dword [ebp - 0x34], edx
movsx eax, word [0x1007f15c]
cdq
add eax, 0x123f2d05
mov word [ebp - 0x18], ax
jmp case.default.0x10009399
mov eax, 1
imul ecx, eax, 0x1ce
movzx edx, byte [ecx + 0x100b6fa8]
mov eax, dword [ebp - 0x34]
and eax, edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x70]
sub ecx, 0x24b01a3e
movzx edx, word [ebp - 0x24]
sub edx, ecx
mov word [ebp - 0x24], dx
mov eax, dword [0x1007f144]
cdq
mov dword [0x1007f198], eax
mov dword [0x1007f19c], edx
jmp case.default.0x10009399
mov eax, dword [0x1007f1c0]
sub eax, 0xed
mov ecx, dword [0x1007f1c4]
sbb ecx, 0
mov dword [0x1007f188], eax
mov dword [0x1007f18c], ecx
jmp case.default.0x10009399
movsx eax, word [0x1007f1a8]
cdq
sub eax, dword [0x1007f178]
mov edx, 0x85508706
sub edx, eax
mov eax, dword [0x1007f1c0]
add eax, 0x75
sub eax, edx
mov word [0x1007f1a8], ax
mov dword [ebp - 0x1a0], 0
jmp 0x10009469
jmp 0x10009489
jmp 0x10009495
mov dword [ebp - 0x90], 0
mov ecx, dword [0x1007f1c0]
or ecx, dword [0x1007f1c4]
je 0x100094c6
mov edx, dword [0x1007f1c0]
mov eax, dword [0x1007f1c4]
mov dword [ebp - 0x1b0], edx
mov dword [ebp - 0x1ac], eax
jmp 0x100094da
movzx eax, word [0x1007f128]
cdq
mov dword [ebp - 0x1b0], eax
mov dword [ebp - 0x1ac], edx
mov ecx, dword [ebp - 0x1b0]
mov edx, dword [ebp - 0x1ac]
mov dword [0x1007f1c0], ecx
mov dword [0x1007f1c4], edx
mov eax, 0x1a
mov word [0x1007f16c], ax
mov dword [ebp - 0x94], 0
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessorNumber]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x1007f120]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [0x1007f1bc], eax
cmp dword [0x1007f1bc], 0
ja 0x10009567
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
xor eax, 0x36
xor ecx, 0
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], ecx
mov dl, byte [0x1007fc38]
mov byte [ebp - 0x1a], dl
movsx eax, word [ebp - 0x20]
cdq
add eax, 0xfcb8d930
mov word [0x1007f1c8], ax
jmp 0x10009587
xor eax, eax
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x74], eax
mov ecx, 1
imul edx, ecx, 0x50ae
mov al, byte [ebp - 0x19]
mov byte [edx + 0x103c7cb0], al
xor ecx, ecx
mov byte [ebp - 0x7a], cl
push 0
push 0
push 0
push 0
lea edx, [ebp - 0x3c4]
push edx
lea ecx, [ebp - 0x7a]
call fcn.100026f0
mov ecx, eax
call fcn.10030e30
push eax
push 0
push 0
call fcn.100015b0
add esp, 8
call eax
mov dword [ebp - 0x90], eax
mov dword [ebp - 4], 0
movzx eax, word [0x1007f128]
test eax, eax
jne 0x100095dd
mov dword [ebp - 0xd4], 1
jmp 0x100095e7
mov dword [ebp - 0xd4], 0
mov ecx, dword [ebp - 0x34]
cmp ecx, dword [ebp - 0xd4]
jne 0x100095fe
mov dword [ebp - 0xd8], 1
jmp 0x10009608
mov dword [ebp - 0xd8], 0
mov eax, dword [ebp - 0xd8]
not eax
cdq
mov dword [ebp - 0x308], eax
mov dword [ebp - 0x304], edx
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x304]
jb 0x10009641
ja 0x10009635
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x308]
jbe 0x10009641
mov dword [ebp - 0xe4], 1
jmp 0x1000964b
mov dword [ebp - 0xe4], 0
movsx ecx, word [ebp - 0x18]
movzx edx, word [0x1007f1a0]
cmp edx, ecx
jl 0x10009666
mov dword [ebp - 0xdc], 1
jmp 0x10009670
mov dword [ebp - 0xdc], 0
movzx eax, word [ebp - 0x28]
cmp dword [0x1007f1a4], eax
jge 0x10009688
mov dword [ebp - 0xe0], 1
jmp 0x10009692
mov dword [ebp - 0xe0], 0
mov ecx, dword [ebp - 0xdc]
cmp ecx, dword [ebp - 0xe0]
jg 0x100096ac
mov dword [ebp - 0xe8], 1
jmp 0x100096b6
mov dword [ebp - 0xe8], 0
mov edx, dword [ebp - 0xe4]
not edx
cmp edx, dword [ebp - 0xe8]
je 0x100097ce
movzx eax, word [0x1007f1a0]
push eax
push 0x32
movzx ecx, word [ebp - 0x18]
push ecx
push 0
push 0
call fcn.10036740
add esp, 0x14
mov word [ebp - 0x98], ax
movsx edx, word [ebp - 0x98]
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0x60], 0
je 0x1000978b
mov dword [ebp - 0xb4], 0x24aa
mov eax, dword [0x1007f198]
mov ecx, dword [0x1007f19c]
mov dword [ebp - 0x348], ecx
sub eax, 0xaa191b1c
mov word [ebp - 0x24], ax
mov edx, dword [0x1007fc38]
mov dword [0x1007f144], edx
movsx eax, word [0x1007f1a8]
movzx ecx, byte [0x1007f04e]
add ecx, eax
movzx edx, byte [0x1007f04e]
sub edx, ecx
mov byte [0x1007f04e], dl
cmp dword [ebp - 0xb4], 0x2322
jle 0x10009789
movzx eax, word [ebp - 0x28]
cdq
xor eax, 0x517a078a
mov dword [0x1007f1bc], eax
mov eax, dword [0x1007f1c0]
sub eax, 0xa1792b29
mov word [ebp - 0x18], ax
mov ecx, dword [ebp - 0xb4]
sub ecx, 1
mov dword [ebp - 0xb4], ecx
jmp 0x1000974f
jmp 0x100097cc
movzx edx, word [0x1007f1a0]
test edx, edx
je 0x100097cc
mov eax, dword [0x1007f1bc]
add eax, 0x2f586f57
movsx ecx, word [0x1007f148]
sub ecx, eax
mov word [0x1007f148], cx
movsx edx, word [ebp - 0x18]
movsx eax, word [0x1007f15c]
movsx ecx, byte [ebp - 0x11]
sub ecx, eax
add ecx, edx
mov eax, ecx
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
jmp 0x10009834
movsx edx, word [0x1007f15c]
test edx, edx
je 0x100097f0
movzx eax, word [0x1007f1a0]
test eax, eax
je 0x100097f0
mov dword [ebp - 0xec], 1
jmp 0x100097fa
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp - 0xec]
not ecx
test ecx, ecx
je 0x10009834
movzx edx, word [0x1007f1c8]
add edx, dword [ebp - 0x64]
movzx eax, word [0x1007f1c8]
add eax, edx
mov word [0x1007f1c8], ax
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x60], 2
jmp 0x100098d5
mov dword [ebp - 4], 0xffffffff
jmp 0x100098e5
cmp dword [ebp - 0x90], 0
jne 0x10009922
xor eax, eax
mov ecx, dword [ebp - 0x50]
not ecx
mov edx, dword [ebp - 0x4c]
not edx
add ecx, dword [0x1007f154]
adc edx, eax
not ecx
not edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movsx eax, byte [ebp - 0x1a]
imul eax, dword [ebp - 0x70]
movsx ecx, byte [ebp - 0x1a]
add ecx, eax
mov byte [ebp - 0x1a], cl
jmp 0x1000b05f
push 0
push 0x84000000
push 0
push 0
mov edx, dword [ebp + 8]
push edx
mov eax, dword [ebp - 0x90]
push eax
push 0
push 0
call fcn.10001610
add esp, 8
call eax
mov dword [ebp - 0x94], eax
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov eax, dword [0x1007f138]
mov esi, dword [0x1007f13c]
mov dword [ebp - 0x310], eax
mov dword [ebp - 0x30c], esi
mov dword [ebp - 0x318], ecx
mov dword [ebp - 0x314], edx
mov ecx, dword [ebp - 0x310]
cmp ecx, dword [ebp - 0x318]
jne 0x10009997
mov edx, dword [ebp - 0x30c]
cmp edx, dword [ebp - 0x314]
je 0x100099a7
call dword [sym.imp.KERNEL32.dll_GetLastError]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x100099e5
movzx edx, word [0x1007f168]
test edx, edx
je 0x100099e5
mov eax, dword [0x1007fc38]
xor ecx, ecx
mov dword [0x1007f120], eax
mov dword [0x1007f124], ecx
mov eax, dword [ebp - 0x54]
not eax
cdq
mov ecx, eax
and ecx, dword [0x1007f1b0]
movzx edx, byte [ebp - 0x12]
movzx eax, word [0x1007f1a0]
and eax, edx
cdq
and eax, ecx
mov byte [ebp - 0x19], al
cmp dword [ebp - 0x94], 0
jne 0x10009aa9
movzx eax, byte [ebp - 0x1b]
test eax, eax
jne 0x10009a06
mov dword [ebp - 0xf4], 1
jmp 0x10009a10
mov dword [ebp - 0xf4], 0
movsx ecx, byte [ebp - 0x11]
movzx edx, word [0x1007f128]
sub edx, ecx
jne 0x10009a2b
mov dword [ebp - 0xf0], 1
jmp 0x10009a35
mov dword [ebp - 0xf0], 0
mov eax, dword [ebp - 0x34]
imul eax, dword [str.C]
add eax, dword [ebp - 0xf0]
movzx ecx, word [0x1007f14c]
mov edx, dword [ebp - 0xf4]
lea ecx, [edx + ecx + 0x3ba7c098]
sub ecx, eax
mov word [0x1007f148], cx
mov eax, dword [ebp - 0x54]
cdq
push edx
push eax
mov edx, dword [0x1007f17c]
push edx
mov eax, dword [0x1007f178]
push eax
call fcn.1005a1b0
mov ecx, dword [ebp - 0x74]
mov esi, dword [0x1007f158]
not esi
xor edi, edi
add esi, dword [ebp - 0x78]
adc edi, ecx
add esi, eax
adc edi, edx
not esi
not edi
mov eax, dword [ebp - 0x54]
cdq
push edi
push esi
push edx
push eax
call fcn.1005a1b0
mov dword [ebp - 0x70], eax
jmp 0x1000b05f
movzx eax, byte [0x1007f026]
cdq
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f190]
mov esi, dword [0x1007f194]
add ecx, eax
adc esi, edx
mov dword [0x1007f190], ecx
mov dword [0x1007f194], esi
mov dx, word [0x1007f1a0]
add dx, 1
mov word [0x1007f1a0], dx
mov dword [ebp - 0x8c], 0
mov dword [ebp - 4], 2
movsx eax, word [ebp - 0x20]
test eax, eax
je 0x10009b25
movzx ecx, word [ebp - 0x30]
add ecx, 0x9c16
je 0x10009b25
mov dword [ebp - 0x104], 1
jmp 0x10009b2f
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x220], edx
mov dword [ebp - 0x21c], eax
mov ecx, dword [ebp - 0x220]
or ecx, dword [ebp - 0x21c]
jne 0x10009b5b
mov dword [ebp - 0xf8], 1
jmp 0x10009b65
mov dword [ebp - 0xf8], 0
movzx edx, word [0x1007f14c]
cmp dword [ebp - 0xf8], edx
jle 0x10009b80
mov dword [ebp - 0xfc], 1
jmp 0x10009b8a
mov dword [ebp - 0xfc], 0
movsx eax, word [ebp - 0x18]
cmp dword [ebp - 0x60], eax
je 0x10009b9f
mov dword [ebp - 0x100], 1
jmp 0x10009ba9
mov dword [ebp - 0x100], 0
mov ecx, dword [ebp - 0xfc]
not ecx
cmp ecx, dword [ebp - 0x100]
jl 0x10009bc5
mov dword [ebp - 0x108], 1
jmp 0x10009bcf
mov dword [ebp - 0x108], 0
mov edx, dword [ebp - 0x104]
cmp edx, dword [ebp - 0x108]
jne 0x10009c62
movzx eax, word [ebp - 0x30]
cmp dword [ebp - 0x80], eax
jge 0x10009c60
movzx ecx, word [0x1007f128]
movzx edx, word [0x1007f168]
lea eax, [edx + ecx + 0x49]
mov word [0x1007f168], ax
movzx ecx, word [0x1007f16c]
test ecx, ecx
jne 0x10009c19
mov dword [ebp - 0x10c], 1
jmp 0x10009c23
mov dword [ebp - 0x10c], 0
mov edx, dword [0x1007f144]
xor edx, dword [ebp - 0x10c]
jne 0x10009c3d
mov dword [ebp - 0x110], 1
jmp 0x10009c47
mov dword [ebp - 0x110], 0
movsx eax, word [0x1007f1a8]
add eax, dword [ebp - 0x110]
cdq
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
jmp 0x10009c82
movzx eax, word [0x1007f168]
imul ecx, eax, 0xcae7
mov word [0x1007f128], cx
mov edx, dword [ebp - 0x80]
shl edx, 2
mov dword [0x1007f140], edx
jmp 0x10009cc0
mov dword [ebp - 4], 0xffffffff
jmp 0x10009cd0
mov dword [ebp - 0x174], 0
movsx edx, word [ebp - 0x20]
imul eax, edx, 0xb2a92b71
mov word [0x1007f148], ax
movzx ecx, word [0x1007f168]
mov edx, dword [ebp - 0x38]
sub edx, ecx
mov dword [ebp - 0x38], edx
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x350], ecx
add eax, 0xf465
mov byte [ebp - 0x19], al
mov edx, 1
test edx, edx
je 0x1000af5a
movzx eax, word [0x1007f1a0]
test eax, eax
je 0x10009d5b
mov ecx, dword [0x1007f198]
mov edx, dword [0x1007f19c]
sub ecx, 1
sbb edx, 0
mov dword [0x1007f198], ecx
mov dword [0x1007f19c], edx
movzx eax, word [0x1007f168]
imul ecx, eax, 0x19
mov word [0x1007f128], cx
jmp 0x10009dc1
mov edx, dword [0x1007f160]
mov eax, dword [0x1007f164]
mov dword [ebp - 0x228], edx
mov dword [ebp - 0x224], eax
mov ecx, dword [ebp - 0x228]
or ecx, dword [ebp - 0x224]
je 0x10009dc1
movsx edx, word [0x1007f148]
imul eax, edx, 0xf0e16979
mov byte [ebp - 0x11], al
cmp dword [0x1007f140], 0
je 0x10009da7
mov ecx, dword [0x1007f158]
mov dword [ebp - 0x114], ecx
jmp 0x10009db3
mov edx, dword [0x1007f158]
mov dword [ebp - 0x114], edx
mov eax, dword [ebp - 0x114]
xor ecx, ecx
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0xa4], 0
jmp 0x10009ddc
mov edx, dword [ebp - 0xa4]
add edx, 1
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa4], 0x38
jge 0x10009e62
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x354], edx
movsx eax, word [ebp - 0x18]
cdq
mov esi, eax
sub esi, ecx
movsx eax, word [ebp - 0x18]
cdq
sub eax, esi
mov word [ebp - 0x18], ax
mov eax, dword [0x1007f138]
mov ecx, dword [0x1007f13c]
mov edx, dword [ebp - 0x44]
push edx
mov edx, dword [ebp - 0x48]
push edx
push ecx
push eax
call fcn.1005a1b0
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
add ecx, eax
adc esi, edx
mov dword [0x1007f138], ecx
mov dword [0x1007f13c], esi
mov edx, dword [0x1007f198]
mov eax, dword [0x1007f19c]
add edx, 1
adc eax, 0
mov dword [0x1007f198], edx
mov dword [0x1007f19c], eax
jmp 0x10009dcd
push 0x1000
push 0
lea ecx, [ebp - 0x13c4]
push ecx
call fcn.1005b550
add esp, 0xc
push 0xbb
call fcn.10037420
add esp, 4
mov word [ebp - 0x28], ax
movzx edx, word [ebp - 0x28]
test edx, edx
jge 0x10009e9d
mov dword [ebp - 0x118], 1
jmp 0x10009ea7
mov dword [ebp - 0x118], 0
movzx eax, word [ebp - 0x28]
cmp eax, 0x3e
jge 0x10009ebc
mov dword [ebp - 0x11c], 1
jmp 0x10009ec6
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jge 0x10009fa2
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
je 0x10009fa0
movzx eax, byte [ebp - 0x12]
cdq
sub eax, 0x35f0c416
sbb edx, 0x323f8
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x2c]
test eax, eax
jne 0x10009f14
mov dword [ebp - 0x120], 1
jmp 0x10009f1e
mov dword [ebp - 0x120], 0
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x230], ecx
mov dword [ebp - 0x22c], edx
mov eax, dword [ebp - 0x230]
or eax, dword [ebp - 0x22c]
jne 0x10009f50
mov dword [ebp - 0x124], 1
jmp 0x10009f5a
mov dword [ebp - 0x124], 0
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
sub ecx, eax
sbb esi, edx
movsx eax, word [0x1007f15c]
sub eax, dword [0x1007f1a4]
cdq
sub eax, ecx
sbb edx, esi
mov ecx, dword [0x1007f180]
add ecx, dword [ebp - 0x120]
imul ecx, dword [ebp - 0x124]
xor esi, esi
add ecx, eax
adc esi, edx
mov dword [ebp - 0x5c], ecx
mov dword [ebp - 0x58], esi
jmp 0x10009fae
mov edx, dword [0x1007f170]
sub edx, 0x1f
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x84], 0
mov eax, 0xeb
test eax, eax
je 0x1000a175
mov dword [ebp - 4], 4
mov ecx, dword [ebp - 0x64]
cmp ecx, dword [ebp - 0x38]
jge 0x10009fe0
mov dword [ebp - 0x128], 1
jmp 0x10009fea
mov dword [ebp - 0x128], 0
cmp dword [ebp - 0x64], 0x19
jge 0x10009ffc
mov dword [ebp - 0x12c], 1
jmp 0x1000a006
mov dword [ebp - 0x12c], 0
mov edx, dword [ebp - 0x128]
cmp edx, dword [ebp - 0x12c]
jle 0x1000a127
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x238], eax
mov dword [ebp - 0x234], ecx
mov edx, dword [ebp - 0x238]
or edx, dword [ebp - 0x234]
jne 0x1000a049
mov dword [ebp - 0x130], 1
jmp 0x1000a053
mov dword [ebp - 0x130], 0
movzx eax, word [ebp - 0x28]
movsx ecx, word [ebp - 0x20]
add ecx, eax
imul ecx, dword [ebp - 0x130]
movzx edx, byte [0x1007f026]
movsx eax, word [0x1007f148]
add eax, edx
not eax
mov edx, dword [ebp - 0x34]
or edx, eax
imul edx, ecx
not edx
xor eax, eax
mov dword [0x1007f198], edx
mov dword [0x1007f19c], eax
mov ecx, 1
imul edx, ecx, 0x56
movzx eax, byte [edx + 0x100b6fa8]
cdq
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
mov eax, dword [0x1007f144]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x240], eax
mov dword [ebp - 0x23c], edx
mov edx, dword [ebp - 0x240]
or edx, dword [ebp - 0x23c]
jne 0x1000a0f1
xor eax, eax
mov dword [ebp - 0x248], 1
mov dword [ebp - 0x244], eax
jmp 0x1000a0fc
xorps xmm0, xmm0
movlpd qword [ebp - 0x248], xmm0
mov eax, dword [ebp - 0x54]
cdq
xor eax, dword [0x1007f1c0]
mov ecx, dword [0x1007f158]
sub ecx, eax
mov edx, dword [0x1007f158]
add edx, dword [0x1007f188]
not edx
sub edx, dword [ebp - 0x248]
add edx, ecx
mov dword [ebp - 0x70], edx
jmp 0x1000a163
mov dword [ebp - 4], 0xffffffff
jmp 0x1000a173
jmp 0x1000a1d0
cmp dword [0x1007f158], 0
je 0x1000a1d0
mov edx, dword [0x1007f158]
add edx, dword [ebp - 0x6c]
mov dword [0x1007f158], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x358], ecx
add eax, 0x758b
mov word [ebp - 0x24], ax
mov edx, dword [0x1007f144]
sub edx, 0x70607067
xor eax, eax
push eax
push edx
mov ecx, dword [0x1007f17c]
push ecx
mov edx, dword [0x1007f178]
push edx
call fcn.1005a1b0
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
lea eax, [ebp - 0x84]
push eax
push 0x1000
lea ecx, [ebp - 0x13c4]
push ecx
mov edx, dword [ebp - 0x94]
push edx
push 0
push 0
call fcn.100014f0
add esp, 8
call eax
test eax, eax
jne 0x1000a273
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
mov dword [ebp - 0x250], eax
mov dword [ebp - 0x24c], ecx
mov edx, dword [ebp - 0x250]
or edx, dword [ebp - 0x24c]
je 0x1000a244
movsx eax, byte [ebp - 0x11]
add eax, 0x6d207892
movzx ecx, byte [0x1007f027]
sub ecx, eax
mov byte [0x1007f027], cl
mov edx, 0xf405
mov word [ebp - 0x30], dx
jmp 0x1000a26e
movzx eax, word [0x1007f168]
test eax, eax
je 0x1000a26e
mov ecx, dword [0x1007f1c0]
sub ecx, dword [ebp - 0x48]
mov byte [0x1007f027], cl
mov edx, dword [ebp - 0x48]
sub edx, 0x40170487
mov word [0x1007f15c], dx
jmp 0x1000af5a
xor eax, eax
mov ecx, dword [ebp - 0x5c]
sub ecx, dword [str.C]
mov esi, dword [ebp - 0x58]
sbb esi, eax
movsx eax, byte [ebp - 0x1a]
cdq
mov edi, dword [0x1007f160]
mov ebx, dword [0x1007f164]
add edi, eax
adc ebx, edx
mov edx, dword [0x1007f158]
xor eax, eax
sub edx, edi
sbb eax, ebx
add edx, ecx
adc eax, esi
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
movsx eax, word [ebp - 0x2c]
sub eax, 0x70
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx ecx, word [0x1007f1b8]
sub ecx, 0x4aba82f3
or ecx, dword [ebp - 0x38]
mov dword [ebp - 0x38], ecx
cmp dword [ebp - 0x84], 0
jne 0x1000a5a3
mov dword [ebp - 0xa8], 0x5c
movzx edx, byte [0x1007f026]
mov eax, 4
imul ecx, eax, 0x14
add edx, dword [ecx + 0x1024e158]
mov byte [0x1007f026], dl
movsx edx, word [ebp - 0x18]
add edx, dword [0x1007f1a4]
mov word [ebp - 0x18], dx
mov eax, dword [ebp - 0x54]
cdq
mov ecx, 8
shl ecx, 3
xor eax, dword [ecx + 0x1016a990]
mov dword [ebp - 0x54], eax
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
add edx, 1
adc eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
push 0
push 0x395d
push edx
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f1c0]
sub ecx, eax
mov eax, dword [0x1007f1c4]
sbb eax, edx
mov dword [0x1007f1c0], ecx
mov dword [0x1007f1c4], eax
mov ecx, dword [ebp - 0xa8]
add ecx, 1
mov dword [ebp - 0xa8], ecx
cmp dword [ebp - 0xa8], 0x75
jl 0x1000a324
push 0x1c
push 0
call fcn.100364f0
add esp, 8
mov word [ebp - 0x28], ax
movzx edx, byte [ebp - 0x12]
cmp edx, 0xb0e8
jg 0x1000a3aa
mov dword [ebp - 0x134], 1
jmp 0x1000a3b4
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x134]
not eax
test eax, eax
je 0x1000a3ea
movzx ecx, byte [0x1007f04e]
sar ecx, 6
mov word [ebp - 0x20], cx
mov edx, 4
imul eax, edx, 0x88e2
mov ecx, dword [eax + 0x1032d050]
mov dword [0x1007f170], ecx
jmp 0x1000a56e
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x1000a409
movzx eax, word [0x1007f16c]
test eax, eax
je 0x1000a409
mov dword [ebp - 0x138], 0
jmp 0x1000a413
mov dword [ebp - 0x138], 1
mov ecx, dword [0x1007f140]
not ecx
test ecx, ecx
jne 0x1000a436
movzx edx, word [0x1007f16c]
test edx, edx
je 0x1000a436
mov dword [ebp - 0x13c], 1
jmp 0x1000a440
mov dword [ebp - 0x13c], 0
mov eax, dword [ebp - 0x138]
not eax
cmp eax, dword [ebp - 0x13c]
je 0x1000a4c7
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x35c], edx
add ecx, 0x7fbc
mov word [ebp - 0x30], cx
cmp dword [ebp - 0x64], 0
je 0x1000a48b
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], ecx
jmp 0x1000a49b
mov eax, dword [ebp - 0x60]
cdq
mov dword [ebp - 0x1b8], eax
mov dword [ebp - 0x1b4], edx
mov edx, dword [ebp - 0x1b8]
mov eax, dword [ebp - 0x1b4]
mov dword [0x1007f1b0], edx
mov dword [0x1007f1b4], eax
movzx ecx, word [0x1007f16c]
shl ecx, 8
mov dword [0x1007f144], ecx
jmp 0x1000a56e
mov edx, 0x2ee2
test edx, edx
je 0x1000a516
mov eax, dword [ebp - 0x60]
sub eax, 0xc932
movsx ecx, byte [ebp - 0x11]
imul ecx, eax
mov byte [ebp - 0x11], cl
movzx edx, byte [0x1007f026]
sub edx, 0x2808cdc9
xor eax, eax
mov dword [0x1007f190], edx
mov dword [0x1007f194], eax
imul ecx, dword [0x1007f140], 0xfdf1
mov edx, dword [0x1007f158]
sub edx, ecx
mov dword [0x1007f158], edx
jmp 0x1000a56e
mov eax, 0x6c
test eax, eax
je 0x1000a56e
movsx ecx, word [ebp - 0x18]
test ecx, ecx
jl 0x1000a56e
mov eax, dword [ebp - 0x60]
cdq
mov ecx, eax
add ecx, dword [0x1007f1c0]
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x360], edx
movzx eax, byte [ebp - 0x1b]
cdq
sub eax, esi
sub eax, ecx
mov byte [ebp - 0x1b], al
movzx eax, word [0x1007f168]
movsx ecx, word [0x1007f148]
sub ecx, eax
movsx eax, word [ebp - 0x18]
imul eax, ecx
cdq
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], edx
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0x8c]
mov dword [edx], eax
movzx ecx, word [0x1007f14c]
imul edx, ecx, 0x26
mov word [0x1007f14c], dx
movsx eax, word [ebp - 0x2c]
shl eax, 8
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x174], 1
jmp 0x1000af5a
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x140], eax
cmp dword [ebp - 0x140], 0
je 0x1000a5cb
mov ecx, dword [ebp - 0x140]
push ecx
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x364], eax
mov edx, dword [ebp + 0xc]
cmp dword [edx], 0
jne 0x1000a872
mov eax, dword [0x1007f1a4]
push eax
call dword [sym.imp.USER32.dll_IsIconic]
xor ecx, ecx
mov dword [0x1007f1d0], eax
mov dword [0x1007f1d4], ecx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x258], edx
mov dword [ebp - 0x254], eax
cmp dword [ebp - 0x254], 0
jg 0x1000a76e
jl 0x1000a623
cmp dword [ebp - 0x258], 0
jae 0x1000a76e
mov ecx, dword [ebp - 0x34]
not ecx
movsx edx, word [ebp - 0x18]
cmp edx, ecx
jb 0x1000a63c
mov dword [ebp - 0x144], 1
jmp 0x1000a646
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x144]
not eax
test eax, eax
je 0x1000a666
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
jne 0x1000a666
mov dword [ebp - 0x148], 1
jmp 0x1000a670
mov dword [ebp - 0x148], 0
mov edx, dword [ebp - 0x148]
not edx
test edx, edx
je 0x1000a6c4
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
sub eax, 1
sbb ecx, 0
mov dword [0x1007f130], eax
mov dword [0x1007f134], ecx
mov eax, dword [ebp - 0x60]
sub eax, 0x2eb7
cdq
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
movzx eax, byte [0x1007f027]
sub eax, 0x8d424bf
cdq
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
jmp 0x1000a76e
mov edx, dword [0x1007f120]
or edx, dword [0x1007f124]
je 0x1000a76e
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], ecx
mov edx, dword [ebp - 0x260]
or edx, dword [ebp - 0x25c]
je 0x1000a76e
mov eax, 0x14ce
mov word [ebp - 0x28], ax
mov cx, word [ebp - 0x50]
mov edx, 2
imul eax, edx, 0x6197
mov word [eax + 0x102e0068], cx
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x4c]
jne 0x1000a729
mov dword [ebp - 0x14c], 1
jmp 0x1000a733
mov dword [ebp - 0x14c], 0
movsx eax, word [ebp - 0x20]
not eax
add eax, dword [ebp - 0x14c]
cdq
mov ecx, dword [0x1007f120]
sub ecx, dword [ebp - 0x6c]
add ecx, eax
mov esi, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x368], edx
not esi
movzx eax, word [0x1007f1b8]
cdq
add eax, esi
sub eax, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0xac], 0
jmp 0x1000a789
mov eax, dword [ebp - 0xac]
add eax, 1
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0xac], 0x21d
jge 0x1000a7d3
movzx ecx, word [ebp - 0x24]
movzx edx, byte [0x1007f04e]
xor edx, ecx
movzx eax, byte [0x1007f04e]
sub eax, edx
mov byte [0x1007f04e], al
mov ecx, dword [0x1007fc38]
xor edx, edx
mov dword [0x1007f1b0], ecx
mov dword [0x1007f1b4], edx
mov eax, dword [0x1007f154]
add eax, 1
mov dword [0x1007f154], eax
jmp 0x1000a77a
mov ecx, dword [ebp - 0x84]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapAlloc]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
movzx eax, byte [ebp - 0x12]
sub eax, 0xfc1c
cdq
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov eax, 2
imul ecx, eax, 0x3d5a
movsx edx, word [ecx + 0x10322c30]
movzx eax, byte [0x1007f027]
sub eax, edx
mov byte [0x1007f027], al
mov ecx, dword [ebp + 0xc]
cmp dword [ecx], 0
jne 0x1000a86d
mov edx, 1
imul eax, edx, 0x87
mov cl, byte [0x1007f1a0]
mov byte [eax + 0x100b6fa8], cl
mov edx, dword [str.C]
sub edx, dword [0x1007f144]
mov dword [str.C], edx
mov eax, 0x3b41d
mov dword [0x1007f120], 0x8333dd49
mov dword [0x1007f124], eax
jmp 0x1000af5a
jmp 0x1000aed5
mov eax, dword [0x1007f138]
mov edx, dword [0x1007f13c]
mov cl, 1
call fcn.1005a1f0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0x38]
cdq
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
push edx
push eax
push esi
push ecx
call fcn.1005a1b0
mov ecx, dword [0x1007f130]
mov esi, dword [0x1007f134]
add ecx, eax
adc esi, edx
mov dword [0x1007f130], ecx
mov dword [0x1007f134], esi
movsx eax, byte [ebp - 0x11]
add eax, dword [ebp - 0x38]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x1007f026]
cdq
add eax, dword [0x1007f188]
adc edx, dword [0x1007f18c]
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov dword [0x1007f160], eax
mov dword [0x1007f164], edx
movzx edx, byte [ebp - 0x1b]
test edx, edx
je 0x1000ab24
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x264], ecx
mov edx, dword [ebp - 0x268]
or edx, dword [ebp - 0x264]
je 0x1000a9b4
jmp 0x1000a957
jmp 0x1000a95e
jmp 0x1000a988
jmp 0x1000a9a3
jmp 0x1000a9af
jmp 0x1000ab1f
movsx eax, word [0x1007f1a8]
cdq
mov dword [ebp - 0x274], eax
mov dword [ebp - 0x270], edx
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x270]
ja 0x1000a9f4
jb 0x1000a9e0
mov ecx, dword [ebp - 0x50]
cmp ecx, dword [ebp - 0x274]
jae 0x1000a9f4
xor edx, edx
mov dword [ebp - 0x1d8], 1
mov dword [ebp - 0x1d4], edx
jmp 0x1000a9ff
xorps xmm0, xmm0
movlpd qword [ebp - 0x1d8], xmm0
mov eax, dword [0x1007f190]
mov ecx, dword [0x1007f194]
sub eax, 0x56631d65
sbb ecx, 0x75fc2
mov dword [ebp - 0x27c], eax
mov dword [ebp - 0x278], ecx
mov edx, dword [ebp - 0x27c]
cmp edx, dword [ebp - 0x1d8]
jne 0x1000aa3d
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x1d4]
je 0x1000aa72
movsx ecx, byte [ebp - 0x11]
xor ecx, dword [0x1007f1bc]
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
movzx eax, word [ebp - 0x30]
cdq
and eax, 0x82c9e396
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0x18]
imul ecx, eax, 0xa7d7
mov byte [0x1007f026], cl
jmp 0x1000ab1f
movzx edx, byte [ebp - 0x19]
test edx, edx
jne 0x1000aa82
mov eax, dword [ebp - 0x50]
or eax, dword [ebp - 0x4c]
je 0x1000aa9c
movzx ecx, word [0x1007f168]
add ecx, dword [0x1007f158]
xor edx, edx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x44], edx
jmp 0x1000ab1f
mov eax, dword [0x1007f1b0]
or eax, dword [0x1007f1b4]
jne 0x1000aac0
movzx ecx, byte [0x1007f04e]
test ecx, ecx
jne 0x1000aac0
mov dword [ebp - 0x150], 0
jmp 0x1000aaca
mov dword [ebp - 0x150], 1
mov edx, dword [ebp - 0x150]
not edx
test edx, edx
je 0x1000ab1f
imul eax, dword [ebp - 0x64], 0xe6
mov word [0x1007f14c], ax
movsx ecx, word [0x1007f1a8]
test ecx, ecx
je 0x1000ab02
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x1d0], edx
mov dword [ebp - 0x1cc], eax
jmp 0x1000ab13
movzx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x1d0], eax
mov dword [ebp - 0x1cc], edx
mov ecx, dword [ebp - 0x1d0]
mov dword [0x1007f1bc], ecx
jmp 0x1000ace1
movzx edx, word [0x1007f128]
test edx, edx
je 0x1000ab7c
mov eax, dword [0x1007f160]
mov ecx, dword [0x1007f164]
sub eax, 0x64ea4bfa
sbb ecx, 0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
movzx edx, word [0x1007f1c8]
mov eax, dword [0x1007f158]
sub eax, edx
mov ecx, dword [0x1007f158]
sub ecx, eax
mov dword [0x1007f158], ecx
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 8
call fcn.1005a2c0
mov word [0x1007f1a0], ax
jmp 0x1000ace1
movsx edx, byte [ebp - 0x1a]
test edx, edx
jne 0x1000ab90
mov dword [ebp - 0x154], 1
jmp 0x1000ab9a
mov dword [ebp - 0x154], 0
mov eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x44]
jne 0x1000abae
mov dword [ebp - 0x158], 1
jmp 0x1000abb8
mov dword [ebp - 0x158], 0
mov ecx, dword [ebp - 0x154]
cmp ecx, dword [ebp - 0x158]
jg 0x1000abd2
mov dword [ebp - 0x15c], 1
jmp 0x1000abdc
mov dword [ebp - 0x15c], 0
movzx edx, byte [0x1007f027]
imul edx, dword [0x1007f1bc]
test edx, edx
jne 0x1000abfa
mov dword [ebp - 0x160], 1
jmp 0x1000ac04
mov dword [ebp - 0x160], 0
mov eax, dword [ebp - 0x15c]
cmp eax, dword [ebp - 0x160]
je 0x1000ace1
mov eax, dword [ebp - 0x80]
cdq
push 0xe7983
push 0xdd87c0a8
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [ebp - 0x38]
cdq
sub eax, ecx
mov dword [ebp - 0x38], eax
movsx eax, word [ebp - 0x18]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x6c]
movsx eax, word [ebp - 0x18]
cdq
sub eax, ecx
mov word [ebp - 0x18], ax
movsx edx, word [ebp - 0x2c]
not edx
movzx eax, word [ebp - 0x28]
sub eax, edx
jne 0x1000ac6d
xor ecx, ecx
mov dword [ebp - 0x1c8], 1
mov dword [ebp - 0x1c4], ecx
jmp 0x1000ac78
xorps xmm0, xmm0
movlpd qword [ebp - 0x1c8], xmm0
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub edx, 0xb1f13801
sbb eax, 0
xor edx, dword [ebp - 0x1c8]
xor eax, dword [ebp - 0x1c4]
mov dword [ebp - 0x284], edx
mov dword [ebp - 0x280], eax
mov ecx, dword [ebp - 0x284]
or ecx, dword [ebp - 0x280]
jne 0x1000acb9
mov dword [ebp - 0x164], 1
jmp 0x1000acc3
mov dword [ebp - 0x164], 0
movsx edx, word [0x1007f148]
mov eax, dword [0x1007f140]
sub eax, edx
mov ecx, dword [ebp - 0x64]
imul ecx, eax
add ecx, dword [ebp - 0x164]
mov word [ebp - 0x30], cx
mov edx, dword [ebp - 0x8c]
add edx, dword [ebp - 0x84]
push edx
mov eax, dword [ebp + 0xc]
mov ecx, dword [eax]
push ecx
push 8
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapReAlloc]
mov edx, dword [ebp + 0xc]
mov dword [edx], eax
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [0x1007f130]
mov edx, dword [0x1007f134]
mov dword [ebp - 0x380], edx
add ecx, eax
mov dword [ebp - 0x54], ecx
mov eax, dword [ebp + 0xc]
cmp dword [eax], 0
jne 0x1000aed5
mov eax, dword [ebp - 0x70]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
mov dword [ebp - 0x28c], ecx
mov dword [ebp - 0x288], esi
mov dword [ebp - 0x2e0], eax
mov dword [ebp - 0x2dc], edx
mov edx, dword [ebp - 0x288]
cmp edx, dword [ebp - 0x2dc]
jl 0x1000ad81
jg 0x1000ad75
mov eax, dword [ebp - 0x28c]
cmp eax, dword [ebp - 0x2e0]
jbe 0x1000ad81
mov dword [ebp - 0x168], 1
jmp 0x1000ad8b
mov dword [ebp - 0x168], 0
mov ecx, dword [0x1007f1d0]
mov edx, dword [0x1007f1d4]
mov dword [ebp - 0x294], ecx
mov dword [ebp - 0x290], edx
cmp dword [ebp - 0x290], 0
jl 0x1000adc3
jg 0x1000adb7
cmp dword [ebp - 0x294], 0x1b
jbe 0x1000adc3
mov dword [ebp - 0x16c], 1
jmp 0x1000adcd
mov dword [ebp - 0x16c], 0
mov eax, dword [ebp - 0x168]
cmp eax, dword [ebp - 0x16c]
jle 0x1000ae91
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xb0], eax
cmp dword [ebp - 0xb0], 0
je 0x1000ae1a
mov ecx, dword [ebp - 0xb0]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x37c], eax
mov edx, dword [ebp - 0xb0]
push edx
call dword [sym.imp.USER32.dll_ArrangeIconicWindows]
mov dword [ebp - 0x378], eax
cmp dword [ebp - 0x64], 0
jge 0x1000ae2d
movzx eax, byte [ebp - 0x19]
push eax
call dword [sym.imp.KERNEL32.dll_SetLastError]
jmp 0x1000ae8f
movsx ecx, word [ebp - 0x18]
cmp ecx, dword [0x1007f1a4]
jg 0x1000ae44
movzx edx, word [0x1007f1b8]
test edx, edx
je 0x1000ae8f
movzx eax, byte [0x1007f04e]
sub eax, 0x3d
cdq
add eax, dword [0x1007f178]
adc edx, dword [0x1007f17c]
mov dword [0x1007f178], eax
mov dword [0x1007f17c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
push 0
push 0x35ec
push ecx
push eax
call fcn.1005a1b0
push edx
push eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.1005a1b0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1000aed0
movzx ecx, byte [0x1007f026]
test ecx, ecx
je 0x1000aed0
mov edx, dword [ebp - 0x6c]
add edx, 0xfa99
mov word [ebp - 0x2c], dx
mov eax, 4
imul ecx, eax, 0xae69
mov edx, dword [ecx + 0x103690c8]
mov dword [0x1007f1a4], edx
movzx eax, word [0x1007f16c]
cdq
sub eax, 0x92789c09
mov dword [ebp - 0x34], eax
jmp 0x1000af5a
mov eax, dword [0x1007fc38]
mov dword [ebp - 0x34], eax
mov ecx, dword [0x1007f154]
sub ecx, 0x51023567
mov dword [0x1007f158], ecx
mov edx, dword [ebp - 0x84]
push edx
lea eax, [ebp - 0x13c4]
push eax
mov ecx, dword [ebp + 0xc]
mov edx, dword [ecx]
add edx, dword [ebp - 0x8c]
push edx
call fcn.1005afd0
add esp, 0xc
mov eax, dword [0x1007f130]
mov ecx, dword [0x1007f134]
mov edx, dword [0x1007f17c]
push edx
mov edx, dword [0x1007f178]
push edx
push ecx
push eax
call fcn.1005a1b0
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
mov dword [ebp - 0x80], 0x661d1958
mov eax, dword [ebp - 0x8c]
add eax, dword [ebp - 0x84]
mov dword [ebp - 0x8c], eax
jmp 0x10009d12
movzx eax, byte [ebp - 0x12]
cdq
push 0xbbbc2
push 0x24116bd6
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
movzx edx, byte [0x1007f027]
mov eax, 0xd5
sub eax, edx
cdq
sub eax, ecx
sbb edx, esi
mov dword [0x1007f138], eax
mov dword [0x1007f13c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x29c], eax
mov dword [ebp - 0x298], ecx
mov edx, dword [ebp - 0x29c]
or edx, dword [ebp - 0x298]
jne 0x1000afbe
mov dword [ebp - 0x170], 1
jmp 0x1000afc8
mov dword [ebp - 0x170], 0
mov eax, dword [0x1007f140]
mov ecx, dword [ebp - 0x170]
lea edx, [ecx + eax + 0x1686]
test edx, edx
jne 0x1000aff2
xor eax, eax
mov dword [ebp - 0x2a4], 1
mov dword [ebp - 0x2a0], eax
jmp 0x1000affd
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a4], xmm0
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [0x1007f120]
sub ecx, eax
not ecx
and ecx, dword [ebp - 0x2a4]
mov byte [0x1007f026], cl
movzx eax, byte [0x1007f04e]
cdq
mov ecx, eax
sub ecx, dword [0x1007f188]
mov eax, dword [ebp - 0x80]
cdq
mov esi, eax
sub esi, dword [ebp - 0x5c]
sub esi, ecx
not esi
movzx eax, word [0x1007f14c]
not eax
add eax, 0xf6e
cdq
and eax, dword [ebp - 0x5c]
sub eax, esi
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x174]
mov dword [ebp - 0x1a0], edx
xor eax, eax
jne 0x10009515
movsx ecx, byte [ebp - 0x11]
imul ecx, dword [ebp - 0x64]
movsx edx, byte [ebp - 0x11]
or edx, ecx
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x34]
add eax, 1
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x2cc]
or ecx, 0x12d
mov edx, dword [ebp - 0x178]
or edx, dword [ebp - 0x178]
cmp edx, ecx
je 0x1000b4f0
call dword [sym.imp.USER32.dll_GetForegroundWindow]
xor ecx, ecx
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], ecx
movzx edx, byte [0x1007f026]
test edx, edx
jne 0x1000b0c3
mov dword [ebp - 0x17c], 1
jmp 0x1000b0cd
mov dword [ebp - 0x17c], 0
cmp dword [ebp - 0x34], 0
jne 0x1000b0e5
cmp dword [ebp - 0x64], 0
jne 0x1000b0e5
mov dword [ebp - 0x180], 0
jmp 0x1000b0ef
mov dword [ebp - 0x180], 1
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x180]
jge 0x1000b154
mov dword [ebp - 0xc4], 0x102
jmp 0x1000b118
mov ecx, dword [ebp - 0xc4]
sub ecx, 1
mov dword [ebp - 0xc4], ecx
cmp dword [ebp - 0xc4], 0
jle 0x1000b154
movzx edx, word [0x1007f14c]
movsx eax, word [ebp - 0x20]
lea ecx, [eax + edx - 0x1220]
mov word [ebp - 0x20], cx
mov edx, 0xffffdcba
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x5c]
add eax, 1
mov ecx, dword [ebp - 0x58]
adc ecx, 0
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x58], ecx
jmp 0x1000b109
mov dword [ebp - 0x54], 0x6c
mov edx, 0x21
mov word [0x1007f1c8], dx
cmp dword [ebp - 0x90], 0
je 0x1000b4f0
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
mov cl, 2
call fcn.1005a1f0
mov dword [str.C], eax
mov eax, dword [0x1007f1d0]
mov ecx, dword [0x1007f1d4]
mov dword [ebp - 0x370], ecx
add eax, 0x3fed3b7
mov byte [ebp - 0x19], al
movzx eax, word [0x1007f1a0]
cdq
mov ecx, dword [0x1007f1d0]
mov esi, dword [0x1007f1d4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
add edx, ecx
adc eax, esi
mov dword [0x1007f1d0], edx
mov dword [0x1007f1d4], eax
mov ecx, dword [0x1007f160]
mov esi, dword [0x1007f164]
movsx eax, word [ebp - 0x18]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x18]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov word [ebp - 0x18], ax
mov edx, dword [0x1007fc38]
mov dword [ebp - 0xb8], edx
movzx eax, word [0x1007f168]
cmp eax, dword [ebp - 0x34]
je 0x1000b2c9
push 0x50
push 0
push 0x88
movzx ecx, word [ebp - 0x38]
push ecx
push 0
call fcn.10036740
add esp, 0x14
movsx edx, ax
mov dword [ebp - 0x70], edx
movsx eax, byte [ebp - 0x1a]
movsx ecx, word [ebp - 0x18]
cmp ecx, eax
jg 0x1000b275
movzx edx, byte [ebp - 0x12]
movzx eax, word [0x1007f1b8]
xor eax, edx
mov word [0x1007f1b8], ax
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x58]
mov dword [0x1007f1d0], ecx
mov dword [0x1007f1d4], edx
mov dword [ebp - 0x54], 0x4f45e94b
jmp 0x1000b2c7
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x44]
adc ecx, dword [ebp - 0x58]
add eax, dword [ebp - 0x48]
adc ecx, dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], ecx
mov dl, byte [0x1007fc38]
mov byte [0x1007f026], dl
mov ecx, dword [0x1007f190]
mov edx, dword [0x1007f194]
mov dword [ebp - 0x36c], edx
movzx eax, word [0x1007f1c8]
cdq
mov esi, eax
add esi, ecx
movzx eax, word [0x1007f1c8]
cdq
sub eax, esi
mov word [0x1007f1c8], ax
jmp 0x1000b323
mov eax, dword [0x1007f180]
sub eax, 0xb5b7
mov dword [ebp - 0x60], eax
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1007f17c]
push ecx
mov ecx, dword [0x1007f178]
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
movzx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov ecx, dword [0x1007f138]
mov esi, dword [0x1007f13c]
movsx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0xb8]
add edx, 0x14f
mov dword [ebp - 0x2d0], edx
movsx eax, byte [ebp - 0x11]
cdq
add eax, 0x576b0b33
adc edx, 0xa236e
mov dword [0x1007f130], eax
mov dword [0x1007f134], edx
movsx eax, byte [ebp - 0x1a]
sub eax, dword [0x1007f170]
mov byte [ebp - 0x1a], al
movzx ecx, byte [ebp - 0x19]
movzx edx, byte [ebp - 0x12]
imul edx, ecx
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0xb8]
add eax, 0x15a
mov dword [ebp - 0x38c], eax
movzx ecx, word [0x1007f154]
push ecx
push 0x55
movzx edx, word [0x1007f1b8]
push edx
push 0
movzx eax, word [0x1007f1c0]
push eax
call fcn.10036740
add esp, 0x14
mov word [ebp - 0x30], ax
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x1000b3ce
mov edx, dword [0x1007f1c0]
or edx, dword [0x1007f1c4]
je 0x1000b3ce
movsx eax, byte [ebp - 0x11]
test eax, eax
je 0x1000b3ce
mov dword [ebp - 0x184], 1
jmp 0x1000b3d8
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x184]
not ecx
test ecx, ecx
jne 0x1000b438
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1000b3f8
mov dword [ebp - 0x188], 1
jmp 0x1000b402
mov dword [ebp - 0x188], 0
mov eax, dword [0x1007f144]
not eax
movsx ecx, word [0x1007f15c]
cmp ecx, eax
jg 0x1000b420
mov dword [ebp - 0x18c], 1
jmp 0x1000b42a
mov dword [ebp - 0x18c], 0
mov edx, dword [ebp - 0x188]
cmp edx, dword [ebp - 0x18c]
jl 0x1000b470
movzx eax, byte [ebp - 0x12]
add eax, 0x828
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, word [0x1007f1c8]
imul ecx, eax, 0xcd
mov dx, word [ebp - 0x28]
shl dx, cl
mov word [ebp - 0x28], dx
movzx eax, word [0x1007f14c]
add eax, dword [ebp - 0x34]
mov word [0x1007f14c], ax
mov ecx, dword [ebp - 0xb8]
add ecx, 0x26c
mov dword [ebp - 0x190], ecx
jmp 0x1000b49d
jmp 0x1000b4ae
mov edx, dword [ebp - 0x190]
add edx, 0x12
mov eax, dword [ebp - 0x2d0]
or eax, 0x3db
imul eax, dword [ebp - 0x190]
cmp eax, edx
je 0x1000b4f0
movsx ecx, word [ebp - 0x18]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x38], eax
mov edx, dword [ebp - 0x90]
push edx
push 0
push 0
call fcn.10001400
add esp, 8
call eax
movsx eax, byte [ebp - 0x11]
shl eax, 5
cdq
mov dword [0x1007f120], eax
mov dword [0x1007f124], edx
movzx eax, word [0x1007f168]
add eax, 0x20c5c098
mov word [0x1007f1c8], ax
cmp dword [ebp - 0x94], 0
je 0x1000b9b9
movzx ecx, word [0x1007f14c]
imul ecx, dword [ebp - 0x70]
movzx edx, word [0x1007f14c]
add edx, ecx
mov word [0x1007f14c], dx
mov eax, dword [0x1007f1c0]
add eax, 0xeb
mov dword [ebp - 0x64], eax
movsx ecx, word [0x1007f1a8]
test ecx, ecx
je 0x1000b569
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x1c0], edx
mov dword [ebp - 0x1bc], eax
jmp 0x1000b57b
mov ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov dword [ebp - 0x1c0], ecx
mov dword [ebp - 0x1bc], edx
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x38], eax
movzx ecx, word [0x1007f1c8]
test ecx, ecx
je 0x1000b5a1
mov eax, dword [ebp - 0x80]
cdq
mov dword [ebp - 0x218], eax
mov dword [ebp - 0x214], edx
jmp 0x1000b5b3
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ebp - 0x218], edx
mov dword [ebp - 0x214], eax
mov ecx, dword [ebp - 0x218]
mov dword [0x1007f140], ecx
movzx edx, word [0x1007f14c]
test edx, edx
je 0x1000b5dd
movzx eax, byte [ebp - 0x1b]
cdq
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], edx
jmp 0x1000b5ef
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x210], eax
mov dword [ebp - 0x20c], ecx
mov dx, word [ebp - 0x210]
mov word [0x1007f1c8], dx
movzx eax, byte [ebp - 0x1b]
movzx ecx, word [0x1007f128]
add ecx, eax
jne 0x1000b612
mov byte [ebp - 0x79], 1
jmp 0x1000b616
mov byte [ebp - 0x79], 0
mov dl, byte [ebp - 0x79]
mov byte [ebp - 0x19], dl
mov eax, dword [0x1007fc38]
mov dword [ebp - 0xbc], eax
push 0
push 0x56
push 0
push 0x7c
push 0
push 0
call fcn.10035b90
add esp, 0x18
mov dword [0x1007f1b0], eax
mov dword [0x1007f1b4], edx
mov ecx, dword [0x1007f178]
not ecx
mov edx, dword [0x1007f17c]
not edx
mov dword [ebp - 0x2ac], ecx
mov dword [ebp - 0x2a8], edx
mov eax, dword [ebp - 0x2ac]
or eax, dword [ebp - 0x2a8]
je 0x1000b713
jmp 0x1000b6a9
jmp 0x1000b6d4
jmp 0x1000b6eb
jmp 0x1000b711
jmp 0x1000b77f
xor ecx, ecx
je 0x1000b77f
mov edx, dword [0x1007f1d0]
mov eax, dword [0x1007f1d4]
mov dword [ebp - 0x2b4], edx
mov dword [ebp - 0x2b0], eax
mov ecx, dword [ebp - 0x2b4]
or ecx, dword [ebp - 0x2b0]
je 0x1000b74f
movzx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x208], eax
mov dword [ebp - 0x204], edx
jmp 0x1000b766
mov edx, dword [0x1007f120]
mov eax, dword [0x1007f124]
mov dword [ebp - 0x208], edx
mov dword [ebp - 0x204], eax
mov cl, byte [ebp - 0x208]
mov byte [0x1007f026], cl
movsx edx, word [ebp - 0x2c]
imul eax, edx, 0x1b
mov word [0x1007f1a0], ax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x25e
mov dword [ebp - 0x2d8], ecx
mov edx, dword [0x1007f188]
or edx, dword [0x1007f18c]
je 0x1000b7d1
mov eax, dword [ebp - 0x5c]
xor eax, 0x3f0dfc00
mov ecx, dword [ebp - 0x58]
xor ecx, 0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov ecx, dword [ebp - 0x48]
sub ecx, 0xb3076398
movzx eax, word [0x1007f128]
cdq
add eax, ecx
mov word [0x1007f128], ax
jmp 0x1000b85c
movsx edx, word [0x1007f15c]
movzx eax, word [ebp - 0x28]
cmp eax, edx
jg 0x1000b7ec
mov dword [ebp - 0x194], 1
jmp 0x1000b7f6
mov dword [ebp - 0x194], 0
mov ecx, dword [0x1007f188]
or ecx, dword [0x1007f18c]
jne 0x1000b819
mov edx, 0xd
test edx, edx
je 0x1000b819
mov dword [ebp - 0x198], 1
jmp 0x1000b823
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x194]
cmp eax, dword [ebp - 0x198]
jne 0x1000b85c
mov byte [0x1007f04e], 0x9a
mov ecx, dword [0x1007f160]
mov edx, dword [0x1007f164]
mov dword [ebp - 0x388], edx
xor ecx, 0x17
movzx eax, byte [0x1007f04e]
cdq
sub eax, ecx
mov byte [0x1007f04e], al
mov eax, dword [ebp - 0xbc]
add eax, 0x22f
mov dword [ebp - 0xc0], eax
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
je 0x1000b8b0
mov edx, dword [0x1007f188]
sub edx, dword [ebp - 0x5c]
mov eax, dword [0x1007f18c]
sbb eax, dword [ebp - 0x58]
mov dword [0x1007f188], edx
mov dword [0x1007f18c], eax
movsx eax, word [ebp - 0x18]
cdq
mov ecx, eax
xor ecx, 0x24826fe3
mov eax, dword [ebp - 0x80]
imul eax, dword [0x1007f140]
cdq
sub eax, ecx
mov dword [ebp - 0x34], eax
jmp 0x1000b8f7
mov dl, byte [0x1007fc38]
mov byte [0x1007f027], dl
mov eax, dword [str.C]
xor ecx, ecx
push 0xcdabb
push 0x4a6252c0
push ecx
push eax
call fcn.1005a1b0
mov word [0x1007f168], ax
mov edx, dword [0x1007f190]
mov eax, dword [0x1007f194]
mov dword [ebp - 0x384], eax
add edx, 0xa2
mov dword [0x1007f180], edx
mov ecx, dword [ebp - 0xbc]
add ecx, 0x1a8
mov dword [ebp - 0x2d4], ecx
movsx edx, word [ebp - 0x18]
movsx eax, byte [ebp - 0x11]
add eax, edx
movsx ecx, byte [ebp - 0x11]
sub ecx, eax
mov byte [ebp - 0x11], cl
mov edx, dword [0x1007f180]
xor edx, 0x5aaabe18
movzx eax, word [0x1007f1b8]
imul eax, edx
mov word [0x1007f1b8], ax
mov ecx, dword [ebp - 0xc0]
or ecx, dword [ebp - 0xc0]
mov edx, dword [ebp - 0x2d4]
sub edx, dword [ebp - 0x2d8]
sub edx, ecx
cmp edx, dword [ebp - 0xc0]
je 0x1000b9b9
push 0
push 0x2a
mov eax, dword [ebp - 0x44]
push eax
mov ecx, dword [ebp - 0x48]
push ecx
call fcn.1005a1b0
mov byte [ebp - 0x19], al
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x1007f120]
sub ecx, eax
mov eax, dword [0x1007f124]
sbb eax, edx
mov dword [0x1007f120], ecx
mov dword [0x1007f124], eax
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, 8
imul edx, ecx, 0xa
add eax, dword [edx + 0x103a7f40]
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x94]
push eax
push 0
push 0
call fcn.10001400
add esp, 8
call eax
movzx ecx, word [0x1007f1c8]
test ecx, ecx
je 0x1000b9f5
mov edx, dword [ebp - 0x70]
add edx, 0x60eb0e23
mov eax, dword [ebp - 0x54]
and eax, edx
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x54]
cdq
add eax, dword [0x1007f188]
adc edx, dword [0x1007f18c]
mov dword [0x1007f188], eax
mov dword [0x1007f18c], edx
jmp 0x1000bb10
movzx ecx, byte [0x1007f04e]
test ecx, ecx
je 0x1000baa5
movsx eax, word [ebp - 0x18]
cdq
push edx
push eax
mov edx, dword [ebp - 0x44]
push edx
mov eax, dword [ebp - 0x48]
push eax
call fcn.1005a1b0
mov ecx, eax
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
call fcn.1005a1f0
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], edx
cmp dword [0x1007f170], 0
jne 0x1000ba40
mov dword [ebp - 0x19c], 1
jmp 0x1000ba4a
mov dword [ebp - 0x19c], 0
movsx eax, word [ebp - 0x20]
not eax
cdq
push 0x5f420
push 0x3697e3d5
push edx
push eax
call fcn.1005a1b0
mov ecx, eax
mov esi, edx
mov eax, dword [0x1007f140]
cdq
push esi
push ecx
push edx
push eax
call fcn.1005a1b0
movzx edx, byte [0x1007f027]
imul ecx, edx, 0x18
mov edx, dword [ebp - 0x34]
not edx
add edx, dword [ebp - 0x19c]
sub edx, ecx
add edx, eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x70]
xor eax, 0x66
cdq
mov dword [0x1007f1c0], eax
mov dword [0x1007f1c4], edx
jmp 0x1000bb10
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x2bc], eax
mov dword [ebp - 0x2b8], ecx
mov edx, dword [ebp - 0x2bc]
or edx, dword [ebp - 0x2b8]
je 0x1000bb10
mov al, byte [0x1007fc38]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x44]
push ecx
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.1005a1b0
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
push 0
push 0xd4
mov ecx, dword [0x1007f18c]
push ecx
mov edx, dword [0x1007f188]
push edx
call fcn.1005a1b0
mov word [ebp - 0x2c], ax
mov eax, dword [ebp - 0x1a0]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret