Function at 0x10066430
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ae540
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x718
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x6e0], 0xca1e57c6
mov eax, dword [0x100d3188]
mov ecx, dword [0x100d318c]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x84], 0x77ac495
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
mov byte [ebp - 0x12], 0x6c
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x68], ecx
xor edx, edx
mov dword [ebp - 0x58], 0xa7d9545c
mov dword [ebp - 0x54], edx
mov byte [ebp - 0x14], 0x88
xor eax, eax
mov dword [ebp - 0x60], 0x507d9512
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x6dc], edx
mov word [ebp - 0x28], cx
mov byte [ebp - 0x11], 0xff
mov ax, word [0x100d315c]
mov word [ebp - 0x20], ax
mov ecx, 0x9968
mov word [ebp - 0x24], cx
movsx edx, word [0x100d31b0]
mov dword [ebp - 0x50], edx
mov byte [ebp - 0x15], 0x7d
xor eax, eax
mov dword [ebp - 0x78], 0x3e
mov dword [ebp - 0x74], eax
mov dword [ebp - 0x3c], 0xa62230da
mov byte [ebp - 0x13], 0xab
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov dword [ebp - 0x6c], 0xef809bb
mov ax, word [0x100d3148]
mov word [ebp - 0x2c], ax
movsx cx, byte [0x100d304e]
mov word [ebp - 0x30], cx
mov edx, 0xd2f6
mov word [ebp - 0x1c], dx
mov dword [ebp - 0x64], 0xe
mov eax, dword [0x100d3174]
mov dword [ebp - 0x70], eax
movzx eax, byte [0x100d3063]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov cx, word [0x100d3174]
mov word [ebp - 0x3fc], cx
movzx eax, byte [0x100d3027]
cdq
mov dword [ebp - 0x6ec], eax
mov dword [ebp - 0x6e8], edx
mov dword [ebp - 0x6d8], 0x78d5
mov edx, dword [0x100d3190]
mov byte [ebp - 0xd2], dl
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x728], eax
mov dword [ebp - 0x724], edx
xor eax, eax
mov dword [ebp - 0x6f8], 0x41
mov dword [ebp - 0x6f4], eax
mov ecx, dword [0x100d3190]
mov dword [ebp - 0x6d4], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x6f0], eax
mov dword [ebp - 0x6cc], edx
mov byte [ebp - 0xd1], 0xfe
movsx ecx, byte [0x100d3026]
mov dword [ebp - 0x6c8], ecx
mov edx, 0x2d26
mov word [ebp - 0x400], dx
movzx eax, word [0x100d315c]
cdq
mov dword [ebp - 0x700], eax
mov dword [ebp - 0x6fc], edx
mov eax, dword [0x100d3188]
mov dword [ebp - 0x6c4], eax
mov ecx, dword [0x100d3174]
xor edx, edx
mov dword [ebp - 0x708], ecx
mov dword [ebp - 0x704], edx
mov dword [ebp - 0x660], 0xa30fad57
xor eax, eax
mov dword [ebp - 0x710], 0xa1
mov dword [ebp - 0x70c], eax
xor ecx, ecx
mov dword [ebp - 0x718], 0x2e1d
mov dword [ebp - 0x714], ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0x6e4], eax
mov dword [ebp - 0x6d0], edx
movsx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x430], eax
mov dword [ebp - 0x42c], edx
mov ecx, dword [ebp - 0x42c]
cmp ecx, dword [0x100d316c]
jb 0x100666ae
ja 0x100666a2
mov edx, dword [ebp - 0x430]
cmp edx, dword [0x100d3168]
jbe 0x100666ae
mov dword [ebp - 0x25c], 1
jmp 0x100666b8
mov dword [ebp - 0x25c], 0
movsx eax, word [ebp - 0x2c]
cmp eax, 0x5c
jle 0x100666cd
mov dword [ebp - 0x260], 1
jmp 0x100666d7
mov dword [ebp - 0x260], 0
mov ecx, dword [ebp - 0x25c]
cmp ecx, dword [ebp - 0x260]
jl 0x10066a61
push 0
mov edx, dword [0x100d3170]
push edx
movsx eax, byte [ebp - 0x15]
push eax
push 0
push 0
movzx ecx, byte [0x100d3063]
push ecx
call fcn.1005c200
add esp, 0x18
mov byte [ebp - 0x12], al
movzx edx, byte [ebp - 0x12]
test edx, edx
je 0x10066947
push 0
movzx eax, word [ebp - 0x30]
push eax
push 0xea
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x618], edx
movzx eax, cx
push eax
call fcn.1005c780
add esp, 0x10
mov word [ebp - 0x28], ax
movsx ecx, word [ebp - 0x28]
test ecx, ecx
jg 0x10066847
movsx edx, byte [0x100d3026]
add edx, dword [0x100d3134]
movsx eax, byte [0x100d3026]
sub eax, edx
mov byte [0x100d3026], al
movsx ecx, byte [ebp - 0x13]
xor ecx, 0xac0
mov dword [0x100d3158], ecx
movsx edx, byte [ebp - 0x15]
movzx eax, byte [0x100d3027]
imul edx, eax
movsx ecx, byte [ebp - 0x15]
sub ecx, edx
mov byte [ebp - 0x15], cl
cmp dword [0x100d3134], 0
jne 0x100667ad
xor edx, edx
mov dword [ebp - 0x290], 1
mov dword [ebp - 0x28c], edx
jmp 0x100667b8
xorps xmm0, xmm0
movlpd qword [ebp - 0x290], xmm0
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
push ecx
push eax
mov edx, dword [ebp - 0x28c]
push edx
mov eax, dword [ebp - 0x290]
push eax
call fcn.100a25b0
mov dword [ebp - 0x438], eax
mov dword [ebp - 0x434], edx
mov ecx, dword [ebp - 0x438]
or ecx, dword [ebp - 0x434]
jne 0x100667fe
mov dword [ebp - 0x264], 1
jmp 0x10066808
mov dword [ebp - 0x264], 0
movsx edx, byte [ebp - 0x14]
not edx
add edx, dword [0x100d3158]
add edx, dword [ebp - 0x264]
xor eax, eax
xor edx, dword [0x100d3160]
xor eax, dword [0x100d3164]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
jmp 0x10066942
cmp dword [ebp - 0x3c], 0
jne 0x10066942
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x1006686d
xor ecx, ecx
mov dword [ebp - 0x298], 1
mov dword [ebp - 0x294], ecx
jmp 0x10066878
xorps xmm0, xmm0
movlpd qword [ebp - 0x298], xmm0
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
mov ecx, dword [ebp - 0x294]
push ecx
mov edx, dword [ebp - 0x298]
push edx
call fcn.100a25b0
movzx ecx, byte [0x100d304f]
not ecx
mov edx, dword [ebp - 0x50]
imul edx, ecx
sub eax, edx
mov word [ebp - 0x1c], ax
movsx eax, word [0x100d3130]
test eax, eax
jne 0x100668bf
mov dword [ebp - 0x268], 1
jmp 0x100668c9
mov dword [ebp - 0x268], 0
mov ecx, dword [0x100d3170]
not ecx
xor esi, esi
xor ecx, dword [0x100d3138]
xor esi, dword [0x100d313c]
movsx eax, word [ebp - 0x28]
sub eax, dword [ebp - 0x268]
imul eax, dword [0x100d311c]
cdq
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov byte [0x100d3027], al
mov edx, dword [ebp - 0x50]
sub edx, 1
mov dword [ebp - 0x50], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
sub eax, 0x55e6
sbb ecx, 0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], ecx
mov edx, dword [0x100d3138]
sub edx, dword [ebp - 0x80]
mov eax, dword [0x100d313c]
sbb eax, dword [ebp - 0x7c]
mov dword [0x100d3138], edx
mov dword [0x100d313c], eax
jmp 0x10066a5c
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x440], ecx
mov dword [ebp - 0x43c], esi
mov dword [ebp - 0x448], eax
mov dword [ebp - 0x444], edx
mov edx, dword [ebp - 0x43c]
cmp edx, dword [ebp - 0x444]
jb 0x10066a5c
ja 0x100669a3
mov eax, dword [ebp - 0x440]
cmp eax, dword [ebp - 0x448]
jb 0x10066a5c
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x450], ecx
mov dword [ebp - 0x44c], edx
mov eax, dword [ebp - 0x450]
or eax, dword [ebp - 0x44c]
je 0x100669d6
movzx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x2a0], eax
mov dword [ebp - 0x29c], edx
jmp 0x100669ee
mov ecx, dword [0x100d3160]
mov edx, dword [0x100d3164]
mov dword [ebp - 0x2a0], ecx
mov dword [ebp - 0x29c], edx
mov al, byte [ebp - 0x2a0]
mov byte [ebp - 0x12], al
movzx ecx, word [ebp - 0x1c]
movsx edx, word [0x100d3130]
lea eax, [edx + ecx + 0x14]
mov word [0x100d3130], ax
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10066a20
mov dword [ebp - 0x26c], 1
jmp 0x10066a2a
mov dword [ebp - 0x26c], 0
mov edx, dword [ebp - 0x3c]
add edx, dword [ebp - 0x26c]
xor eax, eax
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov dword [0x100d3144], 0x5daa0b6
mov ecx, dword [0x100d3168]
add ecx, 0x59e9770d
mov word [ebp - 0x24], cx
mov byte [0x100d304f], 0x52
jmp 0x10066e22
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x10066b1d
movsx eax, word [0x100d31b0]
xor eax, 0x4e87
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x80]
not ecx
mov edx, dword [ebp - 0x7c]
not edx
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
xor eax, ecx
xor esi, edx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], esi
mov ecx, 4
mov word [ebp - 0x1c], cx
mov edx, dword [0x100d3140]
xor eax, eax
xor edx, dword [ebp - 0x4c]
xor eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x4c]
sub ecx, edx
mov edx, dword [ebp - 0x48]
sbb edx, eax
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x100d3158]
not eax
movsx ecx, word [ebp - 0x20]
add eax, ecx
not eax
xor edx, edx
mov ecx, dword [0x100d31a4]
add eax, dword [0x100d31a0]
adc edx, ecx
mov dword [ebp - 0x458], eax
mov dword [ebp - 0x454], edx
mov edx, dword [ebp - 0x458]
or edx, dword [ebp - 0x454]
jne 0x10066b03
mov dword [ebp - 0x270], 1
jmp 0x10066b0d
mov dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x270]
mov dword [0x100d3134], eax
jmp 0x10066e22
movzx ecx, byte [0x100d304f]
test ecx, ecx
jne 0x10066b34
mov dword [ebp - 0xe4], 1
jmp 0x10066b3e
mov dword [ebp - 0xe4], 0
movsx edx, byte [0x100d304e]
or edx, dword [ebp - 0xe4]
je 0x10066d18
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x460], eax
mov dword [ebp - 0x45c], ecx
mov edx, dword [ebp - 0x460]
or edx, dword [ebp - 0x45c]
jne 0x10066b85
xor eax, eax
mov dword [ebp - 0x2a8], 1
mov dword [ebp - 0x2a4], eax
jmp 0x10066b90
xorps xmm0, xmm0
movlpd qword [ebp - 0x2a8], xmm0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
sub ecx, dword [ebp - 0x2a8]
sbb edx, dword [ebp - 0x2a4]
mov dword [ebp - 0x468], ecx
mov dword [ebp - 0x464], edx
mov eax, dword [ebp - 0x468]
or eax, dword [ebp - 0x464]
jne 0x10066bc8
mov dword [ebp - 0xe8], 1
jmp 0x10066bd2
mov dword [ebp - 0xe8], 0
movzx ecx, byte [ebp - 0x11]
movsx edx, byte [ebp - 0x14]
add ecx, edx
movsx eax, byte [ebp - 0x13]
imul ecx, eax
add ecx, dword [ebp - 0xe8]
jne 0x10066bf7
mov dword [ebp - 0xec], 1
jmp 0x10066c01
mov dword [ebp - 0xec], 0
mov ecx, dword [ebp - 0xec]
mov dword [ebp - 0x64], ecx
movzx eax, byte [ebp - 0x12]
add eax, 0x752
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x3c]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
push 0xfc0ef
push 0x57825836
push edx
push ecx
call fcn.100a25b0
mov word [0x100d3130], ax
mov ax, word [0x100d312c]
sub ax, 1
mov word [0x100d312c], ax
mov ecx, dword [ebp - 0x38]
or ecx, dword [ebp - 0x34]
jne 0x10066c72
mov dword [ebp - 0xf0], 1
jmp 0x10066c7c
mov dword [ebp - 0xf0], 0
mov ecx, dword [0x100d3160]
not ecx
mov esi, dword [0x100d3164]
not esi
movsx eax, word [ebp - 0x2c]
cdq
push edx
push eax
push esi
push ecx
call fcn.100a25b0
not eax
not edx
mov ecx, dword [0x100d3158]
xor ecx, dword [ebp - 0xf0]
xor esi, esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0x470], eax
mov dword [ebp - 0x46c], edx
mov edx, dword [ebp - 0x470]
or edx, dword [ebp - 0x46c]
jne 0x10066cde
xor eax, eax
mov dword [ebp - 0x2b0], 1
mov dword [ebp - 0x2ac], eax
jmp 0x10066ce9
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b0], xmm0
mov eax, dword [ebp - 0x70]
not eax
cdq
sub eax, dword [0x100d3160]
sbb edx, dword [0x100d3164]
push edx
push eax
mov ecx, dword [ebp - 0x2ac]
push ecx
mov edx, dword [ebp - 0x2b0]
push edx
call fcn.100a25b0
mov dword [ebp - 0x3c], eax
jmp 0x10066e22
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x10066e22
movzx ecx, word [ebp - 0x24]
sub ecx, 0xbe95
mov byte [0x100d3027], cl
mov edx, dword [0x100d3174]
imul edx, dword [0x100d3158]
mov dword [0x100d3174], edx
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
mov dword [ebp - 0x478], eax
mov dword [ebp - 0x474], ecx
mov edx, dword [ebp - 0x478]
or edx, dword [ebp - 0x474]
jne 0x10066d80
xor eax, eax
mov dword [ebp - 0x2b8], 1
mov dword [ebp - 0x2b4], eax
jmp 0x10066d8b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2b8], xmm0
movsx ecx, word [ebp - 0x30]
test ecx, ecx
jne 0x10066d9f
mov dword [ebp - 0xf4], 1
jmp 0x10066da9
mov dword [ebp - 0xf4], 0
movzx eax, word [ebp - 0x24]
not eax
cdq
sub eax, dword [0x100d3138]
sbb edx, dword [0x100d313c]
mov esi, dword [ebp - 0x2b8]
sub esi, eax
mov edi, dword [ebp - 0x2b4]
sbb edi, edx
mov edx, dword [0x100d3190]
not edx
mov eax, dword [ebp - 0xf4]
sub eax, edx
cdq
mov ecx, dword [ebp - 0x44]
mov ebx, dword [ebp - 0x40]
add ecx, dword [0x100d3120]
adc ebx, dword [0x100d3124]
push ebx
push ecx
push edx
push eax
call fcn.100a25b0
push edx
push eax
push edi
push esi
call fcn.100a25b0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movsx edx, byte [ebp - 0x14]
imul eax, edx, 0xccf1
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xa4], eax
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
push 0
push 0xc8fbf36a
push edx
push ecx
call fcn.100a25b0
mov word [0x100d3178], ax
movsx eax, word [ebp - 0x2c]
shl eax, 7
mov word [0x100d3130], ax
mov ecx, dword [0x100d3174]
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x3c]
shl edx, 6
xor eax, eax
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x70]
cdq
add eax, 0x1c69dcce
adc edx, 0x93e4
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov eax, dword [ebp - 0x68]
sub eax, 0x1914
cdq
mov ecx, dword [0x100d3160]
sub ecx, eax
mov eax, dword [0x100d3164]
sbb eax, edx
mov dword [0x100d3160], ecx
mov dword [0x100d3164], eax
mov ecx, dword [ebp - 0xa4]
add ecx, 0x580
mov dword [ebp - 0x410], ecx
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
movsx eax, byte [ebp - 0x15]
cdq
mov dword [ebp - 0x480], ecx
mov dword [ebp - 0x47c], esi
mov dword [ebp - 0x488], eax
mov dword [ebp - 0x484], edx
mov edx, dword [ebp - 0x47c]
cmp edx, dword [ebp - 0x484]
jl 0x100673e3
jg 0x10066f09
mov eax, dword [ebp - 0x480]
cmp eax, dword [ebp - 0x488]
jb 0x100673e3
mov ecx, dword [0x100d3144]
push ecx
push 0x9a
movzx edx, word [ebp - 0x30]
push edx
push 0xa7
call fcn.1005c780
add esp, 0x10
mov byte [ebp - 0x11], al
movzx eax, byte [ebp - 0x11]
test eax, eax
je 0x1006738c
xor ecx, ecx
mov dword [ebp - 0x4c], 3
mov dword [ebp - 0x48], ecx
movsx edx, byte [ebp - 0x14]
add edx, dword [0x100d3174]
mov byte [ebp - 0x14], dl
movzx eax, byte [0x100d304f]
shl eax, 8
mov dword [ebp - 0x68], eax
movsx ecx, word [0x100d3128]
test ecx, ecx
jne 0x10066f7b
xor edx, edx
mov dword [ebp - 0x2c0], 1
mov dword [ebp - 0x2bc], edx
jmp 0x10066f86
xorps xmm0, xmm0
movlpd qword [ebp - 0x2c0], xmm0
mov eax, dword [ebp - 0x70]
not eax
movsx ecx, byte [ebp - 0x14]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [0x100d312c]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
xor ecx, eax
xor esi, edx
movsx eax, word [0x100d3130]
cdq
mov edi, dword [0x100d3120]
add edi, dword [ebp - 0x2c0]
mov ebx, dword [0x100d3124]
adc ebx, dword [ebp - 0x2bc]
add eax, edi
adc edx, ebx
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], esi
mov dx, word [0x100d3128]
mov word [ebp - 0x1c], dx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
sub eax, dword [0x100d3150]
sbb ecx, dword [0x100d3154]
mov edx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
sub edx, eax
sbb esi, ecx
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], esi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xdc], ecx
cmp dword [ebp - 0xdc], 0
jl 0x1006738a
jg 0x10067042
cmp dword [ebp - 0xe0], 0
jb 0x1006738a
cmp dword [ebp - 0xdc], 0
jg 0x1006738a
jl 0x1006705e
cmp dword [ebp - 0xe0], 3
ja 0x1006738a
mov edx, dword [ebp - 0xe0]
mov dword [ebp - 0x720], edx
mov eax, dword [ebp - 0x720]
jmp dword [eax*4 + 0x1006c644]
jmp 0x100673e1
mov eax, dword [ebp - 0x70]
cdq
mov ecx, eax
sub ecx, 0xc66f61c
mov eax, dword [ebp - 0x70]
cdq
sub eax, ecx
mov dword [ebp - 0x70], eax
mov edx, 2
mov word [0x100d3130], dx
mov dword [ebp - 0x6c], 0x96
mov ecx, dword [0x100d3138]
not ecx
movzx eax, word [ebp - 0x1c]
cdq
add ecx, eax
movzx eax, byte [ebp - 0x11]
or eax, 0xce
cdq
sub ecx, eax
mov byte [0x100d304e], cl
mov edx, dword [ebp - 0x50]
add edx, dword [0x100d3144]
mov dword [ebp - 0x50], edx
jmp 0x10067434
mov byte [ebp - 0x11], 0xc9
mov eax, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov cl, 4
call fcn.100a2610
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], ecx
movsx edx, word [ebp - 0x28]
movsx eax, word [ebp - 0x30]
add edx, eax
mov word [ebp - 0x28], dx
mov ecx, dword [0x100d3170]
xor ecx, 0xa1a6
xor edx, edx
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x544
mov dword [ebp - 0x408], eax
movsx ecx, word [0x100d312c]
cmp dword [ebp - 0x6c], ecx
ja 0x1006745d
mov dword [ebp - 0x100], 1
jmp 0x10067467
mov dword [ebp - 0x100], 0
cmp dword [ebp - 0x6c], 0x3a
ja 0x10067479
mov dword [ebp - 0x104], 1
jmp 0x10067483
mov dword [ebp - 0x104], 0
mov edx, dword [ebp - 0x100]
cmp edx, dword [ebp - 0x104]
jg 0x100674cb
mov dword [0x100d3158], 1
movsx eax, word [ebp - 0x20]
mov dword [0x100d3170], eax
mov byte [ebp - 0x12], 0x63
movzx eax, word [ebp - 0x1c]
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov cx, word [0x100d3c78]
mov word [0x100d3128], cx
jmp 0x10067759
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x498], edx
mov dword [ebp - 0x494], eax
mov ecx, dword [ebp - 0x498]
or ecx, dword [ebp - 0x494]
je 0x1006760d
mov edx, 0x31
test edx, edx
je 0x1006760d
movsx eax, word [0x100d312c]
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0x49c], edx
mov dword [ebp - 0x4a8], ecx
mov dword [ebp - 0x4a4], esi
mov edx, dword [ebp - 0x49c]
cmp edx, dword [ebp - 0x4a4]
jl 0x1006760d
jg 0x10067553
mov eax, dword [ebp - 0x4a0]
cmp eax, dword [ebp - 0x4a8]
jbe 0x1006760d
movsx eax, word [ebp - 0x28]
cdq
sub eax, 0xd576aadb
sbb edx, 0xeb68
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movzx ecx, word [0x100d3178]
mov edx, dword [ebp - 0x50]
imul edx, ecx
not edx
mov ecx, edx
movzx eax, word [0x100d3178]
cdq
mov edx, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x38]
sub eax, edx
sub ecx, eax
mov byte [ebp - 0x12], cl
mov eax, dword [0x100d3134]
cdq
add eax, dword [ebp - 0x80]
adc edx, dword [ebp - 0x7c]
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
jne 0x100675bf
mov dword [ebp - 0x108], 1
jmp 0x100675c9
mov dword [ebp - 0x108], 0
mov ecx, dword [0x100d31b4]
not ecx
add ecx, dword [ebp - 0x108]
not ecx
movzx eax, byte [0x100d304f]
cdq
mov edx, dword [ebp - 0x58]
sub edx, eax
add ecx, edx
movzx eax, word [0x100d3178]
cdq
sub eax, dword [0x100d3120]
add ecx, eax
mov dword [ebp - 0x3c], ecx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
jmp 0x10067759
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x100676ae
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
add eax, 0xc8
adc ecx, 0
mov dword [0x100d3180], eax
mov dword [0x100d3184], ecx
movsx edx, byte [0x100d3026]
shl edx, 6
mov word [ebp - 0x28], dx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x61c], ecx
add eax, 0xda
mov byte [0x100d3027], al
cmp dword [0x100d3174], 0
je 0x10067678
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x2d8], edx
mov dword [ebp - 0x2d4], eax
jmp 0x1006768a
mov eax, dword [0x100d3190]
cdq
mov dword [ebp - 0x2d8], eax
mov dword [ebp - 0x2d4], edx
mov cl, byte [ebp - 0x2d8]
mov byte [ebp - 0x15], cl
mov edx, 4
imul eax, edx, 0xf
movsx ecx, word [ebp - 0x30]
add ecx, dword [eax + 0x10121f10]
mov word [ebp - 0x30], cx
jmp 0x10067759
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x4b0], edx
mov dword [ebp - 0x4ac], eax
mov ecx, dword [ebp - 0x4b0]
or ecx, dword [ebp - 0x4ac]
je 0x10067759
movsx edx, word [ebp - 0x20]
movzx eax, word [0x100d3178]
sub edx, eax
mov word [ebp - 0x20], dx
mov ecx, dword [0x100d3190]
sub ecx, 0xf505
mov dword [0x100d3190], ecx
cmp dword [ebp - 0x6c], 0
jne 0x10067707
mov dword [ebp - 0x10c], 1
jmp 0x10067711
mov dword [ebp - 0x10c], 0
mov edx, dword [ebp - 0x10c]
mov dword [ebp - 0x3c], edx
movsx eax, byte [0x100d304e]
sub eax, 0x32ebc7df
mov byte [ebp - 0x13], al
movzx ecx, byte [0x100d304f]
movzx edx, word [ebp - 0x1c]
sub ecx, edx
movzx eax, byte [0x100d304f]
add eax, ecx
mov byte [0x100d304f], al
mov ecx, 0x3290
mov dword [0x100d31a8], 0x41c2ba18
mov dword [0x100d31ac], ecx
mov edx, dword [ebp - 0xa4]
add edx, 0x7a1
mov dword [ebp - 0x40c], edx
mov dword [0x100d3158], 0
movzx eax, byte [0x100d304f]
movsx ecx, byte [0x100d3026]
and eax, ecx
mov byte [0x100d304f], al
mov edx, dword [ebp - 0x4c]
add edx, 0x2d85
mov word [0x100d315c], dx
movzx eax, word [0x100d315c]
add eax, 0x1c383b99
xor ecx, ecx
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], ecx
mov edx, dword [0x100d3138]
add edx, 0x7ae8
mov dword [ebp - 0x84], edx
movzx eax, word [ebp - 0x24]
cdq
add eax, 0xb17af598
mov dword [0x100d3170], eax
mov eax, dword [0x100d3158]
mov dword [ebp - 0x404], eax
cmp dword [ebp - 0x404], 0
je 0x100677ea
jmp 0x10067858
mov ecx, dword [0x100d3144]
add ecx, 0xfb
xor edx, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
mov eax, dword [0x100d3148]
sub eax, 1
mov ecx, dword [0x100d314c]
sbb ecx, 0
mov dword [0x100d3148], eax
mov dword [0x100d314c], ecx
imul edx, dword [ebp - 0x64], 0xf0
mov dword [ebp - 0x70], edx
mov al, byte [0x100d304e]
sub al, 1
mov byte [0x100d304e], al
mov eax, dword [0x100d3190]
cdq
push 0xbe517
push 0x96174bb
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xa8], ecx
movsx edx, word [ebp - 0x20]
cmp dword [ebp - 0x50], edx
jae 0x10067879
mov dword [ebp - 0x110], 1
jmp 0x10067883
mov dword [ebp - 0x110], 0
cmp dword [ebp - 0x50], 0xd
jae 0x10067895
mov dword [ebp - 0x114], 1
jmp 0x1006789f
mov dword [ebp - 0x114], 0
mov eax, dword [ebp - 0x110]
cmp eax, dword [ebp - 0x114]
jg 0x10067a04
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x4b8], ecx
mov dword [ebp - 0x4b4], esi
mov dword [ebp - 0x4c0], eax
mov dword [ebp - 0x4bc], edx
mov edx, dword [ebp - 0x4b4]
cmp edx, dword [ebp - 0x4bc]
ja 0x1006794d
jb 0x100678f2
mov eax, dword [ebp - 0x4b8]
cmp eax, dword [ebp - 0x4c0]
jae 0x1006794d
mov eax, dword [ebp - 0x68]
cdq
add eax, 0x5b6080db
adc edx, 0x56fb5
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
mov ecx, dword [ebp - 0x80]
add ecx, 1
mov edx, dword [ebp - 0x7c]
adc edx, 0
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x7c], edx
mov al, byte [0x100d3c78]
mov byte [ebp - 0x14], al
mov ecx, dword [ebp - 0x6c]
add ecx, dword [0x100d3168]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [0x100d3160]
add ecx, 0xe01b
movsx eax, byte [ebp - 0x15]
cdq
add eax, ecx
mov byte [ebp - 0x15], al
jmp 0x10067a04
cmp dword [ebp - 0x3c], 0
je 0x10067a04
movsx edx, byte [0x100d3026]
test edx, edx
jne 0x1006796e
mov dword [ebp - 0x118], 1
jmp 0x10067978
mov dword [ebp - 0x118], 0
movsx eax, word [0x100d3128]
sub eax, 0x7f14
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x70]
cdq
add eax, dword [ebp - 0x80]
adc edx, dword [ebp - 0x7c]
sub ecx, eax
sbb esi, edx
movsx eax, byte [0x100d3026]
movzx edx, word [0x100d315c]
sub eax, edx
sub eax, dword [ebp - 0x118]
cdq
add ecx, eax
adc esi, edx
mov dword [0x100d3138], ecx
mov dword [0x100d313c], esi
mov eax, dword [ebp - 0x70]
sub eax, 0xd9a7
mov dword [0x100d3144], eax
movsx ecx, byte [ebp - 0x13]
mov edx, dword [0x100d3170]
sub edx, ecx
mov dword [0x100d3170], edx
mov eax, 1
imul ecx, eax, 0x6a
mov dl, byte [ebp - 0x6c]
mov byte [ecx + 0x10297920], dl
movsx eax, word [0x100d31b0]
mov ecx, dword [ebp - 0x84]
imul ecx, eax
mov dword [ebp - 0x84], ecx
mov edx, dword [ebp - 0xa8]
add edx, 0x815
mov dword [ebp - 0xcc], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0x620], ecx
push eax
call dword [sym.imp.USER32.dll_GetTopWindow]
mov word [ebp - 0x30], ax
mov edx, dword [0x100d3188]
or edx, dword [0x100d318c]
je 0x10067b90
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
jne 0x10067a60
xor ecx, ecx
mov dword [ebp - 0x2e0], 1
mov dword [ebp - 0x2dc], ecx
jmp 0x10067a6b
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e0], xmm0
movzx edx, word [0x100d315c]
movzx eax, word [0x100d3178]
sub edx, eax
jne 0x10067a91
xor ecx, ecx
mov dword [ebp - 0x2f0], 1
mov dword [ebp - 0x2ec], ecx
jmp 0x10067a9c
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f0], xmm0
movsx edx, byte [ebp - 0x15]
test edx, edx
jne 0x10067ab8
xor eax, eax
mov dword [ebp - 0x2e8], 1
mov dword [ebp - 0x2e4], eax
jmp 0x10067ac3
xorps xmm0, xmm0
movlpd qword [ebp - 0x2e8], xmm0
mov ecx, dword [ebp - 0x58]
and ecx, 0x488b
mov edx, dword [ebp - 0x54]
and edx, 0
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x2e0]
mov esi, dword [ebp - 0x54]
sbb esi, dword [ebp - 0x2dc]
push esi
push eax
push edx
push ecx
call fcn.100a25b0
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
and ecx, dword [ebp - 0x2e8]
and esi, dword [ebp - 0x2e4]
add ecx, dword [ebp - 0x2f0]
adc esi, dword [ebp - 0x2ec]
sub eax, ecx
sbb edx, esi
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov dx, word [0x100d3c78]
mov word [0x100d3130], dx
movsx eax, word [ebp - 0x28]
movzx ecx, byte [ebp - 0x12]
sub eax, ecx
mov word [ebp - 0x28], ax
movsx eax, byte [ebp - 0x15]
cdq
mov ecx, dword [0x100d3124]
push ecx
mov ecx, dword [0x100d3120]
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x15], al
movsx edx, word [ebp - 0x20]
movsx eax, byte [0x100d304e]
add edx, eax
jne 0x10067b74
mov dword [ebp - 0x11c], 1
jmp 0x10067b7e
mov dword [ebp - 0x11c], 0
movsx eax, byte [ebp - 0x14]
imul eax, dword [ebp - 0x11c]
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov ecx, dword [ebp - 0xa8]
add ecx, 0x46b
mov dword [ebp - 0x224], ecx
movzx edx, byte [ebp - 0x11]
imul eax, edx, 0x4b
movsx ecx, word [ebp - 0x20]
add ecx, eax
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0x50]
xor eax, eax
mov ecx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov edx, dword [ebp - 0x50]
add edx, eax
mov dword [ebp - 0x50], edx
mov dword [0x100d3190], 0x7a7d70f3
mov eax, dword [0x100d3c78]
mov dword [ebp - 0x6c], eax
push 0x809c8
push 0x4a324198
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0xa8]
add eax, 0x82d
mov dword [ebp - 0x228], eax
mov byte [ebp - 0x13], 3
movzx eax, byte [0x100d3063]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3148]
sbb esi, dword [0x100d314c]
movzx eax, byte [0x100d3063]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [0x100d3063], al
movzx edx, word [0x100d315c]
movzx eax, word [0x100d315c]
imul edx, eax
mov word [0x100d315c], dx
mov ecx, 8
shl ecx, 0
movsx eax, word [ebp - 0x20]
cdq
mov esi, dword [ecx + 0x101bcef4]
push esi
mov ecx, dword [ecx + 0x101bcef0]
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x20], ax
mov edx, 1
imul eax, edx, 0x3c03
movzx eax, byte [eax + 0x10286f98]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x64]
add ecx, 0xfe
mov byte [ebp - 0x14], cl
mov edx, dword [0x100d3150]
add edx, dword [ebp - 0x4c]
mov eax, dword [0x100d3154]
adc eax, dword [ebp - 0x48]
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
movsx ecx, byte [ebp - 0x13]
mov dword [ebp - 0x120], ecx
cmp dword [ebp - 0x120], 3
ja case.default.0x10067ce0
mov edx, dword [ebp - 0x120]
jmp dword [edx*4 + 0x1006c654]
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
push 0
push 0x40
push ecx
push eax
call fcn.100a25b0
mov edx, dword [ebp - 0x50]
add edx, eax
mov dword [ebp - 0x50], edx
movsx eax, word [0x100d3128]
add eax, 0x15d1
mov word [0x100d312c], ax
mov ecx, dword [ebp - 0x68]
sub ecx, 0x6d24cb03
not ecx
xor esi, esi
movsx eax, byte [ebp - 0x13]
not eax
cdq
mov edi, dword [ebp - 0x80]
sub edi, eax
mov eax, dword [ebp - 0x7c]
sbb eax, edx
add ecx, edi
adc esi, eax
xor ecx, dword [ebp - 0x38]
xor esi, dword [ebp - 0x34]
mov dword [0x100d3168], ecx
mov dword [0x100d316c], esi
movzx ecx, byte [ebp - 0x11]
add ecx, 0x25
mov dword [0x100d3158], ecx
movzx edx, byte [0x100d3027]
movsx eax, byte [0x100d304e]
add edx, eax
jne 0x10067d78
mov ecx, 1
mov word [ebp - 0x92], cx
jmp 0x10067d81
xor edx, edx
mov word [ebp - 0x92], dx
mov ax, word [ebp - 0x92]
mov word [ebp - 0x1c], ax
jmp case.default.0x10067ce0
mov ecx, dword [0x100d3148]
or ecx, dword [0x100d314c]
jne 0x10067dab
mov dword [ebp - 0x124], 1
jmp 0x10067db5
mov dword [ebp - 0x124], 0
mov edx, dword [ebp - 0x124]
add edx, 0x575f
jne 0x10067dd7
xor eax, eax
mov dword [ebp - 0x2f8], 1
mov dword [ebp - 0x2f4], eax
jmp 0x10067de2
xorps xmm0, xmm0
movlpd qword [ebp - 0x2f8], xmm0
mov eax, dword [ebp - 0x70]
cdq
sub eax, 0x6e893ed0
sbb edx, 0xc06e6
mov ecx, dword [ebp - 0x2f4]
push ecx
mov ecx, dword [ebp - 0x2f8]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d311c], eax
movsx edx, word [ebp - 0x28]
movzx eax, byte [0x100d3027]
imul edx, eax
mov word [ebp - 0x28], dx
mov ecx, dword [ebp - 0x70]
mov edx, 4
imul eax, edx, 0x4472
mov dword [eax + 0x102f7c38], ecx
mov ecx, dword [0x100d3144]
xor edx, edx
push 0xaa1fb
push 0x5c952962
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3190], eax
imul eax, dword [0x100d31b4], 0xa1
xor ecx, ecx
and eax, dword [ebp - 0x4c]
and ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
jmp case.default.0x10067ce0
mov edx, dword [ebp - 0x84]
add edx, 1
mov dword [ebp - 0x84], edx
movzx eax, byte [0x100d3063]
mov ecx, dword [0x100d3174]
sub ecx, eax
add ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
movzx edx, byte [ebp - 0x11]
imul eax, edx, 0xaf9c
mov byte [0x100d3027], al
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x624], edx
sub ecx, 0x43ae
mov word [0x100d3130], cx
mov eax, dword [ebp - 0x58]
add eax, 0xd925dc04
mov ecx, dword [ebp - 0x54]
adc ecx, 0
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
mov dx, word [0x100d312c]
sub dx, 1
mov word [0x100d312c], dx
jmp case.default.0x10067ce0
mov dword [ebp - 0x68], 0
mov eax, dword [0x100d3134]
sub eax, dword [ebp - 0x50]
mov ecx, dword [0x100d3134]
sub ecx, eax
mov dword [0x100d3134], ecx
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x628], edx
add ecx, 0x9930f4a3
movsx eax, word [0x100d3128]
cdq
sub eax, ecx
mov word [0x100d3128], ax
mov eax, dword [0x100d311c]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d311c], eax
call fcn.100488a0
movzx edx, al
test edx, edx
jne 0x10068665
movsx eax, word [0x100d3130]
test eax, eax
je 0x1006802b
mov ecx, dword [0x100d3174]
xor edx, edx
xor ecx, dword [0x100d3120]
xor edx, dword [0x100d3124]
mov dword [ebp - 0x4c8], ecx
mov dword [ebp - 0x4c4], edx
mov eax, dword [ebp - 0x4c8]
or eax, dword [ebp - 0x4c4]
jne 0x10067fac
xor ecx, ecx
mov dword [ebp - 0x300], 1
mov dword [ebp - 0x2fc], ecx
jmp 0x10067fb7
xorps xmm0, xmm0
movlpd qword [ebp - 0x300], xmm0
mov edx, dword [ebp - 0x300]
mov eax, dword [ebp - 0x2fc]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
xor ecx, ecx
mov dword [0x100d3198], 0x49bf
mov dword [0x100d319c], ecx
mov edx, 1
imul eax, edx, 0x67a
movsx ecx, byte [eax + 0x1023abe0]
mov dword [0x100d3134], ecx
movzx edx, byte [0x100d3027]
add edx, dword [0x100d3144]
mov word [ebp - 0x30], dx
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x62c], edx
add ecx, 0xf2
movzx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
jmp 0x10068210
movsx eax, word [0x100d31b0]
test eax, eax
jne 0x1006814c
movsx ecx, word [ebp - 0x28]
movzx edx, word [ebp - 0x1c]
mov eax, dword [0x100d3174]
sub eax, edx
imul ecx, eax
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov byte [ebp - 0x14], dl
movsx eax, word [ebp - 0x30]
add eax, 0xc36e
mov byte [0x100d3027], al
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x4d0], ecx
mov dword [ebp - 0x4cc], edx
mov eax, dword [ebp - 0x4d0]
or eax, dword [ebp - 0x4cc]
jne 0x10068094
mov dword [ebp - 0x128], 1
jmp 0x1006809e
mov dword [ebp - 0x128], 0
movsx ecx, word [0x100d31b0]
mov edx, dword [0x100d3140]
add edx, ecx
jne 0x100680c3
xor eax, eax
mov dword [ebp - 0x308], 1
mov dword [ebp - 0x304], eax
jmp 0x100680ce
xorps xmm0, xmm0
movlpd qword [ebp - 0x308], xmm0
movzx ecx, byte [0x100d304f]
movzx edx, byte [ebp - 0x11]
sub ecx, edx
mov eax, dword [0x100d3140]
or eax, dword [ebp - 0x128]
xor ecx, eax
mov esi, ecx
mov ecx, dword [0x100d3150]
not ecx
mov edx, dword [0x100d3154]
not edx
mov eax, dword [ebp - 0x304]
push eax
mov eax, dword [ebp - 0x308]
push eax
push edx
push ecx
call fcn.100a25b0
sub esi, eax
mov word [ebp - 0x1c], si
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0x62dd0d8a
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x4c]
add eax, 0xfcf57bab
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
push 0
push 0xf1fb310c
push edx
push ecx
call fcn.100a25b0
mov word [0x100d312c], ax
jmp 0x10068210
mov eax, dword [0x100d3168]
or eax, dword [0x100d316c]
jne 0x10068210
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x4d8], ecx
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d8]
or eax, dword [ebp - 0x4d4]
je 0x10068210
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov eax, dword [0x100d3180]
mov esi, dword [0x100d3184]
push esi
push eax
push edx
push ecx
call fcn.100a25b0
mov ecx, 0x2f8c837d
sub ecx, eax
mov dword [0x100d3134], ecx
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x100681c2
movsx eax, word [ebp - 0x30]
mov dword [ebp - 0x12c], eax
jmp 0x100681ce
mov ecx, dword [ebp - 0x84]
mov dword [ebp - 0x12c], ecx
mov edx, dword [ebp - 0x12c]
mov dword [ebp - 0x6c], edx
mov ax, word [0x100d3c78]
mov word [ebp - 0x24], ax
xor ecx, ecx
mov edx, dword [0x100d3120]
sub edx, dword [0x100d31b4]
mov eax, dword [0x100d3124]
sbb eax, ecx
mov dword [0x100d3120], edx
mov dword [0x100d3124], eax
movsx eax, word [ebp - 0x30]
cdq
add eax, dword [0x100d3120]
mov word [ebp - 0x30], ax
cmp dword [0x100d3158], 0
jne 0x10068231
cmp dword [ebp - 0x68], 0
jne 0x10068231
mov ecx, dword [0x100d3188]
or ecx, dword [0x100d318c]
je 0x1006858d
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 0x4dc], eax
mov ecx, dword [ebp - 0x4e0]
cmp ecx, dword [0x100d3160]
jne 0x10068270
mov edx, dword [ebp - 0x4dc]
cmp edx, dword [0x100d3164]
jne 0x10068270
mov dword [ebp - 0x130], 1
jmp 0x1006827a
mov dword [ebp - 0x130], 0
mov eax, dword [0x100d3190]
cmp eax, dword [ebp - 0x130]
jg 0x100684f2
movzx ecx, word [0x100d3130]
push ecx
push 0
movzx dx, byte [ebp - 0x12]
movzx eax, dx
push eax
mov ecx, dword [ebp - 0x68]
push ecx
call fcn.1005c780
add esp, 0x10
movsx edx, ax
mov dword [0x100d3144], edx
cmp dword [0x100d3144], 0
jbe 0x100682c8
mov dword [ebp - 0x134], 1
jmp 0x100682d2
mov dword [ebp - 0x134], 0
cmp dword [0x100d3144], 0x39
jbe 0x100682e7
mov dword [ebp - 0x138], 1
jmp 0x100682f1
mov dword [ebp - 0x138], 0
mov eax, dword [ebp - 0x134]
cmp eax, dword [ebp - 0x138]
jle 0x10068411
mov dword [ebp - 0xac], 0x1f8
jmp 0x1006831e
mov ecx, dword [ebp - 0xac]
sub ecx, 1
mov dword [ebp - 0xac], ecx
cmp dword [ebp - 0xac], 0
jle 0x1006840c
movzx edx, byte [ebp - 0x12]
imul eax, edx, 0xdcce5c03
mov dword [0x100d3134], eax
cmp dword [0x100d3170], 0
jne 0x10068357
xor ecx, ecx
mov dword [ebp - 0x310], 1
mov dword [ebp - 0x30c], ecx
jmp 0x10068362
xorps xmm0, xmm0
movlpd qword [ebp - 0x310], xmm0
mov edx, dword [0x100d31b4]
not edx
imul eax, edx, 0x16de
imul ecx, eax, 9
mov esi, ecx
movsx edx, word [ebp - 0x2c]
xor edx, dword [ebp - 0x50]
xor eax, eax
mov ecx, dword [ebp - 0x310]
sub ecx, 0xb92c0293
mov edi, dword [ebp - 0x30c]
sbb edi, 0xefb79
push edi
push ecx
push eax
push edx
call fcn.100a25b0
xor esi, eax
mov dword [0x100d3158], esi
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x100683bc
mov ax, word [ebp - 0x30]
mov word [ebp - 0x8a], ax
jmp 0x100683ca
mov cx, word [0x100d3130]
mov word [ebp - 0x8a], cx
movsx eax, word [ebp - 0x8a]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx edx, word [ebp - 0x2c]
movzx eax, word [0x100d3178]
sub edx, eax
mov word [ebp - 0x2c], dx
mov ecx, dword [0x100d3120]
sub ecx, 0x95c2
mov byte [ebp - 0x13], cl
mov edx, dword [0x100d3190]
add edx, 1
mov dword [0x100d3190], edx
jmp 0x1006830f
jmp 0x100684ed
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], ecx
mov edx, dword [ebp - 0x4e8]
or edx, dword [ebp - 0x4e4]
je 0x100684ed
mov ax, word [0x100d3c78]
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x630], edx
add ecx, 0xd7
mov word [ebp - 0x1c], cx
cmp dword [ebp - 0x84], 0
jne 0x10068470
mov dword [ebp - 0x13c], 1
jmp 0x1006847a
mov dword [ebp - 0x13c], 0
movsx eax, word [ebp - 0x28]
movsx ecx, word [0x100d31b0]
sub eax, ecx
mov edx, dword [0x100d3144]
sub edx, dword [ebp - 0x13c]
xor eax, edx
jne 0x100684ab
xor eax, eax
mov dword [ebp - 0x318], 1
mov dword [ebp - 0x314], eax
jmp 0x100684b6
xorps xmm0, xmm0
movlpd qword [ebp - 0x318], xmm0
mov ecx, dword [ebp - 0x318]
mov edx, dword [ebp - 0x314]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov ecx, dword [0x100d3148]
and ecx, 0xd3
mov eax, dword [0x100d3134]
cdq
and eax, ecx
mov dword [0x100d3134], eax
mov edx, dword [0x100d3158]
mov dword [0x100d3174], edx
jmp 0x10068588
movzx eax, word [0x100d315c]
and eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov dword [ebp - 0x6c], ecx
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x1006851f
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], edx
jmp 0x10068531
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x320], eax
mov dword [ebp - 0x31c], ecx
mov dl, byte [ebp - 0x320]
mov byte [ebp - 0x14], dl
movsx eax, word [0x100d312c]
movsx ecx, byte [0x100d3026]
imul eax, ecx
not eax
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov edx, dword [0x100d3168]
add edx, 1
mov eax, dword [0x100d316c]
adc eax, 0
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
movsx eax, word [0x100d3130]
add eax, 0x99
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
jmp 0x1006865e
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x634], edx
mov dword [0x100d3174], ecx
movsx eax, word [0x100d3130]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x64]
not eax
xor eax, dword [0x100d3190]
jne 0x100685cc
mov dword [ebp - 0x140], 1
jmp 0x100685d6
mov dword [ebp - 0x140], 0
movzx ecx, byte [0x100d3063]
imul ecx, dword [ebp - 0x140]
not ecx
mov dword [0x100d3158], ecx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x4f0]
or ecx, dword [ebp - 0x4ec]
je 0x1006862a
mov edx, dword [0x100d3148]
mov eax, dword [0x100d314c]
mov dword [ebp - 0x328], edx
mov dword [ebp - 0x324], eax
jmp 0x1006863c
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x328], ecx
mov dword [ebp - 0x324], edx
mov al, byte [ebp - 0x328]
mov byte [0x100d3063], al
mov eax, dword [ebp - 0x70]
cdq
mov ecx, eax
xor ecx, 0x4e289dea
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
xor eax, eax
jmp 0x1006c62e
cmp dword [0x100d3174], 0
je 0x100686c7
mov byte [0x100d3027], 0x7d
movsx eax, byte [0x100d304e]
cdq
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x638], ecx
add edx, eax
mov byte [ebp - 0x15], dl
movzx edx, byte [0x100d304f]
mov eax, dword [0x100d3144]
imul eax, edx
mov ecx, dword [0x100d3144]
add ecx, eax
mov dword [0x100d3144], ecx
movzx edx, byte [ebp - 0x12]
add edx, dword [0x100d31b4]
imul edx, dword [0x100d31b4]
mov dword [0x100d31b4], edx
jmp 0x10068832
cmp dword [0x100d314c], 0
jg 0x100686ea
jl 0x100686de
cmp dword [0x100d3148], 0xf6
ja 0x100686ea
mov dword [ebp - 0x144], 1
jmp 0x100686f4
mov dword [ebp - 0x144], 0
mov eax, 0xb4bc
test eax, eax
je 0x10068733
mov ecx, dword [0x100d3188]
not ecx
mov edx, dword [0x100d318c]
not edx
mov dword [ebp - 0x4f8], ecx
mov dword [ebp - 0x4f4], edx
mov eax, dword [ebp - 0x4f8]
or eax, dword [ebp - 0x4f4]
je 0x10068733
mov dword [ebp - 0x148], 1
jmp 0x1006873d
mov dword [ebp - 0x148], 0
mov ecx, dword [ebp - 0x144]
cmp ecx, dword [ebp - 0x148]
je 0x10068832
mov edx, dword [0x100d3148]
add edx, 0xc71e5820
mov eax, dword [0x100d3144]
sub eax, edx
mov dword [0x100d3144], eax
mov cl, byte [0x100d3c78]
mov byte [ebp - 0x15], cl
movzx eax, byte [0x100d304f]
movsx edx, word [0x100d3130]
add eax, edx
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov eax, dword [ebp - 0x64]
add eax, 0x38990374
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
add ecx, 0xa393
adc edx, 0
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x100687cf
xor ecx, ecx
mov dword [ebp - 0x330], 1
mov dword [ebp - 0x32c], ecx
jmp 0x100687da
xorps xmm0, xmm0
movlpd qword [ebp - 0x330], xmm0
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
not ecx
not esi
sub ecx, dword [ebp - 0x330]
sbb esi, dword [ebp - 0x32c]
mov edx, dword [0x100d3138]
sub edx, dword [ebp - 0x80]
mov eax, dword [0x100d313c]
sbb eax, dword [ebp - 0x7c]
add ecx, edx
adc esi, eax
movsx eax, word [ebp - 0x30]
cdq
mov edi, eax
mov ebx, edx
mov eax, dword [ebp - 0x64]
not eax
cdq
xor eax, dword [ebp - 0x44]
xor edx, dword [ebp - 0x40]
xor edi, eax
xor ebx, edx
not edi
not ebx
sub ecx, edi
sbb esi, ebx
mov dword [0x100d3148], ecx
mov dword [0x100d314c], esi
mov ecx, 0x244
sub ecx, dword [ebp - 0x408]
mov edx, dword [ebp - 0x40c]
add edx, ecx
cmp edx, dword [ebp - 0x410]
je 0x10069d60
mov ecx, dword [0x100d3168]
sub ecx, 0x58bb5ecb
mov eax, dword [ebp - 0x64]
cdq
sub eax, ecx
mov dword [ebp - 0x64], eax
mov edx, dword [0x100d3148]
add edx, 0xa6a9734f
mov eax, dword [0x100d314c]
adc eax, 0xd00e9
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
xor edx, edx
mov dword [0x100d3138], 4
mov dword [0x100d313c], edx
xor eax, eax
mov dword [ebp - 0x78], 1
mov dword [ebp - 0x74], eax
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0x98], 0
je 0x100688f8
mov ecx, dword [ebp - 0x98]
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x63c], eax
mov edx, dword [ebp - 0x98]
push edx
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0x640], eax
mov eax, dword [ebp - 0x98]
push eax
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x644], eax
movzx ecx, word [0x100d3178]
test ecx, ecx
jne 0x10068919
cmp dword [0x100d31b4], 0
jne 0x10068919
xorps xmm0, xmm0
movlpd qword [ebp - 0x338], xmm0
jmp 0x1006892b
xor edx, edx
mov dword [ebp - 0x338], 1
mov dword [ebp - 0x334], edx
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x3f8], eax
mov dword [ebp - 0x3f4], ecx
mov edx, dword [ebp - 0x3f8]
cmp edx, dword [ebp - 0x338]
jne 0x10068959
mov eax, dword [ebp - 0x3f4]
cmp eax, dword [ebp - 0x334]
je 0x10068965
mov dword [ebp - 0x14c], 1
jmp 0x1006896f
mov dword [ebp - 0x14c], 0
movsx ecx, word [0x100d312c]
test ecx, ecx
jl 0x1006898e
xor edx, edx
mov dword [ebp - 0x340], 1
mov dword [ebp - 0x33c], edx
jmp 0x10068999
xorps xmm0, xmm0
movlpd qword [ebp - 0x340], xmm0
cmp dword [ebp - 0x33c], 0xa6e3e
jg 0x100689bf
jl 0x100689b3
cmp dword [ebp - 0x340], 0x2eff3a1e
ja 0x100689bf
mov dword [ebp - 0x150], 1
jmp 0x100689c9
mov dword [ebp - 0x150], 0
mov eax, dword [ebp - 0x14c]
cmp eax, dword [ebp - 0x150]
jl 0x10068b17
mov dword [ebp - 0xb0], 0xa27
mov cl, byte [0x100d3c78]
mov byte [ebp - 0x14], cl
cmp dword [0x100d3134], 0
jne 0x10068a03
mov dword [ebp - 0x154], 1
jmp 0x10068a0d
mov dword [ebp - 0x154], 0
movzx edx, byte [0x100d3063]
not edx
movzx eax, word [ebp - 0x24]
not eax
add eax, 0xaf62
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x154]
xor eax, ecx
or edx, eax
mov dword [0x100d3174], edx
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x648], eax
sub edx, 0x2a97
mov dword [0x100d3170], edx
movsx ecx, byte [0x100d3026]
xor ecx, 0xb7
mov word [ebp - 0x24], cx
movsx edx, byte [ebp - 0x13]
mov dword [ebp - 0x6c], edx
cmp dword [ebp - 0xb0], 0x8c4
jle 0x10068b17
movzx eax, byte [ebp - 0x12]
add eax, dword [0x100d31b4]
mov dword [0x100d31b4], eax
imul eax, dword [ebp - 0x64], 0x774c
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x84]
cdq
and eax, dword [0x100d3150]
and edx, dword [0x100d3154]
mov ecx, dword [0x100d3150]
sub ecx, eax
mov eax, dword [0x100d3154]
sbb eax, edx
mov dword [0x100d3150], ecx
mov dword [0x100d3154], eax
movzx ecx, byte [0x100d3027]
sar ecx, 4
mov dword [ebp - 0x50], ecx
movzx edx, byte [0x100d3063]
movzx eax, byte [0x100d3063]
sub edx, eax
movzx ecx, byte [0x100d3063]
and ecx, edx
mov byte [0x100d3063], cl
mov eax, dword [ebp - 0x68]
cdq
push edx
push eax
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.100a25b0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0xb0]
sub ecx, 1
mov dword [ebp - 0xb0], ecx
jmp 0x10068a64
call fcn.1001aec0
movzx edx, al
test edx, edx
jne 0x10069d60
movsx eax, word [0x100d3128]
test eax, eax
je 0x10068f92
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x10068d36
movzx edx, byte [0x100d3027]
movzx eax, word [ebp - 0x1c]
cmp edx, eax
jg 0x10068b5d
mov dword [ebp - 0x158], 1
jmp 0x10068b67
mov dword [ebp - 0x158], 0
movzx ecx, byte [0x100d3027]
cmp ecx, 0x4c
jg 0x10068b7f
mov dword [ebp - 0x15c], 1
jmp 0x10068b89
mov dword [ebp - 0x15c], 0
mov edx, dword [ebp - 0x158]
cmp edx, dword [ebp - 0x15c]
je 0x10068c06
mov eax, dword [0x100d3140]
cmp eax, dword [0x100d3158]
ja 0x10068c01
mov dword [ebp - 0x418], 0
mov dword [ebp - 0x414], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0xb4], 0
je 0x10068c01
mov ecx, dword [ebp - 0x414]
push ecx
mov edx, dword [ebp - 0xb4]
push edx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x64c], eax
mov eax, dword [ebp - 0x418]
push eax
mov ecx, dword [ebp - 0xb4]
push ecx
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x650], eax
jmp 0x10068d31
mov edx, dword [ebp - 0x50]
xor eax, eax
mov ecx, dword [ebp - 0x58]
not ecx
mov esi, dword [ebp - 0x54]
not esi
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x500], eax
mov dword [ebp - 0x4fc], edx
mov edx, dword [ebp - 0x500]
or edx, dword [ebp - 0x4fc]
jne 0x10068c4c
xor eax, eax
mov dword [ebp - 0x348], 1
mov dword [ebp - 0x344], eax
jmp 0x10068c57
xorps xmm0, xmm0
movlpd qword [ebp - 0x348], xmm0
mov ecx, dword [0x100d3120]
cmp ecx, dword [ebp - 0x348]
jne 0x10068d31
mov edx, dword [0x100d3124]
cmp edx, dword [ebp - 0x344]
jne 0x10068d31
movsx eax, byte [ebp - 0x13]
cdq
add eax, 0xb98e9301
adc edx, 0x5eb2f
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
imul eax, dword [0x100d3134], 0xfd205fdf
movzx ecx, byte [0x100d3027]
add ecx, eax
mov byte [0x100d3027], cl
cmp dword [ebp - 0x50], 0
jne 0x10068cbc
mov dword [ebp - 0x160], 1
jmp 0x10068cc6
mov dword [ebp - 0x160], 0
movsx edx, word [0x100d312c]
mov eax, dword [0x100d311c]
sub eax, edx
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x3c], eax
movsx eax, word [0x100d3130]
xor eax, 0xbb
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, byte [0x100d3027]
cdq
mov ecx, dword [0x100d314c]
push ecx
mov ecx, dword [0x100d3148]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, byte [0x100d3027]
cdq
sub eax, ecx
mov byte [0x100d3027], al
movzx eax, byte [0x100d3063]
add eax, 0xb794
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x10068f92
movsx edx, byte [ebp - 0x14]
test edx, edx
jne 0x10068d4a
mov dword [ebp - 0x164], 1
jmp 0x10068d54
mov dword [ebp - 0x164], 0
mov eax, dword [ebp - 0x3c]
cmp eax, dword [ebp - 0x164]
jne 0x10068e10
movzx ecx, byte [0x100d3063]
movsx edx, byte [ebp - 0x13]
add ecx, edx
movsx eax, byte [0x100d3026]
imul eax, dword [ebp - 0x3c]
add ecx, eax
xor edx, edx
mov dword [0x100d3138], ecx
mov dword [0x100d313c], edx
movsx eax, word [ebp - 0x30]
imul ecx, eax, 0x63
add ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
movzx edx, byte [0x100d3063]
sar edx, 6
mov byte [ebp - 0x13], dl
mov eax, dword [ebp - 0x70]
add eax, 0x8bd
mov ecx, dword [ebp - 0x3c]
add ecx, eax
mov dword [ebp - 0x3c], ecx
movzx edx, word [ebp - 0x1c]
xor edx, dword [0x100d311c]
xor edx, dword [ebp - 0x50]
movzx eax, byte [ebp - 0x11]
mov ecx, dword [ebp - 0x64]
sub ecx, eax
movzx eax, word [0x100d315c]
xor ecx, eax
sub edx, ecx
xor ecx, ecx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
mov eax, dword [ebp - 0x64]
cdq
add eax, dword [0x100d3168]
adc edx, dword [0x100d316c]
mov ecx, dword [0x100d3144]
xor esi, esi
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x84], eax
jmp 0x10068f92
mov edx, dword [0x100d311c]
cmp dword [0x100d3190], edx
jl 0x10068ece
mov eax, dword [0x100d3150]
sub eax, 0x8684
mov word [ebp - 0x24], ax
movsx eax, byte [ebp - 0x14]
cdq
xor eax, 0x6ebb807f
mov byte [0x100d3027], al
mov ecx, 0x4e99
mov word [ebp - 0x2c], cx
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x10068e64
xor eax, eax
mov dword [ebp - 0x350], 1
mov dword [ebp - 0x34c], eax
jmp 0x10068e6f
xorps xmm0, xmm0
movlpd qword [ebp - 0x350], xmm0
mov ecx, dword [ebp - 0x350]
mov edx, dword [ebp - 0x34c]
mov dword [0x100d3180], ecx
mov dword [0x100d3184], edx
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
push edx
push eax
mov eax, dword [0x100d314c]
push eax
mov ecx, dword [0x100d3148]
push ecx
call fcn.100a25b0
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
mov edx, dword [0x100d311c]
sub edx, 0x16bda463
mov byte [0x100d3026], dl
jmp 0x10068f92
movzx eax, byte [0x100d3063]
test eax, eax
jne 0x10068f92
mov ecx, dword [ebp - 0x4c]
add ecx, 0x44
mov edx, dword [ebp - 0x48]
adc edx, 0
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
mov eax, dword [0x100d3190]
cdq
mov ecx, dword [0x100d3188]
sub ecx, eax
mov eax, dword [0x100d318c]
sbb eax, edx
mov dword [0x100d3188], ecx
mov dword [0x100d318c], eax
mov ecx, dword [0x100d3140]
add ecx, 1
mov dword [0x100d3140], ecx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x508], edx
mov dword [ebp - 0x504], eax
mov ecx, dword [ebp - 0x508]
or ecx, dword [ebp - 0x504]
jne 0x10068f52
xor edx, edx
mov dword [ebp - 0x358], 1
mov dword [ebp - 0x354], edx
jmp 0x10068f5d
xorps xmm0, xmm0
movlpd qword [ebp - 0x358], xmm0
mov eax, dword [ebp - 0x358]
sub eax, dword [0x100d3120]
mov ecx, dword [ebp - 0x354]
sbb ecx, dword [0x100d3124]
not eax
not ecx
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
movsx eax, word [0x100d31b0]
cdq
add eax, 0xa1c3c9b6
mov word [0x100d3128], ax
push 0
push 0x3a
push 0x98
push 0
call fcn.1005c780
add esp, 0x10
mov byte [0x100d304e], al
movsx edx, byte [0x100d304e]
test edx, edx
je 0x1006911c
mov dword [ebp - 0xb8], 0
jmp 0x10068fd4
mov eax, dword [ebp - 0xb8]
add eax, 1
mov dword [ebp - 0xb8], eax
cmp dword [ebp - 0xb8], 0xd9
jge 0x1006911c
cmp dword [ebp - 0x84], 0
jne 0x10068ff9
mov dword [ebp - 0x168], 1
jmp 0x10069003
mov dword [ebp - 0x168], 0
mov eax, dword [ebp - 0x168]
xor eax, 0x72
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x64]
cdq
mov edi, dword [0x100d31a4]
sub eax, dword [0x100d31a0]
sbb edx, edi
add ecx, eax
adc esi, edx
mov dword [ebp - 0x510], ecx
mov dword [ebp - 0x50c], esi
mov edx, dword [ebp - 0x510]
or edx, dword [ebp - 0x50c]
jne 0x10069055
xor eax, eax
mov dword [ebp - 0x518], 1
mov dword [ebp - 0x514], eax
jmp 0x10069060
xorps xmm0, xmm0
movlpd qword [ebp - 0x518], xmm0
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
or ecx, dword [0x100d3198]
or esi, dword [0x100d319c]
movsx eax, word [0x100d3130]
movsx edx, word [ebp - 0x28]
xor eax, edx
cdq
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x518]
sub ecx, eax
mov dword [0x100d3158], ecx
movsx eax, word [0x100d3130]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d3130]
cdq
sub eax, ecx
mov word [0x100d3130], ax
mov edx, dword [0x100d3c78]
mov dword [0x100d3190], edx
mov eax, 8
imul ecx, eax, 0x3e
movzx eax, word [0x100d3178]
cdq
sub eax, dword [ecx + 0x100fac18]
mov word [0x100d3178], ax
mov eax, dword [0x100d3190]
cdq
mov ecx, eax
add ecx, 0xe61e0439
mov eax, dword [ebp - 0x68]
cdq
add eax, ecx
mov dword [ebp - 0x68], eax
mov dx, word [0x100d31b0]
add dx, 1
mov word [0x100d31b0], dx
jmp 0x10068fc5
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xbc], eax
movsx ecx, byte [0x100d304e]
cmp ecx, dword [0x100d3174]
jb 0x1006945e
mov edx, dword [0x100d3174]
xor eax, eax
push eax
push edx
mov ecx, dword [0x100d3154]
push ecx
mov edx, dword [0x100d3150]
push edx
call fcn.100a25b0
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x520]
or eax, dword [ebp - 0x51c]
jne 0x10069185
xor ecx, ecx
mov dword [ebp - 0x360], 1
mov dword [ebp - 0x35c], ecx
jmp 0x10069190
xorps xmm0, xmm0
movlpd qword [ebp - 0x360], xmm0
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x528], edx
mov dword [ebp - 0x524], eax
mov ecx, dword [ebp - 0x524]
cmp ecx, dword [ebp - 0x35c]
jg 0x100691d1
jl 0x100691c5
mov edx, dword [ebp - 0x528]
cmp edx, dword [ebp - 0x360]
jae 0x100691d1
mov dword [ebp - 0x170], 1
jmp 0x100691db
mov dword [ebp - 0x170], 0
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x530], ecx
mov dword [ebp - 0x52c], esi
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], edx
mov edx, dword [ebp - 0x52c]
cmp edx, dword [ebp - 0x534]
jl 0x1006923b
jg 0x10069222
mov eax, dword [ebp - 0x530]
cmp eax, dword [ebp - 0x538]
jbe 0x1006923b
movsx ecx, byte [0x100d304e]
not ecx
test ecx, ecx
je 0x1006923b
mov dword [ebp - 0x16c], 1
jmp 0x10069245
mov dword [ebp - 0x16c], 0
mov edx, dword [ebp - 0x16c]
not edx
cmp dword [ebp - 0x170], edx
jl 0x100693a4
mov dword [ebp - 4], 0
mov dword [ebp - 0xd0], 0
jmp 0x1006927b
mov eax, dword [ebp - 0xd0]
add eax, 2
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0x78
jge 0x10069301
mov ecx, dword [ebp - 0x84]
add ecx, 0xa9
mov edx, dword [ebp - 0x3c]
imul edx, ecx
mov dword [ebp - 0x3c], edx
mov byte [0x100d3027], 1
mov eax, 1
shl eax, 0
mov cl, byte [0x100d3026]
mov byte [eax + 0x103396e4], cl
mov edx, dword [ebp - 0x64]
sar edx, 6
mov word [ebp - 0x28], dx
xor eax, eax
mov dword [0x100d3188], 8
mov dword [0x100d318c], eax
mov ecx, dword [ebp - 0x3c]
xor edx, edx
add ecx, dword [0x100d3188]
adc edx, dword [0x100d318c]
mov eax, dword [ebp - 0x78]
mov esi, dword [ebp - 0x74]
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x68]
add ecx, 1
mov dword [ebp - 0x68], ecx
jmp 0x1006926c
jmp 0x1006938f
mov dword [ebp - 4], 0xffffffff
jmp 0x1006939f
jmp 0x10069459
push 0x8bb6
push 0xbd172991
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov word [0x100d315c], ax
mov eax, dword [0x100d3158]
sub eax, dword [0x100d3168]
mov dword [0x100d3158], eax
mov ecx, dword [0x100d3148]
not ecx
mov edx, dword [0x100d314c]
not edx
add ecx, 0xffff93bc
adc edx, 0xffffffff
mov dword [0x100d3138], ecx
mov dword [0x100d313c], edx
mov eax, dword [ebp - 0x38]
add eax, 0x4005
mov ecx, dword [ebp - 0x34]
adc ecx, 0
mov dword [0x100d3180], eax
mov dword [0x100d3184], ecx
mov edx, dword [0x100d3188]
add edx, 0x9e8028c7
mov eax, dword [0x100d318c]
adc eax, 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov eax, dword [0x100d3190]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov eax, dword [0x100d3190]
cdq
and eax, ecx
mov dword [0x100d3190], eax
jmp 0x10069561
cmp dword [0x100d3174], 0x90dc
ja 0x10069561
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x1006948a
xor eax, eax
mov dword [ebp - 0x368], 1
mov dword [ebp - 0x364], eax
jmp 0x10069495
xorps xmm0, xmm0
movlpd qword [ebp - 0x368], xmm0
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x53c], edx
mov eax, dword [ebp - 0x53c]
cmp eax, dword [ebp - 0x364]
jg 0x10069561
jl 0x100694d3
mov ecx, dword [ebp - 0x540]
cmp ecx, dword [ebp - 0x368]
ja 0x10069561
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x654], eax
sub edx, 0xaab2
mov word [ebp - 0x1c], dx
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x100694ff
mov edx, dword [0x100d311c]
mov dword [ebp - 0x174], edx
jmp 0x1006950c
movzx eax, byte [0x100d3063]
mov dword [ebp - 0x174], eax
mov cl, byte [ebp - 0x174]
mov byte [0x100d3026], cl
movsx edx, byte [ebp - 0x13]
movzx eax, word [ebp - 0x24]
sub edx, eax
mov byte [ebp - 0x13], dl
mov ecx, 2
imul edx, ecx, 0x1265
movzx eax, word [edx + 0x10290588]
mov ecx, dword [ebp - 0x3c]
sub ecx, eax
mov dword [ebp - 0x3c], ecx
movzx eax, word [ebp - 0x24]
cdq
xor eax, 0xf12433e7
mov word [0x100d3128], ax
mov edx, dword [0x100d3174]
add edx, 0x55c53031
mov byte [0x100d3026], dl
mov eax, dword [ebp - 0xbc]
add eax, 0x81e
mov dword [ebp - 0x420], eax
mov ecx, dword [0x100d3134]
cmp ecx, dword [0x100d3174]
jne 0x1006958c
mov dword [ebp - 0x178], 1
jmp 0x10069596
mov dword [ebp - 0x178], 0
cmp dword [0x100d3134], 0x46
jne 0x100695ab
mov dword [ebp - 0x17c], 1
jmp 0x100695b5
mov dword [ebp - 0x17c], 0
mov edx, dword [ebp - 0x178]
cmp edx, dword [ebp - 0x17c]
jg 0x100696a8
cmp dword [ebp - 0x64], 0
jne 0x100695e1
xor eax, eax
mov dword [ebp - 0x548], 1
mov dword [ebp - 0x544], eax
jmp 0x100695ec
xorps xmm0, xmm0
movlpd qword [ebp - 0x548], xmm0
movzx ecx, byte [ebp - 0x11]
not ecx
mov eax, dword [ebp - 0x68]
xor eax, ecx
not eax
cdq
mov edx, dword [0x100d3160]
add edx, 0x6ff8
not edx
add eax, edx
and eax, dword [ebp - 0x548]
mov byte [0x100d3026], al
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x658], ecx
sub eax, 0xbee4bd12
mov word [0x100d315c], ax
movsx edx, byte [0x100d304e]
test edx, edx
je 0x1006964b
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], ecx
jmp 0x1006965b
mov eax, dword [ebp - 0x68]
cdq
mov dword [ebp - 0x370], eax
mov dword [ebp - 0x36c], edx
mov dx, word [ebp - 0x370]
mov word [0x100d312c], dx
movsx eax, byte [ebp - 0x13]
cdq
sub eax, 0xd26cd645
mov byte [0x100d304f], al
movzx eax, byte [0x100d3063]
sub eax, dword [0x100d3134]
mov byte [0x100d3063], al
movzx eax, byte [0x100d3027]
movzx ecx, byte [0x100d3027]
and eax, ecx
cdq
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
jmp 0x1006970b
movzx edx, word [0x100d315c]
test edx, edx
je 0x1006970b
mov eax, 0xffffc950
mov word [ebp - 0x30], ax
movzx eax, word [ebp - 0x24]
movsx ecx, byte [ebp - 0x14]
add eax, ecx
cdq
mov ecx, eax
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [ebp - 0x80]
sub ecx, eax
mov dword [0x100d311c], ecx
movzx eax, word [ebp - 0x1c]
not eax
movsx edx, byte [ebp - 0x14]
add eax, edx
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movsx eax, word [ebp - 0x20]
imul ecx, eax, 0xd16c
movsx edx, word [0x100d31b0]
sub edx, ecx
mov word [0x100d31b0], dx
mov eax, dword [ebp - 0xbc]
add eax, 0x6af
mov dword [ebp - 0x190], eax
movsx ecx, word [0x100d312c]
test ecx, ecx
je 0x1006976c
mov edx, dword [0x100d3174]
not edx
mov byte [ebp - 0x13], dl
movzx eax, byte [0x100d304f]
add eax, 0x817b
mov dword [0x100d3174], eax
imul ecx, dword [0x100d311c], 0x843b
mov edx, dword [ebp - 0x70]
add edx, ecx
mov dword [ebp - 0x70], edx
imul eax, dword [0x100d3158], 0xfb
mov ecx, dword [ebp - 0x68]
and ecx, eax
mov dword [ebp - 0x68], ecx
jmp 0x100699bd
movsx edx, word [0x100d3130]
test edx, edx
jne 0x100697eb
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x40]
push ecx
push eax
mov edx, dword [0x100d313c]
push edx
mov eax, dword [0x100d3138]
push eax
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
push 0
push 0xcd
mov ecx, dword [ebp - 0x7c]
push ecx
mov edx, dword [ebp - 0x80]
push edx
call fcn.100a25b0
mov ecx, eax
mov eax, dword [ebp - 0x64]
cdq
sub eax, ecx
mov dword [ebp - 0x64], eax
movzx edx, byte [ebp - 0x11]
add edx, 0xb758
mov word [ebp - 0x20], dx
mov eax, dword [0x100d311c]
shl eax, 6
mov word [ebp - 0x28], ax
movzx ecx, word [ebp - 0x1c]
mov edx, dword [ebp - 0x3c]
imul edx, ecx
mov word [0x100d315c], dx
jmp 0x100699bd
movsx eax, byte [0x100d304e]
test eax, eax
je 0x10069860
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x65c], edx
mov eax, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x664], edx
xor ecx, eax
movsx eax, word [0x100d312c]
movsx edx, byte [ebp - 0x15]
xor eax, edx
cdq
add ecx, eax
not ecx
mov dword [0x100d3174], ecx
mov dword [ebp - 0x68], 0xc4
xor eax, eax
mov dword [0x100d31a0], 4
mov dword [0x100d31a4], eax
mov ecx, 0x44aa
mov word [ebp - 0x1c], cx
mov edx, dword [0x100d3c78]
mov dword [0x100d3144], edx
jmp 0x100699bd
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov edx, dword [0x100d3180]
mov esi, dword [0x100d3184]
not edx
not esi
mov dword [ebp - 0x550], eax
mov dword [ebp - 0x54c], ecx
mov dword [ebp - 0x558], edx
mov dword [ebp - 0x554], esi
mov eax, dword [ebp - 0x54c]
cmp eax, dword [ebp - 0x554]
ja 0x100698bd
jb 0x100698b1
mov ecx, dword [ebp - 0x550]
cmp ecx, dword [ebp - 0x558]
ja 0x100698bd
mov dword [ebp - 0x180], 1
jmp 0x100698c7
mov dword [ebp - 0x180], 0
movzx edx, byte [ebp - 0x11]
movsx eax, word [ebp - 0x28]
not eax
cmp edx, eax
jge 0x100698e1
mov dword [ebp - 0x184], 1
jmp 0x100698eb
mov dword [ebp - 0x184], 0
mov ecx, dword [ebp - 0x180]
cmp ecx, dword [ebp - 0x184]
jne 0x100699bd
movsx edx, byte [0x100d304e]
add edx, dword [ebp - 0x50]
movsx eax, byte [0x100d304e]
imul eax, edx
mov byte [0x100d304e], al
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x668], edx
mov byte [0x100d3063], cl
imul eax, dword [0x100d3134], 0x94
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
movsx eax, byte [ebp - 0x14]
xor eax, dword [ebp - 0x84]
mov byte [ebp - 0x14], al
cmp dword [ebp - 0x6c], 0
je 0x10069971
mov ecx, dword [0x100d3150]
mov edx, dword [0x100d3154]
mov dword [ebp - 0x378], ecx
mov dword [ebp - 0x374], edx
jmp 0x10069985
movzx eax, byte [0x100d3063]
cdq
mov dword [ebp - 0x378], eax
mov dword [ebp - 0x374], edx
mov ax, word [ebp - 0x378]
mov word [ebp - 0x1c], ax
movsx ecx, byte [0x100d304e]
test ecx, ecx
je 0x100699aa
movsx edx, word [0x100d3130]
mov dword [ebp - 0x188], edx
jmp 0x100699b4
movzx eax, byte [ebp - 0x11]
mov dword [ebp - 0x188], eax
mov cl, byte [ebp - 0x188]
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0xbc]
add edx, 0x67f
mov dword [ebp - 0x18c], edx
mov dword [0x100d3170], 0
movsx eax, word [0x100d3130]
movsx ecx, word [0x100d312c]
and eax, ecx
movsx edx, word [0x100d3130]
sub edx, eax
mov word [0x100d3130], dx
movsx eax, word [ebp - 0x20]
mov ecx, dword [0x100d3174]
sub ecx, eax
add ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
mov edx, dword [ebp - 0x68]
sub edx, 0x958
mov byte [ebp - 0x11], dl
mov ax, word [0x100d3c78]
mov word [0x100d31b0], ax
mov ecx, 4
imul edx, ecx, 0x7d1f
mov eax, dword [edx + 0x101bcef8]
xor ecx, ecx
mov edx, dword [0x100d3198]
mov esi, dword [0x100d319c]
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov eax, dword [0x100d3170]
mov dword [ebp - 0x41c], eax
cmp dword [ebp - 0x41c], 0
je 0x10069a72
jmp 0x10069af0
mov ecx, 1
imul edx, ecx, 0xa
movsx eax, byte [edx + 0x1019a1f0]
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov eax, dword [0x100d3c78]
mov dword [0x100d3144], eax
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x6c]
imul ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], ecx
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x10069ac2
movsx eax, word [0x100d3130]
cdq
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], edx
jmp 0x10069ad4
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x380], eax
mov dword [ebp - 0x37c], ecx
mov dx, word [ebp - 0x380]
mov word [ebp - 0x28], dx
movzx eax, word [ebp - 0x24]
movzx ecx, byte [0x100d304f]
sub eax, ecx
mov word [ebp - 0x24], ax
mov edx, dword [ebp - 0x18c]
imul edx, dword [ebp - 0x190]
mov eax, dword [ebp - 0x18c]
imul eax, dword [ebp - 0x420]
add edx, eax
cmp edx, dword [ebp - 0x190]
je 0x10069d60
mov ecx, dword [ebp - 0x3c]
sub ecx, dword [ebp - 0x58]
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
add edx, 0x4a600703
adc eax, 0xf3a13
mov ecx, dword [0x100d3144]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3144], eax
mov edx, dword [0x100d3138]
mov eax, dword [0x100d313c]
mov dword [0x100d3188], edx
mov dword [0x100d318c], eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x66c], edx
sub ecx, 0x552056f6
mov word [ebp - 0x2c], cx
movsx eax, byte [0x100d304e]
cdq
push edx
push eax
mov eax, dword [0x100d314c]
push eax
mov ecx, dword [0x100d3148]
push ecx
call fcn.100a25b0
mov ecx, eax
mov eax, dword [0x100d3148]
mov edx, dword [0x100d314c]
call fcn.100a2610
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
imul eax, dword [ebp - 0x64], 0x6c
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov edx, dword [ebp - 0x80]
or edx, dword [ebp - 0x7c]
jne 0x10069be0
mov eax, 0xf9f6312f
or eax, 0x282f8
je 0x10069c71
mov ecx, 0x35aed
mov dword [ebp - 0x4c], 0x4a51e3f9
mov dword [ebp - 0x48], ecx
movsx eax, word [ebp - 0x30]
cdq
and eax, 0x1c14357d
and edx, 0xa98c1
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [0x100d3140]
xor esi, esi
movzx edx, word [0x100d315c]
imul eax, edx, 0x43
cdq
sub eax, dword [0x100d3148]
sbb edx, dword [0x100d314c]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
push 0
push 0x88c04d81
push ecx
push eax
call fcn.100a25b0
and eax, dword [0x100d3138]
and edx, dword [0x100d313c]
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
jmp 0x10069d59
mov edx, dword [0x100d3150]
or edx, dword [0x100d3154]
je 0x10069c8b
movsx eax, byte [ebp - 0x15]
mov dword [ebp - 0x194], eax
jmp 0x10069c97
mov ecx, dword [0x100d3158]
mov dword [ebp - 0x194], ecx
mov dl, byte [ebp - 0x194]
mov byte [ebp - 0x12], dl
mov eax, dword [0x100d31b4]
add eax, dword [ebp - 0x6c]
mov ecx, eax
xor esi, esi
movzx eax, byte [0x100d3063]
cdq
sub eax, dword [ebp - 0x38]
sbb edx, dword [ebp - 0x34]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x560], ecx
mov dword [ebp - 0x55c], esi
mov edx, dword [ebp - 0x560]
or edx, dword [ebp - 0x55c]
jne 0x10069ce1
mov byte [ebp - 0x85], 1
jmp 0x10069ce8
mov byte [ebp - 0x85], 0
mov al, byte [ebp - 0x85]
mov byte [ebp - 0x13], al
mov ecx, dword [0x100d3144]
xor edx, edx
sub ecx, 0xbe2a6a88
sbb edx, 0x7763
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x11], al
cmp dword [ebp - 0x3c], 0
je 0x10069d3b
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x388], eax
mov dword [ebp - 0x384], edx
jmp 0x10069d4d
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x388], edx
mov dword [ebp - 0x384], eax
mov cl, byte [ebp - 0x388]
mov byte [0x100d304f], cl
xor eax, eax
jmp 0x1006c62e
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
je 0x10069dae
mov edx, dword [ebp - 0x9c]
push edx
call dword [sym.imp.USER32.dll_IsWindow]
mov dword [ebp - 0x670], eax
mov eax, dword [ebp - 0x9c]
push eax
call dword [sym.imp.USER32.dll_IsWindowEnabled]
mov dword [ebp - 0x674], eax
mov ecx, dword [ebp - 0x9c]
push ecx
call dword [sym.imp.USER32.dll_IsWindowUnicode]
mov dword [ebp - 0x678], eax
call fcn.10043c20
test eax, eax
je 0x10069dc0
mov byte [ebp - 0x86], 1
jmp 0x10069dc7
mov byte [ebp - 0x86], 0
mov dl, byte [ebp - 0x86]
mov byte [ebp - 0x87], dl
mov eax, dword [0x100d3120]
or eax, dword [0x100d3124]
je 0x10069e73
mov ecx, dword [ebp - 0x60]
mov edx, dword [ebp - 0x5c]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x60], ecx
mov dword [ebp - 0x5c], edx
movzx eax, word [ebp - 0x24]
add eax, 0xb6
mov dword [ebp - 0x84], eax
mov ecx, dword [0x100d3120]
add ecx, 9
mov byte [ebp - 0x13], cl
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x10069e25
mov dword [ebp - 0x198], 1
jmp 0x10069e2f
mov dword [ebp - 0x198], 0
movsx eax, word [0x100d3130]
add eax, dword [ebp - 0x198]
not eax
mov word [ebp - 0x2c], ax
xor ecx, ecx
mov edx, dword [0x100d3168]
sub edx, dword [0x100d3158]
mov eax, dword [0x100d316c]
sbb eax, ecx
add edx, dword [0x100d3150]
adc eax, dword [0x100d3154]
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
jmp 0x10069f5e
movzx ecx, byte [0x100d304f]
mov edx, dword [0x100d3190]
imul edx, ecx
test edx, edx
jne 0x10069e9b
xor eax, eax
mov dword [ebp - 0x390], 1
mov dword [ebp - 0x38c], eax
jmp 0x10069ea6
xorps xmm0, xmm0
movlpd qword [ebp - 0x390], xmm0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x568], ecx
mov dword [ebp - 0x564], edx
mov eax, dword [ebp - 0x564]
cmp eax, dword [ebp - 0x38c]
jl 0x10069f5e
jg 0x10069ede
mov ecx, dword [ebp - 0x568]
cmp ecx, dword [ebp - 0x390]
jb 0x10069f5e
imul edx, dword [0x100d3144], 0xe
mov word [ebp - 0x20], dx
mov eax, dword [0x100d3144]
add eax, dword [ebp - 0x64]
mov ecx, dword [0x100d3188]
not ecx
add eax, ecx
mov dword [0x100d31b4], eax
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
push 0
push 0xd7
push eax
push edx
call fcn.100a25b0
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x10069f33
mov dword [ebp - 0x19c], 1
jmp 0x10069f3d
mov dword [ebp - 0x19c], 0
movsx eax, byte [0x100d304e]
xor eax, dword [ebp - 0x19c]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0x84]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx edx, byte [ebp - 0x87]
test edx, edx
jne 0x1006c535
xor eax, eax
mov dword [ebp - 0x58], 0xc67b
mov dword [ebp - 0x54], eax
movzx ecx, word [ebp - 0x24]
imul edx, ecx, 0x1a
mov dword [ebp - 0x50], edx
movzx eax, byte [0x100d3063]
sub eax, 0x2b5673b2
mov byte [ebp - 0x13], al
mov ecx, dword [0x100d3170]
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
mov dword [ebp - 0x67c], eax
sub ecx, edx
mov edx, dword [0x100d3170]
or edx, ecx
mov dword [0x100d3170], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], ecx
movsx edx, word [ebp - 0x30]
test edx, edx
jne 0x10069fd9
mov dword [ebp - 0x1a0], 1
jmp 0x10069fe3
mov dword [ebp - 0x1a0], 0
mov eax, dword [ebp - 0x80]
or eax, dword [ebp - 0x7c]
je 0x1006a005
mov ecx, dword [0x100d3168]
or ecx, dword [0x100d316c]
je 0x1006a005
mov dword [ebp - 0x1a4], 1
jmp 0x1006a00f
mov dword [ebp - 0x1a4], 0
xor edx, edx
sub edx, dword [ebp - 0x1a0]
cmp edx, dword [ebp - 0x1a4]
jne 0x1006a119
movzx eax, byte [0x100d3027]
movsx ecx, word [0x100d3128]
cmp eax, ecx
jne 0x1006a114
movzx edx, byte [0x100d3063]
imul eax, edx, 0x7a
add eax, dword [0x100d3158]
mov dword [0x100d3158], eax
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1006a062
mov dword [ebp - 0x1a8], 1
jmp 0x1006a06c
mov dword [ebp - 0x1a8], 0
mov edx, dword [ebp - 0x84]
add edx, dword [ebp - 0x1a8]
jne 0x1006a086
mov dword [ebp - 0x1ac], 1
jmp 0x1006a090
mov dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x64]
not eax
movzx ecx, word [0x100d3178]
not ecx
xor eax, ecx
add eax, dword [ebp - 0x6c]
movsx edx, byte [0x100d3026]
movsx ecx, word [0x100d31b0]
add edx, ecx
sub edx, dword [ebp - 0x1ac]
add eax, edx
not eax
mov dword [ebp - 0x6c], eax
movzx edx, byte [ebp - 0x11]
add edx, 0x5af7e486
mov eax, dword [0x100d311c]
imul eax, edx
mov dword [0x100d311c], eax
movsx ecx, byte [ebp - 0x14]
movsx edx, word [ebp - 0x2c]
sub ecx, edx
mov byte [ebp - 0x14], cl
push 0
push 0xa489
mov eax, dword [0x100d313c]
push eax
mov ecx, dword [0x100d3138]
push ecx
call fcn.100a25b0
add eax, dword [0x100d3150]
adc edx, dword [0x100d3154]
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
jmp 0x1006a19c
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
je 0x1006a19c
movzx eax, byte [ebp - 0x11]
and eax, 0xb1
mov byte [ebp - 0x11], al
mov ecx, dword [0x100d314c]
push ecx
mov edx, dword [0x100d3148]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
push 0
push 0xbbc7f7cb
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
movsx eax, byte [ebp - 0x13]
mov dword [ebp - 0x50], eax
movzx eax, byte [ebp - 0x11]
cdq
and eax, 0x2f5daf4
mov byte [0x100d3027], al
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xc0], ecx
movzx edx, byte [0x100d3027]
test edx, edx
je 0x1006a220
movzx eax, word [ebp - 0x24]
xor eax, dword [0x100d3144]
movzx ecx, word [ebp - 0x24]
imul ecx, eax
mov word [ebp - 0x24], cx
movzx eax, byte [0x100d3063]
cdq
mov edx, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0x680], ecx
sub eax, edx
mov byte [0x100d3063], al
movsx edx, word [0x100d31b0]
sub edx, 0x1b49c2a
xor eax, eax
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
mov ecx, 0xffffeeb1
mov word [0x100d3130], cx
mov edx, 0xad12
mov word [0x100d3178], dx
jmp 0x1006a2a4
mov eax, dword [0x100d3150]
or eax, dword [0x100d3154]
je 0x1006a23d
mov cx, word [0x100d312c]
mov word [ebp - 0x8c], cx
jmp 0x1006a248
mov dx, word [ebp - 0x20]
mov word [ebp - 0x8c], dx
mov ax, word [ebp - 0x8c]
mov word [ebp - 0x24], ax
mov ecx, dword [0x100d3170]
sub ecx, 0x1d067323
movzx eax, byte [0x100d304f]
cdq
sub eax, ecx
mov byte [0x100d304f], al
movzx eax, byte [0x100d304f]
xor eax, 0xfe
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx eax, word [ebp - 0x1c]
movsx edx, byte [ebp - 0x13]
add eax, edx
not eax
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, dword [ebp - 0x38]
mov esi, dword [ebp - 0x48]
sbb esi, dword [ebp - 0x34]
add eax, ecx
adc edx, esi
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov edx, dword [ebp - 0xc0]
add edx, 0x577
mov dword [ebp - 0x1d4], edx
movsx eax, word [0x100d31b0]
push eax
call dword [sym.imp.USER32.dll_IsWindow]
xor ecx, ecx
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
movzx edx, word [0x100d315c]
movzx eax, word [ebp - 0x24]
cmp edx, eax
jg 0x1006a338
movzx ecx, word [0x100d315c]
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov eax, dword [ebp - 0x50]
sub eax, edx
mov dword [ebp - 0x50], eax
mov ecx, 0xb7
mov word [0x100d3128], cx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movzx ecx, byte [ebp - 0x11]
shl ecx, 2
mov word [ebp - 0x24], cx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, 8
imul ecx, ecx, 0x10d
mov dword [ecx + 0x100f9570], eax
mov dword [ecx + 0x100f9574], edx
jmp 0x1006a3dd
imul edx, dword [0x100d3144], 0xafb2
mov dword [0x100d3174], edx
movsx eax, byte [ebp - 0x14]
imul ecx, eax, 0x25f5
mov dword [0x100d3158], ecx
movzx edx, byte [0x100d3063]
shl edx, 2
mov byte [0x100d3027], dl
mov eax, dword [0x100d3188]
or eax, dword [0x100d318c]
je 0x1006a381
movzx ecx, byte [ebp - 0x12]
mov dword [ebp - 0x1b0], ecx
jmp 0x1006a38b
movsx edx, word [ebp - 0x2c]
mov dword [ebp - 0x1b0], edx
mov eax, dword [ebp - 0x1b0]
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
imul eax, dword [ebp - 0x50], 0x9326ca15
mov byte [ebp - 0x11], al
movzx ecx, word [0x100d315c]
test ecx, ecx
je 0x1006a3be
movzx edx, byte [ebp - 0x12]
mov dword [ebp - 0x1b4], edx
jmp 0x1006a3cb
movsx eax, word [0x100d3128]
mov dword [ebp - 0x1b4], eax
mov eax, dword [ebp - 0x1b4]
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov ecx, dword [ebp - 0xc0]
add ecx, 0x70c
mov dword [ebp - 0x684], ecx
mov edx, dword [0x100d314c]
cmp edx, dword [ebp - 0x48]
jg 0x1006a412
jl 0x1006a406
mov eax, dword [0x100d3148]
cmp eax, dword [ebp - 0x4c]
ja 0x1006a412
mov dword [ebp - 0x1b8], 1
jmp 0x1006a41c
mov dword [ebp - 0x1b8], 0
cmp dword [0x100d314c], 0
jg 0x1006a43c
jl 0x1006a430
cmp dword [0x100d3148], 0x5b
ja 0x1006a43c
mov dword [ebp - 0x1bc], 1
jmp 0x1006a446
mov dword [ebp - 0x1bc], 0
mov ecx, dword [ebp - 0x1b8]
cmp ecx, dword [ebp - 0x1bc]
jl 0x1006a729
mov dword [ebp - 0x50], 1
movzx eax, byte [ebp - 0x12]
cdq
sub eax, 0x5252774c
mov word [0x100d3130], ax
mov edx, dword [ebp - 0x50]
xor eax, eax
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
movzx eax, byte [ebp - 0x12]
cdq
push 0x11c28
push 0xe5bbba07
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x24], ax
mov ecx, dword [0x100d3144]
add ecx, 0xa6
xor edx, edx
push edx
push ecx
mov eax, dword [0x100d313c]
push eax
mov ecx, dword [0x100d3138]
push ecx
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov edx, dword [0x100d3144]
xor eax, eax
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3144], eax
movsx edx, byte [ebp - 0x13]
movsx eax, word [ebp - 0x2c]
imul edx, eax
mov byte [ebp - 0x13], dl
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x1c0], ecx
cmp dword [ebp - 0x1c0], 0
je 0x1006a514
cmp dword [ebp - 0x1c0], 1
je 0x1006a5ee
jmp 0x1006a724
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
sub ecx, eax
sbb esi, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], esi
movzx eax, byte [ebp - 0x12]
cdq
add eax, 0xd0aef0eb
adc edx, 0x9d15e
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov edx, dword [ebp - 0x58]
add edx, 0xaa47
mov eax, dword [ebp - 0x54]
adc eax, 0
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x80]
add ecx, 0xe2
mov byte [0x100d3063], cl
movzx edx, word [0x100d3178]
test edx, edx
je 0x1006a592
movsx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], edx
jmp 0x1006a5a9
mov eax, dword [0x100d3168]
mov ecx, dword [0x100d316c]
mov dword [ebp - 0x278], eax
mov dword [ebp - 0x274], ecx
mov edx, dword [ebp - 0x278]
mov eax, dword [ebp - 0x274]
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
movsx eax, word [0x100d3128]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x38]
adc esi, dword [ebp - 0x34]
movsx eax, word [0x100d3128]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [0x100d3128], ax
jmp 0x1006a724
mov dword [ebp - 0x68], 0xc66ca0ca
mov edx, dword [0x100d3174]
add edx, 0xd37a
movsx eax, word [0x100d31b0]
sub eax, edx
mov word [0x100d31b0], ax
movzx ecx, byte [ebp - 0x11]
movsx edx, word [ebp - 0x28]
sub ecx, edx
jne 0x1006a630
xor eax, eax
mov dword [ebp - 0x398], 1
mov dword [ebp - 0x394], eax
jmp 0x1006a63b
xorps xmm0, xmm0
movlpd qword [ebp - 0x398], xmm0
mov ecx, dword [0x100d3168]
not ecx
mov edx, dword [0x100d316c]
not edx
mov eax, dword [ebp - 0x394]
push eax
mov eax, dword [ebp - 0x398]
push eax
push edx
push ecx
call fcn.100a25b0
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], edx
mov ecx, dword [ebp - 0x570]
or ecx, dword [ebp - 0x56c]
jne 0x1006a686
mov dword [ebp - 0x1c8], 1
jmp 0x1006a690
mov dword [ebp - 0x1c8], 0
movzx eax, word [0x100d3178]
cdq
sub eax, 0xde25f79e
sbb edx, 0xd4725
mov dword [ebp - 0x578], eax
mov dword [ebp - 0x574], edx
mov edx, dword [ebp - 0x578]
or edx, dword [ebp - 0x574]
jne 0x1006a6c9
mov dword [ebp - 0x1c4], 1
jmp 0x1006a6d3
mov dword [ebp - 0x1c4], 0
mov eax, dword [0x100d3140]
add eax, dword [0x100d31b4]
mov ecx, dword [ebp - 0x1c4]
sub ecx, eax
add ecx, dword [ebp - 0x1c8]
mov byte [0x100d304e], cl
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
sub ecx, dword [0x100d3150]
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
mov edx, 8
imul eax, edx, 0x70
mov ecx, dword [eax + 0x10175cb8]
mov edx, dword [eax + 0x10175cbc]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
jmp 0x1006a98e
imul eax, dword [ebp - 0x84], 0x68dd58a1
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], edx
mov dword [ebp - 0x588], ecx
mov dword [ebp - 0x584], esi
mov edx, dword [ebp - 0x57c]
cmp edx, dword [ebp - 0x584]
jl 0x1006a840
jg 0x1006a77e
mov eax, dword [ebp - 0x580]
cmp eax, dword [ebp - 0x588]
jbe 0x1006a840
mov eax, dword [0x100d3138]
mov edx, dword [0x100d313c]
mov cl, 2
call fcn.100a26c0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movsx ecx, word [0x100d3130]
test ecx, ecx
je 0x1006a7b1
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x1cc], edx
jmp 0x1006a7bc
mov eax, dword [0x100d3158]
mov dword [ebp - 0x1cc], eax
mov ecx, dword [ebp - 0x1cc]
mov dword [0x100d3140], ecx
mov edx, dword [0x100d3188]
or edx, dword [0x100d318c]
jne 0x1006a7ea
xor eax, eax
mov dword [ebp - 0x3a0], 1
mov dword [ebp - 0x39c], eax
jmp 0x1006a7f5
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a0], xmm0
mov ecx, dword [0x100d3168]
not ecx
mov edx, dword [0x100d316c]
not edx
xor ecx, dword [ebp - 0x3a0]
xor edx, dword [ebp - 0x39c]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x100d3150]
and eax, 0x17223ebb
mov ecx, dword [ebp - 0x3c]
add ecx, eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [0x100d3140]
add edx, 0x2c56316
mov dword [0x100d3140], edx
jmp 0x1006a98e
mov eax, 0xf9
test eax, eax
je 0x1006a8ce
mov ecx, dword [0x100d3160]
or ecx, dword [0x100d3164]
jne 0x1006a8ce
mov edx, dword [ebp - 0x70]
and edx, 0x24
mov word [0x100d3178], dx
mov eax, dword [0x100d3160]
add eax, 0x4e
mov ecx, dword [0x100d3164]
adc ecx, 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
mov edx, 0x36
mov word [ebp - 0x2c], dx
movsx eax, byte [0x100d3026]
cdq
push 0xb37ff
push 0x768882e8
push edx
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
mov eax, dword [ebp - 0x48]
sbb eax, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], eax
mov eax, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov cl, 6
call fcn.100a2610
mov word [0x100d3130], ax
jmp 0x1006a98e
movsx ecx, byte [ebp - 0x15]
test ecx, ecx
jne 0x1006a98e
movsx eax, byte [ebp - 0x15]
sub eax, 0x4e
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
movsx edx, byte [ebp - 0x14]
movsx eax, word [ebp - 0x20]
sub edx, eax
mov byte [ebp - 0x14], dl
movzx ecx, byte [ebp - 0x12]
mov edx, dword [ebp - 0x3c]
imul edx, ecx
mov eax, dword [ebp - 0x3c]
add eax, edx
mov dword [ebp - 0x3c], eax
push 0
push 0x55
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.100a25b0
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], esi
movzx eax, word [ebp - 0x24]
cdq
sub eax, 0xfb1786e7
sbb edx, 0xa52b5
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x100d315c]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x58c], esi
mov edx, dword [ebp - 0x590]
or edx, dword [ebp - 0x58c]
jne 0x1006a97b
mov dword [ebp - 0x1d0], 1
jmp 0x1006a985
mov dword [ebp - 0x1d0], 0
mov eax, dword [ebp - 0x1d0]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0xc0]
add ecx, 0x78b
mov dword [ebp - 0xa0], ecx
push 0x56696
push 0xff24fc8f
mov edx, dword [0x100d313c]
push edx
mov eax, dword [0x100d3138]
push eax
call fcn.100a25b0
mov word [0x100d312c], ax
movsx ecx, word [0x100d31b0]
imul edx, ecx, 0xca
mov word [0x100d312c], dx
xor eax, eax
mov dword [0x100d31a0], 0x73e3d069
mov dword [0x100d31a4], eax
mov ecx, dword [0x100d311c]
mov word [0x100d312c], cx
mov edx, dword [ebp - 0xa0]
imul edx, dword [ebp - 0xa0]
xor edx, dword [ebp - 0x1d4]
mov eax, dword [ebp - 0xa0]
add eax, dword [ebp - 0x1d4]
add eax, dword [ebp - 0xa0]
cmp edx, eax
je 0x1006c535
mov ecx, dword [0x100d3188]
or ecx, dword [0x100d318c]
je 0x1006acc9
cmp dword [ebp - 0x68], 0
je 0x1006acc4
movzx edx, byte [0x100d3026]
push edx
push 0xffffffffffffffb2
push 0xffffffffffffffda
push 0xffffffffffffffa1
call fcn.10058a50
add esp, 0x10
movsx eax, al
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], ecx
mov edx, dword [ebp - 0x598]
or edx, dword [ebp - 0x594]
je 0x1006aa93
mov dword [ebp - 0x1d8], 1
jmp 0x1006aa9d
mov dword [ebp - 0x1d8], 0
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x5a0], eax
mov dword [ebp - 0x59c], ecx
cmp dword [ebp - 0x5a0], 0x43
jne 0x1006aac6
cmp dword [ebp - 0x59c], 0
je 0x1006aad2
mov dword [ebp - 0x1dc], 1
jmp 0x1006aadc
mov dword [ebp - 0x1dc], 0
mov edx, dword [ebp - 0x1d8]
cmp edx, dword [ebp - 0x1dc]
je 0x1006ac11
cmp dword [0x100d3174], 0
je 0x1006ab83
mov eax, dword [0x100d3158]
add eax, dword [0x100d3138]
mov dword [0x100d3158], eax
movsx ecx, word [0x100d3128]
movsx edx, word [0x100d312c]
sub ecx, edx
mov byte [ebp - 0x14], cl
mov eax, 0x20
mov word [0x100d3128], ax
mov ecx, dword [0x100d3174]
sub ecx, dword [ebp - 0x70]
or ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
push 0
push 0x8da4e107
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, byte [0x100d304f]
cdq
sub eax, ecx
mov byte [0x100d304f], al
mov eax, dword [ebp - 0x84]
cdq
push 0xb7341
push 0xd08af5a2
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x50], eax
jmp 0x1006ac0c
movzx edx, word [0x100d3178]
test edx, edx
je 0x1006ac0c
movzx eax, byte [ebp - 0x11]
sar eax, 3
mov byte [ebp - 0x12], al
mov ecx, dword [0x100d311c]
add ecx, dword [0x100d3134]
mov dword [0x100d3134], ecx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x68c], eax
sub edx, ecx
mov word [ebp - 0x30], dx
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
push 0
push 0x6f500968
push edx
push ecx
call fcn.100a25b0
mov byte [0x100d304f], al
mov eax, dword [0x100d3158]
add eax, 0x1d
mov byte [ebp - 0x15], al
movsx eax, word [ebp - 0x20]
sub eax, 0x75f82de2
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
jmp 0x1006acc4
push 0x23438
push 0x7686e40f
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [0x100d3190]
cdq
sub eax, 0x3002b951
mov byte [ebp - 0x11], al
mov eax, dword [ebp - 0x64]
cdq
mov ecx, eax
add ecx, dword [0x100d3160]
mov eax, dword [ebp - 0x64]
cdq
or eax, ecx
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x68]
cdq
add eax, 0x32c5542f
mov byte [ebp - 0x12], al
movzx dx, byte [ebp - 0x11]
mov word [0x100d3178], dx
mov eax, dword [ebp - 0x38]
add eax, 0xc638
mov ecx, dword [ebp - 0x34]
adc ecx, 0
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
sub edx, 0x49
sbb esi, 0
not edx
not esi
xor eax, edx
xor ecx, esi
mov dword [ebp - 0x5a8], eax
mov dword [ebp - 0x5a4], ecx
mov eax, dword [ebp - 0x5a8]
or eax, dword [ebp - 0x5a4]
jne 0x1006acb1
mov dword [ebp - 0x1e0], 1
jmp 0x1006acbb
mov dword [ebp - 0x1e0], 0
mov ecx, dword [ebp - 0x1e0]
mov dword [ebp - 0x3c], ecx
jmp 0x1006ada4
movsx edx, byte [ebp - 0x13]
test edx, edx
jne 0x1006acdd
mov dword [ebp - 0x1e4], 1
jmp 0x1006ace7
mov dword [ebp - 0x1e4], 0
mov eax, dword [0x100d3170]
add eax, dword [ebp - 0x1e4]
je 0x1006ada4
mov cx, word [0x100d315c]
sub cx, 1
mov word [0x100d315c], cx
mov dword [0x100d3174], 0x91bf3a9e
movzx eax, byte [0x100d3027]
sub eax, 0xb0
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x5b0], edx
mov dword [ebp - 0x5ac], eax
mov ecx, dword [ebp - 0x5b0]
or ecx, dword [ebp - 0x5ac]
je 0x1006ad60
movsx edx, byte [0x100d3026]
mov dword [ebp - 0x1e8], edx
jmp 0x1006ad6d
movzx eax, word [0x100d3178]
mov dword [ebp - 0x1e8], eax
mov eax, dword [ebp - 0x1e8]
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov ecx, dword [0x100d3158]
sub ecx, 0xe8
mov word [ebp - 0x24], cx
mov edx, 0x34c66
mov dword [0x100d31a0], 0x1f883fd8
mov dword [0x100d31a4], edx
mov dword [ebp - 0x70], 0x988e
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [0x100d3160], eax
mov dword [0x100d3164], ecx
mov dx, word [0x100d3c78]
mov word [ebp - 0x24], dx
movsx eax, byte [0x100d304e]
test eax, eax
jne 0x1006ade7
xor ecx, ecx
mov dword [ebp - 0x3a8], 1
mov dword [ebp - 0x3a4], ecx
jmp 0x1006adf2
xorps xmm0, xmm0
movlpd qword [ebp - 0x3a8], xmm0
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x100d3184]
add eax, dword [0x100d3180]
adc edx, ecx
push edx
push eax
mov edx, dword [ebp - 0x3a4]
push edx
mov eax, dword [ebp - 0x3a8]
push eax
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx ecx, word [ebp - 0x28]
imul edx, ecx, 0xca9f
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xc8], eax
jmp 0x1006ae46
mov ecx, dword [ebp - 0xc8]
add ecx, 0x692
mov dword [ebp - 0x3e8], ecx
mov dword [ebp - 0xc4], 0xa3
jmp 0x1006ae73
mov edx, dword [ebp - 0xc4]
sub edx, 1
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0xc4], 0
jle 0x1006aedf
mov al, byte [0x100d3c78]
mov byte [ebp - 0x13], al
mov ecx, dword [0x100d3188]
sub ecx, dword [0x100d3188]
mov edx, dword [0x100d318c]
sbb edx, dword [0x100d318c]
and ecx, dword [0x100d3188]
and edx, dword [0x100d318c]
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
mov eax, 0xb8
mov word [0x100d312c], ax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
add ecx, 1
adc edx, 0
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
jmp 0x1006ae64
mov eax, dword [ebp - 0xc8]
add eax, 0x4ba
mov dword [ebp - 0x3ec], eax
movzx ecx, byte [ebp - 0x11]
cmp dword [ebp - 0x70], ecx
je 0x1006af05
mov dword [ebp - 0x1ec], 1
jmp 0x1006af0f
mov dword [ebp - 0x1ec], 0
cmp dword [ebp - 0x70], 0x41
je 0x1006af21
mov dword [ebp - 0x1f0], 1
jmp 0x1006af2b
mov dword [ebp - 0x1f0], 0
mov edx, dword [ebp - 0x1ec]
cmp edx, dword [ebp - 0x1f0]
je 0x1006b2be
mov dword [ebp - 4], 2
mov eax, dword [0x100d3160]
cmp eax, dword [0x100d3168]
jne 0x1006b206
mov ecx, dword [0x100d3164]
cmp ecx, dword [0x100d316c]
jne 0x1006b206
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x5b8], edx
mov dword [ebp - 0x5b4], eax
mov ecx, dword [ebp - 0x5b8]
or ecx, dword [ebp - 0x5b4]
jne 0x1006af9b
movzx edx, byte [ebp - 0x11]
test edx, edx
je 0x1006af9b
mov dword [ebp - 0x1f4], 1
jmp 0x1006afa5
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x48]
cmp eax, dword [0x100d313c]
jb 0x1006afc9
ja 0x1006afbd
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [0x100d3138]
jb 0x1006afc9
mov dword [ebp - 0x1f8], 1
jmp 0x1006afd3
mov dword [ebp - 0x1f8], 0
mov edx, dword [ebp - 0x1f4]
cmp edx, dword [ebp - 0x1f8]
jle 0x1006afed
mov dword [ebp - 0x204], 1
jmp 0x1006aff7
mov dword [ebp - 0x204], 0
movzx eax, word [ebp - 0x1c]
not eax
cmp dword [ebp - 0x50], eax
je 0x1006b00e
mov dword [ebp - 0x1fc], 1
jmp 0x1006b018
mov dword [ebp - 0x1fc], 0
movzx ecx, byte [0x100d3063]
cmp dword [ebp - 0x70], ecx
jg 0x1006b030
mov dword [ebp - 0x200], 1
jmp 0x1006b03a
mov dword [ebp - 0x200], 0
mov edx, dword [ebp - 0x1fc]
cmp edx, dword [ebp - 0x200]
jne 0x1006b054
mov dword [ebp - 0x208], 1
jmp 0x1006b05e
mov dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x208]
jl 0x1006b206
movsx ecx, byte [0x100d304e]
cmp ecx, dword [ebp - 0x68]
jg 0x1006b088
mov dword [ebp - 0x20c], 1
jmp 0x1006b092
mov dword [ebp - 0x20c], 0
movsx edx, byte [0x100d304e]
cmp edx, 0x21
jg 0x1006b0aa
mov dword [ebp - 0x210], 1
jmp 0x1006b0b4
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x210]
jl 0x1006b118
movzx ecx, byte [0x100d3027]
shl ecx, 6
mov byte [0x100d304f], cl
movsx edx, word [0x100d3130]
imul eax, edx, 0x575ad569
mov byte [0x100d304e], al
movsx eax, word [0x100d31b0]
sub eax, 0x556b
cdq
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
movsx ecx, byte [0x100d3026]
mov edx, dword [0x100d3190]
imul edx, ecx
mov eax, dword [0x100d3190]
sub eax, edx
mov dword [0x100d3190], eax
jmp 0x1006b206
mov ecx, dword [0x100d3150]
add ecx, dword [0x100d3148]
mov edx, dword [0x100d3154]
adc edx, dword [0x100d314c]
mov dword [0x100d3150], ecx
mov dword [0x100d3154], edx
mov al, byte [0x100d3c78]
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x4c]
xor ecx, 0xcda8924e
mov word [0x100d312c], cx
movzx edx, word [ebp - 0x24]
test edx, edx
jne 0x1006b168
mov dword [ebp - 0x214], 1
jmp 0x1006b172
mov dword [ebp - 0x214], 0
movzx eax, word [0x100d315c]
sub eax, dword [0x100d311c]
mov ecx, dword [ebp - 0x214]
lea edx, [eax + ecx + 0xe3]
test edx, edx
jne 0x1006b1a4
xor eax, eax
mov dword [ebp - 0x3b0], 1
mov dword [ebp - 0x3ac], eax
jmp 0x1006b1af
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b0], xmm0
mov ecx, dword [ebp - 0x3b0]
mov edx, dword [ebp - 0x3ac]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x28]
imul eax, ecx
mov word [ebp - 0x20], ax
push 0x60ff7
push 0xcf9f3d41
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100d3027]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [0x100d3027], al
jmp 0x1006b2ac
mov dword [ebp - 4], 0xffffffff
jmp 0x1006b2bc
jmp 0x1006b311
push 0
push 0x60
mov eax, dword [ebp - 0x7c]
push eax
mov ecx, dword [ebp - 0x80]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x50], eax
movsx eax, word [0x100d31b0]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov edx, dword [ebp - 0x3c]
add edx, 0x62
mov dword [0x100d3174], edx
movzx eax, byte [0x100d3027]
cdq
add eax, dword [ebp - 0x80]
adc edx, dword [ebp - 0x7c]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x80]
sub eax, 0xe3
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0xc8]
add ecx, 0x82e
mov dword [ebp - 0x234], ecx
movsx dx, byte [0x100d304e]
movzx eax, dx
push eax
movzx ecx, word [ebp - 0x20]
push ecx
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
cmp dword [0x100d316c], 0
ja 0x1006b369
jb 0x1006b35d
cmp dword [0x100d3168], 0
ja 0x1006b369
mov dword [ebp - 0x218], 1
jmp 0x1006b373
mov dword [ebp - 0x218], 0
cmp dword [0x100d316c], 0
ja 0x1006b393
jb 0x1006b387
cmp dword [0x100d3168], 0x3d
ja 0x1006b393
mov dword [ebp - 0x21c], 1
jmp 0x1006b39d
mov dword [ebp - 0x21c], 0
mov edx, dword [ebp - 0x218]
cmp edx, dword [ebp - 0x21c]
jg 0x1006b494
mov eax, dword [0x100d3144]
shl eax, 3
mov dword [0x100d3140], eax
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, 0xffffff04
sub ecx, dword [0x100d3150]
mov esi, 0xffffffff
sbb esi, dword [0x100d3154]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x5c0], eax
mov dword [ebp - 0x5bc], edx
mov edx, dword [ebp - 0x5c0]
or edx, dword [ebp - 0x5bc]
jne 0x1006b416
mov dword [ebp - 0x220], 1
jmp 0x1006b420
mov dword [ebp - 0x220], 0
movzx eax, word [ebp - 0x1c]
movzx ecx, byte [0x100d304f]
xor ecx, dword [0x100d3174]
imul eax, ecx
mov edx, dword [ebp - 0x220]
sub edx, eax
mov byte [ebp - 0x14], dl
push 0
push 0x85
mov eax, dword [0x100d313c]
push eax
mov ecx, dword [0x100d3138]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x70], eax
movzx edx, word [ebp - 0x24]
add edx, 0x2f
movzx eax, byte [0x100d3027]
imul eax, edx
mov byte [0x100d3027], al
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x34]
push ecx
mov ecx, dword [ebp - 0x38]
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x12], al
xor edx, edx
mov dword [ebp - 0x58], 0x75f5
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x224]
sub ecx, dword [ebp - 0xcc]
lea edx, [eax + ecx + 0x2bb]
mov eax, dword [ebp - 0x224]
sub eax, dword [ebp - 0x228]
mov ecx, dword [ebp - 0x228]
imul ecx, dword [ebp - 0xcc]
sub eax, ecx
cmp edx, eax
je 0x1006c4bd
movsx edx, word [ebp - 0x2c]
test edx, edx
jne 0x1006b4ec
xor eax, eax
mov dword [ebp - 0x5c8], 1
mov dword [ebp - 0x5c4], eax
jmp 0x1006b4f7
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c8], xmm0
mov ecx, dword [ebp - 0x5c8]
add ecx, dword [0x100d3188]
movsx eax, word [0x100d312c]
cdq
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x5c]
mov dword [ebp - 0x69c], esi
add edx, eax
sub ecx, edx
mov word [0x100d31b0], cx
movzx eax, word [ebp - 0x24]
cdq
mov ecx, eax
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x6a0], eax
add ecx, edx
movzx eax, word [ebp - 0x24]
cdq
add eax, ecx
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
push 0
push 0x14d7
push edx
push ecx
call fcn.100a25b0
add eax, dword [ebp - 0x58]
adc edx, dword [ebp - 0x54]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
movsx eax, byte [ebp - 0x13]
cdq
push 0x742bf
push 0x85752b70
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx eax, byte [ebp - 0x12]
add eax, dword [0x100d31b4]
imul eax, dword [0x100d31b4]
mov dword [0x100d31b4], eax
xor ecx, ecx
mov word [0x100d312c], cx
mov edx, dword [0x100d3c78]
mov dword [0x100d3190], edx
movsx eax, byte [ebp - 0x15]
cdq
push 0x8926a
push 0x1d64fdf3
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
push 0
push 0xd545d03e
push ecx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
mov edx, 0x64415
mov dword [0x100d31a0], 0xf789517b
mov dword [0x100d31a4], edx
xor eax, eax
mov dword [0x100d3198], 0xa9e
mov dword [0x100d319c], eax
movsx ecx, word [0x100d312c]
mov dword [ebp - 0x424], ecx
cmp dword [ebp - 0x424], 0
je 0x1006b61f
jmp 0x1006b736
mov eax, dword [0x100d311c]
add eax, 0xb8
cdq
push edx
push eax
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x38]
not ecx
mov esi, dword [ebp - 0x34]
not esi
add eax, ecx
adc edx, esi
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
movzx eax, byte [ebp - 0x12]
not eax
cdq
push 0x27bd9
push 0x81fe61b3
push edx
push eax
call fcn.100a25b0
mov word [0x100d315c], ax
movzx edx, word [0x100d3178]
movzx eax, word [ebp - 0x24]
add edx, eax
mov byte [0x100d304e], dl
movzx ecx, byte [0x100d3027]
mov edx, 0x6a
sub edx, ecx
jne 0x1006b69f
mov dword [ebp - 0x22c], 1
jmp 0x1006b6a9
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x50]
not eax
xor ecx, ecx
mov edx, dword [0x100d316c]
push edx
mov edx, dword [0x100d3168]
push edx
push ecx
push eax
call fcn.100a25b0
not eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6a4], edx
add ecx, eax
mov eax, dword [0x100d31b4]
not eax
mov edx, dword [ebp - 0x70]
add edx, eax
imul edx, dword [ebp - 0x22c]
add ecx, edx
mov dword [ebp - 0x64], ecx
movsx eax, word [ebp - 0x28]
movsx ecx, byte [0x100d304e]
imul eax, ecx
cdq
mov esi, eax
mov edi, edx
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
push edx
push eax
push edi
push esi
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x20]
cdq
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
call fcn.10036090
test eax, eax
je 0x1006c4bd
mov edx, dword [str.SdbpValidateAndApp]
mov dword [ebp - 0x614], edx
mov eax, dword [0x100af788]
mov dword [ebp - 0x610], eax
mov ecx, dword [0x100af78c]
mov dword [ebp - 0x60c], ecx
mov edx, dword [0x100af790]
mov dword [ebp - 0x608], edx
mov ax, word [0x100af794]
mov word [ebp - 0x604], ax
mov cl, byte [0x100af796]
mov byte [ebp - 0x602], cl
lea edx, [ebp - 0x614]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x100d3027], al
movsx eax, word [ebp - 0x2c]
cdq
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], edx
mov eax, dword [0x100d314c]
cmp eax, dword [ebp - 0x5cc]
jg 0x1006b964
jl 0x1006b7d3
mov ecx, dword [0x100d3148]
cmp ecx, dword [ebp - 0x5d0]
ja 0x1006b964
movzx edx, byte [ebp - 0x12]
test edx, edx
je 0x1006b8cc
mov dword [ebp - 0x3e4], 0
mov dword [ebp - 0x428], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
je 0x1006b83c
mov eax, dword [ebp - 0x428]
push eax
mov ecx, dword [ebp - 0xd8]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x6a8], eax
mov edx, dword [ebp - 0x3e4]
push edx
mov eax, dword [ebp - 0xd8]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x6ac], eax
cmp dword [0x100d3170], 0
je 0x1006b851
call dword [sym.imp.USER32.dll_AnyPopup]
mov word [ebp - 0x28], ax
jmp 0x1006b8c7
movsx ecx, word [ebp - 0x20]
add ecx, dword [ebp - 0x50]
movsx edx, word [ebp - 0x30]
movzx eax, byte [0x100d304f]
sub edx, eax
not edx
xor ecx, edx
mov dword [0x100d3158], ecx
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
add ecx, eax
adc esi, edx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
add edx, ecx
adc eax, esi
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movsx eax, word [ebp - 0x20]
movsx ecx, word [ebp - 0x20]
imul eax, ecx
mov word [ebp - 0x20], ax
mov dx, word [ebp - 0x28]
add dx, 1
mov word [ebp - 0x28], dx
jmp 0x1006b95f
movsx eax, word [ebp - 0x20]
sub eax, dword [ebp - 0x68]
imul eax, dword [ebp - 0x50]
test eax, eax
jne 0x1006b8e7
mov dword [ebp - 0x230], 1
jmp 0x1006b8f1
mov dword [ebp - 0x230], 0
movsx ecx, byte [ebp - 0x13]
mov edx, dword [0x100d311c]
or edx, ecx
movsx eax, word [ebp - 0x28]
movzx ecx, byte [ebp - 0x12]
sub eax, ecx
xor edx, eax
not edx
or edx, dword [ebp - 0x230]
mov word [0x100d3130], dx
push 0
push 0xfdce
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
call fcn.100a25b0
mov ecx, dword [0x100d3140]
sub ecx, eax
mov dword [0x100d3140], ecx
xor edx, edx
mov dword [ebp - 0x80], 8
mov dword [ebp - 0x7c], edx
mov eax, dword [0x100d3144]
add eax, dword [0x100d3170]
mov ecx, dword [0x100d3144]
add ecx, eax
mov dword [0x100d3144], ecx
jmp 0x1006bab1
mov edx, dword [0x100d3160]
or edx, dword [0x100d3164]
je 0x1006ba4c
mov eax, dword [0x100d31b4]
add eax, 0xa73a
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], ecx
mov edx, dword [0x100d3170]
add edx, 0x21
mov word [0x100d31b0], dx
movzx eax, word [ebp - 0x1c]
test eax, eax
jne 0x1006b9b4
xor ecx, ecx
mov dword [ebp - 0x3b8], 1
mov dword [ebp - 0x3b4], ecx
jmp 0x1006b9bf
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b8], xmm0
mov edx, dword [0x100d3138]
xor edx, dword [ebp - 0x3b8]
mov eax, dword [0x100d313c]
xor eax, dword [ebp - 0x3b4]
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x5d8]
or ecx, dword [ebp - 0x5d4]
jne 0x1006ba04
xor edx, edx
mov dword [ebp - 0x3c0], 1
mov dword [ebp - 0x3bc], edx
jmp 0x1006ba0f
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c0], xmm0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x3bc]
push edx
mov edx, dword [ebp - 0x3c0]
push edx
push ecx
push eax
call fcn.100a25b0
mov byte [0x100d304f], al
mov dword [0x100d3140], 2
movzx eax, byte [0x100d3063]
sub eax, 0x61bc59c9
mov dword [0x100d31b4], eax
jmp 0x1006bab1
cmp dword [ebp - 0x84], 0
je 0x1006bab1
mov ecx, 2
imul edx, ecx, 0x1602
mov ax, word [ebp - 0x6c]
mov word [edx + 0x10290588], ax
imul ecx, dword [0x100d3190], 0x8d
mov dword [0x100d31b4], ecx
movsx edx, byte [0x100d3026]
add edx, 0x290c
mov byte [ebp - 0x12], dl
mov eax, dword [0x100d3174]
sub eax, 0xd0e38a04
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0x38]
mov dword [0x100d3170], ecx
movzx edx, word [ebp - 0x1c]
imul eax, edx, 0xe6c1
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3e8]
or ecx, dword [ebp - 0x234]
mov edx, dword [ebp - 0x234]
imul edx, dword [ebp - 0x3ec]
mov eax, 0x64e
sub eax, edx
cmp ecx, eax
je 0x1006c4bd
push 0
movzx ecx, word [0x100d3178]
push ecx
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
cmp dword [0x100d316c], 0
ja 0x1006bb18
jb 0x1006bb0c
cmp dword [0x100d3168], 0
ja 0x1006bb18
mov dword [ebp - 0x238], 1
jmp 0x1006bb22
mov dword [ebp - 0x238], 0
cmp dword [0x100d316c], 0
ja 0x1006bb42
jb 0x1006bb36
cmp dword [0x100d3168], 0x38
ja 0x1006bb42
mov dword [ebp - 0x23c], 1
jmp 0x1006bb4c
mov dword [ebp - 0x23c], 0
mov edx, dword [ebp - 0x238]
cmp edx, dword [ebp - 0x23c]
je 0x1006bcda
mov eax, dword [0x100d3134]
cdq
mov dword [ebp - 0x5e0], eax
mov dword [ebp - 0x5dc], edx
mov eax, dword [ebp - 0x5dc]
cmp eax, dword [0x100d316c]
ja 0x1006bc0e
jb 0x1006bb92
mov ecx, dword [ebp - 0x5e0]
cmp ecx, dword [0x100d3168]
jae 0x1006bc0e
movzx eax, byte [0x100d304f]
sub eax, 0x85
cdq
add eax, dword [0x100d3188]
mov dword [ebp - 0x6c], eax
movzx edx, word [ebp - 0x1c]
imul eax, edx, 0xa8
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100d3120]
not ecx
mov edx, dword [0x100d3188]
sub edx, ecx
mov word [0x100d312c], dx
movsx eax, byte [0x100d304e]
cdq
add eax, 0x3ce6e470
mov byte [ebp - 0x14], al
movsx eax, word [0x100d3128]
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [0x100d3128], ax
mov edx, 0xffffdc7e
mov word [ebp - 0x30], dx
jmp 0x1006bcd5
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
je 0x1006bcd5
mov ecx, dword [ebp - 0x80]
sub ecx, 0x55
mov dword [0x100d3158], ecx
movsx eax, byte [0x100d3026]
cdq
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
add ecx, eax
adc esi, edx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
movsx ecx, word [ebp - 0x30]
movsx edx, word [0x100d3128]
sub ecx, edx
movsx eax, word [ebp - 0x30]
imul eax, ecx
mov word [ebp - 0x30], ax
mov ecx, dword [0x100d3150]
xor ecx, dword [0x100d3148]
mov edx, dword [0x100d3154]
xor edx, dword [0x100d314c]
mov eax, dword [0x100d3150]
sub eax, ecx
mov ecx, dword [0x100d3154]
sbb ecx, edx
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
movzx eax, byte [0x100d3063]
cdq
add eax, 0x866be0e6
mov dword [0x100d311c], eax
jmp 0x1006bdee
cmp dword [ebp - 0x64], 0
je 0x1006bdee
movsx edx, word [0x100d3128]
movsx eax, word [ebp - 0x2c]
add edx, eax
mov word [0x100d3128], dx
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x1006bd0c
mov dword [ebp - 0x240], 1
jmp 0x1006bd16
mov dword [ebp - 0x240], 0
mov edx, dword [0x100d31b4]
sub edx, dword [ebp - 0x240]
add edx, dword [0x100d3140]
jne 0x1006bd36
mov dword [ebp - 0x248], 1
jmp 0x1006bd40
mov dword [ebp - 0x248], 0
movsx eax, word [0x100d3130]
test eax, eax
jne 0x1006bd57
mov dword [ebp - 0x244], 1
jmp 0x1006bd61
mov dword [ebp - 0x244], 0
movzx eax, byte [ebp - 0x12]
imul eax, dword [0x100d3190]
movsx ecx, byte [ebp - 0x13]
xor ecx, dword [ebp - 0x244]
not ecx
imul eax, ecx
add eax, dword [ebp - 0x248]
cdq
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], edx
mov edx, dword [ebp - 0x3c]
xor eax, eax
mov ecx, 8
imul ecx, ecx, 0xe2
mov dword [ecx + 0x100f9570], edx
mov dword [ecx + 0x100f9574], eax
push 0x1073d
push 0x825b8600
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
call fcn.100a25b0
mov ecx, dword [0x100d3170]
sub ecx, eax
mov dword [0x100d3170], ecx
movsx edx, word [0x100d31b0]
movzx eax, byte [0x100d304f]
sub edx, eax
movsx ecx, word [0x100d31b0]
and ecx, edx
mov word [0x100d31b0], cx
movzx edx, word [0x100d3128]
push edx
movzx eax, word [ebp - 0x2c]
push eax
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x5e8], ecx
mov dword [ebp - 0x5e4], edx
mov eax, dword [ebp - 0x5e8]
or eax, dword [ebp - 0x5e4]
je 0x1006c167
mov ecx, 4
mov word [ebp - 0x1c], cx
movzx edx, word [0x100d3178]
movsx eax, word [ebp - 0x2c]
sub edx, eax
movzx ecx, word [0x100d3178]
sub ecx, edx
mov word [0x100d3178], cx
mov dword [0x100d3158], 0x8c67
mov edx, dword [ebp - 0x84]
imul edx, dword [0x100d31b4]
mov dword [0x100d31b4], edx
movzx eax, byte [0x100d3063]
add eax, 0x2d6b6a53
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100d3150]
add ecx, 0x84ae
mov edx, dword [0x100d3154]
adc edx, 0
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x24c], eax
cmp dword [ebp - 0x24c], 4
ja case.default.0x1006beca
mov ecx, dword [ebp - 0x24c]
jmp dword [ecx*4 + 0x1006c664]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x6b0], eax
add edx, 0x750f
mov word [0x100d312c], dx
mov eax, dword [ebp - 0x70]
add eax, 0x72a2a2f7
cdq
mov ecx, dword [0x100d3148]
sub ecx, eax
mov eax, dword [0x100d314c]
sbb eax, edx
mov dword [0x100d3148], ecx
mov dword [0x100d314c], eax
imul ecx, dword [ebp - 0x6c], 0x7d
mov byte [ebp - 0x13], cl
mov dword [ebp - 0x84], 0xc164f4da
movsx eax, byte [0x100d3026]
sub eax, 0x60e5
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100d311c]
cdq
mov ecx, dword [0x100d31a0]
mov ebx, dword [0x100d31a4]
push edx
push eax
push ebx
push ecx
call fcn.100a25b0
add esi, eax
adc edi, edx
mov dword [ebp - 0x4c], esi
mov dword [ebp - 0x48], edi
movsx eax, word [0x100d31b0]
add eax, 0x10f0312e
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
jmp case.default.0x1006beca
xor edx, edx
mov dword [0x100d3120], 0x7ee
mov dword [0x100d3124], edx
mov eax, 0x94
mov word [ebp - 0x30], ax
movzx ecx, byte [ebp - 0x12]
not ecx
movsx edx, word [0x100d312c]
add ecx, edx
jne 0x1006bfa9
mov dword [ebp - 0x250], 1
jmp 0x1006bfb3
mov dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x250]
mov dword [ebp - 0x6c], eax
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [ebp - 0x6b4], edx
or eax, ecx
mov byte [ebp - 0x11], al
jmp case.default.0x1006beca
mov eax, dword [ebp - 0x80]
add eax, 0xd2
mov ecx, dword [ebp - 0x7c]
adc ecx, 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], ecx
movsx eax, word [ebp - 0x28]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x38]
sbb esi, dword [ebp - 0x34]
movzx eax, word [ebp - 0x1c]
movsx edx, word [ebp - 0x20]
xor eax, edx
cdq
add ecx, eax
adc esi, edx
movsx eax, word [0x100d312c]
imul eax, eax, 0
cdq
xor eax, dword [0x100d31a8]
xor edx, dword [0x100d31ac]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov byte [ebp - 0x12], al
mov ecx, dword [ebp - 0x84]
add ecx, 0x7679a9ce
mov dword [ebp - 0x70], ecx
push 0
push 0xb7d5
mov edx, dword [ebp - 0x54]
push edx
mov eax, dword [ebp - 0x58]
push eax
call fcn.100a25b0
mov word [0x100d3178], ax
movsx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x1006c06f
mov eax, dword [ebp - 0x64]
cdq
mov dword [ebp - 0x3c8], eax
mov dword [ebp - 0x3c4], edx
jmp 0x1006c086
mov edx, dword [0x100d3188]
mov eax, dword [0x100d318c]
mov dword [ebp - 0x3c8], edx
mov dword [ebp - 0x3c4], eax
mov cx, word [ebp - 0x3c8]
mov word [ebp - 0x28], cx
jmp case.default.0x1006beca
mov edx, dword [0x100d31b4]
and edx, dword [0x100d3138]
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov cl, 6
call fcn.100a25f0
mov byte [0x100d3027], al
mov ax, word [0x100d3c78]
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
add ecx, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x40], edx
movsx eax, word [ebp - 0x2c]
and eax, 0x39
cdq
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
jmp case.default.0x1006beca
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
movzx eax, byte [ebp - 0x12]
add eax, 0xcf
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov edx, dword [0x100d3140]
shr edx, 8
mov dword [0x100d311c], edx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [0x100d3148], eax
mov dword [0x100d314c], ecx
mov edx, dword [ebp - 0x58]
add edx, 1
mov eax, dword [ebp - 0x54]
adc eax, 0
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x100d3160]
xor ecx, 0xb5
mov edx, dword [0x100d3164]
xor edx, 0
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
jmp 0x1006c1de
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5f0], eax
mov dword [ebp - 0x5ec], ecx
mov edx, dword [ebp - 0x5f0]
or edx, dword [ebp - 0x5ec]
je 0x1006c196
movzx eax, byte [0x100d304f]
mov dword [ebp - 0x254], eax
jmp 0x1006c19f
mov ecx, dword [ebp - 0x70]
mov dword [ebp - 0x254], ecx
mov dl, byte [ebp - 0x254]
mov byte [0x100d3027], dl
mov dword [ebp - 0x6c], 0x3798
mov ax, word [ebp - 0x20]
add ax, 1
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x3c]
sub ecx, 0xb2
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x84]
add eax, 0x96
mov word [ebp - 0x30], ax
call fcn.10027a30
test eax, eax
je 0x1006c4bd
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
je 0x1006c20c
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x280], edx
mov dword [ebp - 0x27c], eax
jmp 0x1006c220
movsx eax, byte [0x100d304e]
cdq
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x27c], edx
mov ecx, dword [ebp - 0x280]
mov edx, dword [ebp - 0x27c]
mov dword [0x100d3148], ecx
mov dword [0x100d314c], edx
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
mov dword [ebp - 0x6b8], ecx
sub eax, 0xbb
mov word [0x100d3128], ax
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
jne 0x1006c26b
xor eax, eax
mov dword [ebp - 0x3d0], 1
mov dword [ebp - 0x3cc], eax
jmp 0x1006c276
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d0], xmm0
mov ecx, dword [ebp - 0x3cc]
push ecx
mov edx, dword [ebp - 0x3d0]
push edx
mov eax, dword [ebp - 0x54]
push eax
mov ecx, dword [ebp - 0x58]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x5f4], edx
mov edx, dword [ebp - 0x5f8]
or edx, dword [ebp - 0x5f4]
jne 0x1006c2bf
xor eax, eax
mov dword [ebp - 0x3d8], 1
mov dword [ebp - 0x3d4], eax
jmp 0x1006c2ca
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d8], xmm0
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x3d8]
adc edx, dword [ebp - 0x3d4]
mov dword [ebp - 0x600], ecx
mov dword [ebp - 0x5fc], edx
mov eax, dword [ebp - 0x600]
or eax, dword [ebp - 0x5fc]
jne 0x1006c30a
xor ecx, ecx
mov dword [ebp - 0x3e0], 1
mov dword [ebp - 0x3dc], ecx
jmp 0x1006c315
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e0], xmm0
mov edx, dword [ebp - 0x3e0]
mov eax, dword [ebp - 0x3dc]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x84]
not eax
imul eax, dword [ebp - 0x64]
cdq
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, dword [0x100d3158]
xor ecx, 0x881ce619
xor esi, esi
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov edx, dword [0x100d3134]
and edx, dword [0x100d3158]
mov dword [0x100d3134], edx
mov byte [ebp - 0x15], 0
xor eax, eax
mov dword [0x100d3160], 0xaef9085a
mov dword [0x100d3164], eax
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6bc], edx
mov dword [ebp - 0x68], ecx
movzx eax, word [0x100d315c]
test eax, eax
je 0x1006c3a9
mov cx, word [ebp - 0x20]
mov word [ebp - 0x8e], cx
jmp 0x1006c3b7
mov dx, word [0x100d312c]
mov word [ebp - 0x8e], dx
movsx eax, word [ebp - 0x8e]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x40]
mov dword [ebp - 0x6c0], edx
add ecx, 0xa9bf
movsx eax, word [0x100d3130]
cdq
and eax, ecx
mov word [0x100d3130], ax
movsx eax, byte [ebp - 0x13]
sub eax, 0x34aea25e
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
mov al, byte [ebp - 0x15]
mov byte [ebp - 0x3f0], al
cmp byte [ebp - 0x3f0], 0
je 0x1006c40e
jmp 0x1006c4b3
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
mov eax, dword [0x100d3140]
mov ecx, 1
imul edx, ecx, 0x14
mov byte [edx + 0x103396e4], al
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
push ecx
push eax
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
not eax
not edx
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x7c], edx
mov ecx, dword [0x100d3120]
or ecx, dword [0x100d3124]
je 0x1006c479
mov dx, word [ebp - 0x1c]
mov word [ebp - 0x90], dx
jmp 0x1006c484
mov ax, word [ebp - 0x1c]
mov word [ebp - 0x90], ax
movzx eax, word [ebp - 0x90]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [0x100d3168]
add ecx, 0xa1471612
mov edx, dword [0x100d316c]
adc edx, 0
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
mov eax, 1
jmp 0x1006c62e
mov eax, dword [0x100d3148]
mov ecx, dword [0x100d314c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], ecx
mov eax, dword [0x100d311c]
cdq
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x5c]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x60], edx
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x38]
add ecx, 0x67
mov byte [0x100d304f], cl
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x70]
cdq
mov ecx, dword [ebp - 0x44]
mov esi, dword [ebp - 0x40]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x40]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x40], eax
xor eax, eax
jmp 0x1006c62e
movzx ecx, byte [0x100d3027]
test ecx, ecx
je 0x1006c554
mov eax, dword [0x100d3190]
cdq
mov dword [ebp - 0x288], eax
mov dword [ebp - 0x284], edx
jmp 0x1006c56b
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x288], edx
mov dword [ebp - 0x284], eax
mov ecx, dword [ebp - 0x288]
mov edx, dword [ebp - 0x284]
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
add ecx, eax
adc esi, edx
mov dword [0x100d3180], ecx
mov dword [0x100d3184], esi
movsx eax, word [0x100d3128]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
add edx, ecx
adc eax, esi
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
movsx eax, word [0x100d3130]
sub eax, 0xe1
cdq
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], edx
movzx ecx, byte [0x100d3063]
test ecx, ecx
jne 0x1006c600
mov dword [ebp - 0x258], 1
jmp 0x1006c60a
mov dword [ebp - 0x258], 0
mov edx, dword [ebp - 0x258]
sub edx, dword [ebp - 0x6c]
xor eax, eax
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], edx
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4