Function at 0x1005d4d0
Capabilities:
Encode data using base64
Encrypt data using speck

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ae530
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x908
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov eax, dword [0x100d3190]
mov word [ebp - 0x4b8], ax
mov byte [ebp - 0x18], 0x95
mov ecx, 0xb3
mov word [ebp - 0x2c], cx
mov edx, dword [0x100d3188]
mov eax, dword [0x100d318c]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], eax
mov byte [ebp - 0x11], 0x47
movsx eax, byte [0x100d3026]
cdq
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov dword [ebp - 0x40], 0x4b
mov byte [ebp - 0x14], 0x79
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov byte [ebp - 0x12], 0xdd
mov cx, word [0x100d3138]
mov word [ebp - 0x1c], cx
xor edx, edx
mov dword [ebp - 0x6c], 0x17adbe31
mov dword [ebp - 0x68], edx
mov eax, dword [0x100d3140]
mov dword [ebp - 0x44], eax
mov cx, word [0x100d3168]
mov word [ebp - 0x28], cx
mov dword [ebp - 0x5c], 0x33a3a3
mov edx, dword [0x100d3140]
mov dword [ebp - 0x48], edx
mov byte [ebp - 0x17], 8
mov byte [ebp - 0x15], 0x2e
movzx eax, word [0x100d315c]
mov dword [ebp - 0x70], eax
mov ecx, dword [0x100d3170]
xor edx, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov byte [ebp - 0x16], 0x4a
mov ax, word [0x100d3160]
mov word [ebp - 0x20], ax
movzx eax, byte [0x100d3027]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, 0xd3b2
mov word [ebp - 0x24], cx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0x7e4], eax
mov byte [ebp - 0x13], dl
movsx eax, word [0x100d3130]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov ecx, 0xf8ed
mov word [ebp - 0x4bc], cx
mov edx, dword [0x100d3144]
mov dword [ebp - 0x7e8], edx
mov ax, word [0x100d3150]
mov word [ebp - 0x4c0], ax
xor ecx, ecx
mov dword [ebp - 0x918], 0x6beb32b4
mov dword [ebp - 0x914], ecx
mov edx, 0x85
mov word [ebp - 0x4c4], dx
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
mov dword [ebp - 0x7ec], ecx
mov word [ebp - 0x4c8], ax
mov byte [ebp - 0xcd], 0xa6
movzx dx, byte [0x100d3027]
mov word [ebp - 0x4cc], dx
mov dword [ebp - 0x7f0], 0x7711f878
mov eax, 0xe4340
mov dword [ebp - 0x8e0], 0x1ca85822
mov dword [ebp - 0x8dc], eax
mov byte [ebp - 0xad], 0xc5
xor ecx, ecx
mov dword [ebp - 0x8e8], 0xdec1
mov dword [ebp - 0x8e4], ecx
movzx eax, word [0x100d3178]
cdq
mov dword [ebp - 0x8f0], eax
mov dword [ebp - 0x8ec], edx
mov eax, dword [0x100d3134]
cdq
mov dword [ebp - 0x8f8], eax
mov dword [ebp - 0x8f4], edx
mov dl, byte [0x100d3120]
mov byte [ebp - 0x99], dl
mov byte [ebp - 0x98], 0x19
mov byte [ebp - 0x97], 0x4a
mov ax, word [0x100d3174]
mov word [ebp - 0x440], ax
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
movzx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x4d4], eax
mov dword [ebp - 0x4d0], edx
mov dword [ebp - 0x4dc], ecx
mov dword [ebp - 0x4d8], esi
mov edx, dword [ebp - 0x4d0]
cmp edx, dword [ebp - 0x4d8]
ja 0x1005d730
jb 0x1005d724
mov eax, dword [ebp - 0x4d4]
cmp eax, dword [ebp - 0x4dc]
jae 0x1005d730
mov dword [ebp - 0x32c], 1
jmp 0x1005d73a
mov dword [ebp - 0x32c], 0
movzx ecx, word [ebp - 0x1c]
cmp ecx, 0x35
jge 0x1005d74f
mov dword [ebp - 0xf0], 1
jmp 0x1005d759
mov dword [ebp - 0xf0], 0
mov edx, dword [ebp - 0x32c]
cmp edx, dword [ebp - 0xf0]
jge 0x1005dc10
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
movzx eax, word [0x100d3178]
cdq
mov dword [ebp - 0x4e4], eax
mov dword [ebp - 0x4e0], edx
mov dword [ebp - 0x4ec], ecx
mov dword [ebp - 0x4e8], esi
mov edx, dword [ebp - 0x4e0]
cmp edx, dword [ebp - 0x4e8]
jg 0x1005d7bb
jl 0x1005d7af
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x4ec]
ja 0x1005d7bb
mov dword [ebp - 0xf4], 1
jmp 0x1005d7c5
mov dword [ebp - 0xf4], 0
movzx ecx, word [0x100d3178]
cmp ecx, 6
jg 0x1005d7dd
mov dword [ebp - 0xf8], 1
jmp 0x1005d7e7
mov dword [ebp - 0xf8], 0
mov edx, dword [ebp - 0xf4]
cmp edx, dword [ebp - 0xf8]
jl 0x1005db98
mov eax, dword [0x100d3158]
xor ecx, ecx
mov dword [ebp - 0x4f4], eax
mov dword [ebp - 0x4f0], ecx
mov edx, dword [ebp - 0x4f0]
cmp edx, dword [ebp - 0x68]
ja 0x1005db96
jb 0x1005d82c
mov eax, dword [ebp - 0x4f4]
cmp eax, dword [ebp - 0x6c]
jae 0x1005db96
movzx ecx, byte [0x100d3027]
cmp ecx, dword [ebp - 0x5c]
jb 0x1005d844
mov dword [ebp - 0xfc], 1
jmp 0x1005d84e
mov dword [ebp - 0xfc], 0
movzx edx, byte [0x100d3027]
cmp edx, 7
jl 0x1005d866
mov dword [ebp - 0x100], 1
jmp 0x1005d870
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x100]
je 0x1005d91f
mov dword [ebp - 0xa0], 0xc
movsx ecx, word [0x100d3130]
mov edx, 4
imul eax, edx, 0x46
mov dword [eax + 0x10339700], ecx
movsx eax, byte [ebp - 0x14]
cdq
xor eax, dword [ebp - 0x6c]
xor edx, dword [ebp - 0x68]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [0x100d3158]
sub ecx, 0x3a0a0a53
mov byte [ebp - 0x12], cl
movzx edx, word [ebp - 0x28]
imul edx, dword [ebp - 0x44]
mov word [ebp - 0x28], dx
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x7f4], edx
movzx eax, word [0x100d315c]
cdq
add eax, ecx
mov word [0x100d315c], ax
mov byte [ebp - 0x17], 0xf7
call dword [sym.imp.KERNEL32.dll_GetLargePageMinimum]
mov word [0x100d3128], ax
mov eax, dword [ebp - 0xa0]
add eax, 1
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0xa0], 0x259f
jl 0x1005d8f3
jmp 0x1005db96
mov ecx, dword [0x100d3144]
xor edx, edx
mov dword [ebp - 0x4fc], ecx
mov dword [ebp - 0x4f8], edx
cmp dword [ebp - 0x4f8], 0xfffcee07
jl 0x1005d961
jg 0x1005d94d
cmp dword [ebp - 0x4fc], 0xbed4880
jb 0x1005d961
xor eax, eax
mov dword [ebp - 0x34c], 1
mov dword [ebp - 0x348], eax
jmp 0x1005d96c
xorps xmm0, xmm0
movlpd qword [ebp - 0x34c], xmm0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x504], ecx
mov dword [ebp - 0x500], edx
mov eax, dword [ebp - 0x500]
cmp eax, dword [ebp - 0x348]
jg 0x1005da3b
jl 0x1005d9a4
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [ebp - 0x34c]
jae 0x1005da3b
mov edx, dword [0x100d3170]
sub edx, 1
mov dword [0x100d3170], edx
xor eax, eax
mov dword [0x100d3160], 0x744e
mov dword [0x100d3164], eax
mov ecx, dword [0x100d3174]
shr ecx, 3
mov word [0x100d312c], cx
movsx edx, word [0x100d3130]
test edx, edx
je 0x1005d9eb
movzx eax, word [ebp - 0x1c]
mov dword [ebp - 0x104], eax
jmp 0x1005d9f5
movsx ecx, byte [ebp - 0x16]
mov dword [ebp - 0x104], ecx
mov eax, dword [ebp - 0x104]
cdq
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
mov edx, 1
imul eax, edx, 0x601b
movzx eax, byte [eax + 0x10277950]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
add ecx, eax
adc esi, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], esi
jmp 0x1005db96
movsx edx, byte [0x100d304e]
test edx, edx
jne 0x1005db96
cmp dword [ebp - 0x5c], 0
je 0x1005da5a
cmp dword [ebp - 0x48], 0
jne 0x1005db96
movsx eax, word [0x100d3128]
add eax, 0xd6
movzx ecx, word [0x100d3178]
not ecx
sub ecx, eax
mov eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [ebp - 0x1c]
and eax, 0
cdq
mov edi, dword [0x100d31b4]
xor ebx, ebx
and edi, dword [0x100d3120]
and ebx, dword [0x100d3124]
or edi, eax
or ebx, edx
or edi, ecx
or ebx, esi
mov dword [0x100d3188], edi
mov dword [0x100d318c], ebx
mov dword [0x100d3174], 0x71f73c56
movzx edx, word [0x100d3178]
movzx eax, byte [0x100d3063]
sub eax, edx
not eax
movsx ecx, word [ebp - 0x2c]
xor ecx, dword [0x100d3170]
xor ecx, eax
xor edx, edx
push 0x24aa4
push 0x1d7b58ef
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3134], eax
movsx eax, word [ebp - 0x20]
test eax, eax
jne 0x1005db04
xor ecx, ecx
mov dword [ebp - 0x354], 1
mov dword [ebp - 0x350], ecx
jmp 0x1005db0f
xorps xmm0, xmm0
movlpd qword [ebp - 0x354], xmm0
push 0xa2b94
push 0x270c5a99
mov edx, dword [ebp - 0x350]
push edx
mov eax, dword [ebp - 0x354]
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
mov eax, dword [0x100d3190]
cdq
xor eax, 0x98357e5f
xor edx, 0xaa026
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x50c], eax
mov dword [ebp - 0x508], edx
mov edx, dword [ebp - 0x50c]
or edx, dword [ebp - 0x508]
jne 0x1005db73
xor eax, eax
mov dword [ebp - 0x514], 1
mov dword [ebp - 0x510], eax
jmp 0x1005db7e
xorps xmm0, xmm0
movlpd qword [ebp - 0x514], xmm0
mov ecx, dword [ebp - 0x78]
xor ecx, dword [ebp - 0x514]
mov dword [ebp - 0x70], ecx
mov dx, word [ebp - 0x78]
mov word [ebp - 0x24], dx
mov byte [ebp - 0x18], 8
jmp 0x1005dc0b
mov eax, 0xfe424e07
test eax, eax
je 0x1005dc0b
movzx eax, byte [0x100d304f]
cdq
sub eax, 0xf6a02375
mov byte [0x100d304e], al
movzx ecx, byte [0x100d304f]
mov edx, dword [ebp - 0x40]
sub edx, ecx
mov eax, dword [ebp - 0x40]
add eax, edx
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x7f8], edx
mov dword [ebp - 0x70], ecx
movzx eax, byte [0x100d3027]
cdq
push 0xab11b
push 0xf1d0994a
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov al, byte [0x100d3c78]
mov byte [0x100d3026], al
mov ecx, 2
mov word [0x100d31b0], cx
jmp 0x1005dd2a
movzx edx, word [ebp - 0x24]
sub edx, 0xc7
movsx eax, word [0x100d3130]
and eax, edx
mov word [0x100d3130], ax
movzx ecx, byte [0x100d3027]
test ecx, ecx
jne 0x1005dc48
xor edx, edx
mov dword [ebp - 0x35c], 1
mov dword [ebp - 0x358], edx
jmp 0x1005dc53
xorps xmm0, xmm0
movlpd qword [ebp - 0x35c], xmm0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
not eax
not ecx
add eax, dword [ebp - 0x35c]
adc ecx, dword [ebp - 0x358]
movzx edx, byte [ebp - 0x18]
sub edx, dword [0x100d3144]
mov esi, edx
xor edi, edi
sub esi, eax
sbb edi, ecx
movzx eax, word [ebp - 0x28]
not eax
movzx ecx, byte [ebp - 0x17]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, eax
mov ebx, edx
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x44c], esi
movsx esi, word [ebp - 0x20]
mov dword [ebp - 0x444], eax
mov eax, esi
mov dword [ebp - 0x448], edx
cdq
mov esi, dword [ebp - 0x444]
add eax, esi
mov esi, dword [ebp - 0x448]
adc edx, esi
add eax, ecx
adc edx, ebx
push edi
mov ecx, dword [ebp - 0x44c]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov edx, dword [ebp - 0x44]
shl edx, 5
mov byte [ebp - 0x17], dl
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x7fc], ecx
mov edx, 0xa7b
sub edx, eax
add edx, dword [0x100d3188]
mov dword [0x100d3170], edx
mov dword [0x100d311c], 0x5e6d
movzx eax, byte [ebp - 0x17]
add eax, 0x66bfd533
movsx ecx, byte [0x100d304e]
sub ecx, eax
mov byte [0x100d304e], cl
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xa4], edx
movzx eax, byte [0x100d304f]
test eax, eax
je 0x1005df4f
mov dword [0x100d3170], 1
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
mov edx, dword [0x100d3138]
sub edx, 0x3713
mov byte [ebp - 0x12], dl
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
add eax, 0x7429149d
adc ecx, 0x751fe
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], ecx
push 0
push 0x8878dd8f
mov edx, dword [0x100d3124]
push edx
mov eax, dword [0x100d3120]
push eax
call fcn.100a25b0
mov ecx, dword [0x100d3140]
add ecx, eax
movsx edx, byte [0x100d304e]
add edx, dword [ebp - 0x44]
imul edx, dword [0x100d3170]
sub edx, ecx
mov word [0x100d31b0], dx
movsx eax, byte [ebp - 0x13]
sub eax, 0x64
mov word [ebp - 0x28], ax
mov ecx, dword [0x100d3160]
sub ecx, 0x9e1e
mov byte [0x100d304e], cl
mov edx, dword [0x100d3170]
mov dword [ebp - 0x108], edx
cmp dword [ebp - 0x108], 0
je 0x1005de1e
cmp dword [ebp - 0x108], 1
je 0x1005dea7
jmp 0x1005df4f
movzx eax, word [ebp - 0x28]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x800], edx
mov eax, dword [0x100d311c]
cdq
mov esi, eax
sub esi, ecx
mov eax, dword [0x100d311c]
cdq
sub eax, esi
mov dword [0x100d311c], eax
mov dword [0x100d3158], 0x2b
mov ax, word [0x100d315c]
add ax, 1
mov word [0x100d315c], ax
mov ecx, 0xb1bb
mov word [0x100d315c], cx
jmp 0x1005df4f
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x1005debb
mov dword [ebp - 0x10c], 1
jmp 0x1005dec5
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0x10c]
sub eax, dword [0x100d3134]
add eax, 0xcc6
cdq
mov ecx, eax
mov esi, dword [0x100d3148]
add esi, dword [ebp - 0x34]
mov edi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x804], edx
movzx eax, byte [0x100d3027]
cdq
xor eax, edi
xor eax, esi
add eax, ecx
mov byte [ebp - 0x16], al
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
sub eax, 0xc86e
sbb ecx, 0
mov edx, dword [0x100d3198]
mov esi, dword [0x100d319c]
add edx, eax
adc esi, ecx
mov dword [0x100d3198], edx
mov dword [0x100d319c], esi
mov eax, dword [0x100d3c78]
mov dword [0x100d3134], eax
movsx eax, byte [0x100d3026]
cdq
mov ecx, dword [ebp - 0x30]
push ecx
mov ecx, dword [ebp - 0x34]
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [0x100d3026], al
mov edx, dword [ebp - 0xa4]
add edx, 0x6eb
mov dword [ebp - 0x160], edx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], ecx
movsx edx, byte [ebp - 0x16]
test edx, edx
je 0x1005df8a
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], ecx
jmp 0x1005df9e
mov edx, dword [0x100d3140]
xor eax, eax
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x334]
mov edx, dword [ebp - 0x330]
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
movsx ax, byte [ebp - 0x13]
mov word [ebp - 0x24], ax
mov byte [ebp - 0x15], 8
movzx ecx, word [ebp - 0x1c]
add ecx, dword [0x100d3144]
movzx edx, word [ebp - 0x1c]
and edx, ecx
mov word [ebp - 0x1c], dx
mov eax, dword [ebp - 0x40]
cdq
add eax, 0x5699f22
adc edx, 0x9f751
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebp - 0xa4]
add eax, 0x5c2
mov dword [ebp - 0x458], eax
movzx eax, word [ebp - 0x24]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov word [0x100d3178], cx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x808], eax
mov ecx, 4
imul eax, ecx, 0x3bb
mov dword [eax + 0x10337bc8], edx
movzx eax, word [ebp - 0x28]
cdq
add eax, dword [0x100d3188]
adc edx, dword [0x100d318c]
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
cmp dword [ebp - 0x48], 0
jne 0x1005e059
mov dword [ebp - 0x110], 1
jmp 0x1005e063
mov dword [ebp - 0x110], 0
movsx ecx, byte [ebp - 0x14]
mov esi, dword [ebp - 0x110]
sub esi, ecx
not esi
add esi, dword [ebp - 0x48]
xor ecx, ecx
mov eax, dword [0x100d311c]
cdq
mov edi, dword [0x100d3150]
not edi
mov ebx, dword [0x100d3154]
not ebx
sub edi, eax
sbb ebx, edx
add edi, esi
adc ebx, ecx
mov dword [0x100d3138], edi
mov dword [0x100d313c], ebx
movsx edx, byte [ebp - 0x16]
imul eax, edx, 0x74
movzx ecx, byte [ebp - 0x12]
sub ecx, eax
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0xa4]
add edx, 0x71a
mov dword [ebp - 0x45c], edx
movsx eax, word [0x100d312c]
test eax, eax
je 0x1005e0e3
movzx ecx, word [ebp - 0x1c]
not ecx
test ecx, ecx
je 0x1005e0e3
mov dword [ebp - 0x114], 1
jmp 0x1005e0ed
mov dword [ebp - 0x114], 0
cmp dword [ebp - 0x48], 0
jne 0x1005e107
xor edx, edx
mov dword [ebp - 0x364], 1
mov dword [ebp - 0x360], edx
jmp 0x1005e112
xorps xmm0, xmm0
movlpd qword [ebp - 0x364], xmm0
mov eax, dword [ebp - 0x360]
cmp eax, dword [ebp - 0x74]
jb 0x1005e136
ja 0x1005e12a
mov ecx, dword [ebp - 0x364]
cmp ecx, dword [ebp - 0x78]
jbe 0x1005e136
mov dword [ebp - 0x118], 1
jmp 0x1005e140
mov dword [ebp - 0x118], 0
mov edx, dword [ebp - 0x114]
not edx
imul edx, dword [ebp - 0x118]
test edx, edx
je 0x1005e2db
movsx eax, byte [ebp - 0x16]
cmp dword [0x100d31b4], eax
je 0x1005e16f
mov dword [ebp - 0x11c], 1
jmp 0x1005e179
mov dword [ebp - 0x11c], 0
cmp dword [0x100d31b4], 0x22
je 0x1005e18e
mov dword [ebp - 0x120], 1
jmp 0x1005e198
mov dword [ebp - 0x120], 0
mov ecx, dword [ebp - 0x11c]
cmp ecx, dword [ebp - 0x120]
jl 0x1005e21c
movzx edx, byte [ebp - 0x12]
imul eax, edx, 0xda9d
cdq
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
add ecx, eax
adc esi, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], esi
movzx edx, word [0x100d315c]
mov eax, dword [0x100d3140]
add eax, edx
mov dword [0x100d3140], eax
movzx ecx, word [ebp - 0x1c]
sub ecx, 0x71
movzx edx, byte [ebp - 0x17]
imul edx, ecx
mov byte [ebp - 0x17], dl
movsx eax, word [0x100d3130]
movsx ecx, byte [ebp - 0x14]
sub ecx, eax
movsx edx, byte [ebp - 0x14]
add edx, ecx
mov byte [ebp - 0x14], dl
jmp 0x1005e2d9
mov eax, dword [0x100d3120]
not eax
mov ecx, dword [0x100d3124]
not ecx
mov dword [ebp - 0x51c], eax
mov dword [ebp - 0x518], ecx
mov edx, dword [ebp - 0x518]
cmp edx, dword [ebp - 0x74]
ja 0x1005e2d9
jb 0x1005e257
mov eax, dword [ebp - 0x51c]
cmp eax, dword [ebp - 0x78]
ja 0x1005e2d9
mov ecx, dword [0x100d3120]
add ecx, 0xa8bcc232
mov edx, dword [0x100d3170]
add edx, ecx
mov dword [0x100d3170], edx
mov eax, dword [0x100d3170]
add eax, 0x32af54ad
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x48]
imul ecx, dword [ebp - 0x70]
xor edx, edx
mov dword [0x100d3168], ecx
mov dword [0x100d316c], edx
movzx eax, byte [0x100d3027]
add eax, dword [0x100d311c]
movsx ecx, word [0x100d3130]
add ecx, 6
sub ecx, eax
mov byte [ebp - 0x18], cl
push 0
push 0x5c85ab6d
mov edx, dword [0x100d313c]
push edx
mov eax, dword [0x100d3138]
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
jmp 0x1005e358
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x1005e358
movzx eax, byte [ebp - 0x15]
movsx ecx, word [ebp - 0x2c]
add ecx, eax
movsx edx, word [ebp - 0x2c]
sub edx, ecx
mov word [ebp - 0x2c], dx
mov eax, 0xffbc8
mov dword [ebp - 0x64], 0x5ebaa814
mov dword [ebp - 0x60], eax
mov cx, word [0x100d31b0]
mov word [ebp - 0x28], cx
cmp dword [0x100d3140], 0
je 0x1005e32d
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x36c], eax
mov dword [ebp - 0x368], edx
jmp 0x1005e33f
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x36c], edx
mov dword [ebp - 0x368], eax
mov ecx, dword [ebp - 0x36c]
mov dword [ebp - 0x44], ecx
movzx eax, byte [ebp - 0x12]
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xa8], edx
movsx eax, word [ebp - 0x2c]
imul eax, dword [0x100d3140]
mov word [ebp - 0x2c], ax
mov cl, byte [0x100d3c78]
mov byte [0x100d3063], cl
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0x524], edx
mov dword [ebp - 0x520], eax
mov ecx, dword [ebp - 0x524]
or ecx, dword [ebp - 0x520]
je 0x1005e3b0
movzx edx, byte [ebp - 0x15]
mov dword [ebp - 0x124], edx
jmp 0x1005e3b9
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x124], eax
mov eax, dword [ebp - 0x124]
cdq
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
mov ecx, dword [0x100d3174]
and ecx, 0x9ce0
xor edx, edx
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
movzx ax, byte [0x100d3027]
mov word [0x100d312c], ax
mov ecx, dword [ebp - 0x6c]
add ecx, 0xc9e4
mov edx, dword [ebp - 0x68]
adc edx, 0
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0xa8]
add eax, 0x799
mov dword [ebp - 0x470], eax
movzx ecx, word [0x100d3178]
movsx edx, byte [ebp - 0x13]
add edx, ecx
movsx eax, byte [ebp - 0x13]
imul eax, edx
mov byte [ebp - 0x13], al
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, word [ebp - 0x2c]
cdq
sub eax, ecx
mov word [ebp - 0x2c], ax
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x80c], eax
mov ecx, dword [ebp - 0x6c]
add ecx, 0x87d27318
add ecx, edx
mov word [0x100d315c], cx
mov byte [ebp - 0x15], 0x44
mov edx, dword [ebp - 0xa8]
add edx, 0x611
mov dword [ebp - 0x46c], edx
jmp 0x1005e4bf
jmp 0x1005e4ee
jmp 0x1005e509
jmp 0x1005e515
jmp 0x1005e53f
mov eax, dword [ebp - 0xa8]
add eax, 0x72e
mov dword [ebp - 0x474], eax
movsx ecx, byte [ebp - 0x16]
cmp ecx, dword [0x100d3144]
ja 0x1005e568
mov dword [ebp - 0x128], 1
jmp 0x1005e572
mov dword [ebp - 0x128], 0
movsx edx, byte [ebp - 0x16]
cmp edx, 0x3d
jg 0x1005e587
mov dword [ebp - 0x12c], 1
jmp 0x1005e591
mov dword [ebp - 0x12c], 0
mov eax, dword [ebp - 0x128]
cmp eax, dword [ebp - 0x12c]
jge 0x1005e732
movsx eax, word [0x100d3128]
cdq
mov dword [ebp - 0x52c], eax
mov dword [ebp - 0x528], edx
mov ecx, dword [ebp - 0x52c]
cmp ecx, dword [0x100d3120]
jne 0x1005e5d3
mov edx, dword [ebp - 0x528]
cmp edx, dword [0x100d3124]
je 0x1005e5df
mov dword [ebp - 0x130], 1
jmp 0x1005e5e9
mov dword [ebp - 0x130], 0
movsx eax, word [0x100d3128]
cmp eax, 0x13
je 0x1005e601
mov dword [ebp - 0x134], 1
jmp 0x1005e60b
mov dword [ebp - 0x134], 0
mov ecx, dword [ebp - 0x130]
cmp ecx, dword [ebp - 0x134]
jle 0x1005e732
mov edx, dword [ebp - 0x48]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [ebp - 0x2c], ax
movsx eax, word [ebp - 0x2c]
test eax, eax
jne 0x1005e732
mov dword [ebp - 0xac], 0x10d7
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x810], edx
mov eax, dword [0x100d3174]
add eax, ecx
mov dword [0x100d3174], eax
mov cl, byte [0x100d3c78]
mov byte [0x100d304e], cl
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x68]
mov cl, 2
call fcn.100a25f0
mov word [ebp - 0x1c], ax
mov byte [ebp - 0x11], 0x2e
movzx edx, byte [ebp - 0x17]
movzx eax, byte [ebp - 0x18]
imul eax, edx
mov byte [ebp - 0x18], al
cmp dword [ebp - 0xac], 0xffc
jle 0x1005e732
mov cx, word [0x100d3128]
add cx, 1
mov word [0x100d3128], cx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
and ecx, dword [ebp - 0x50]
and eax, dword [ebp - 0x4c]
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x814], edx
movzx eax, byte [0x100d3027]
cdq
mov esi, eax
sub esi, ecx
movzx eax, byte [0x100d3027]
cdq
or eax, esi
mov byte [0x100d3027], al
movzx eax, byte [ebp - 0x18]
test eax, eax
je 0x1005e70b
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x138], ecx
jmp 0x1005e715
movzx edx, byte [ebp - 0x15]
mov dword [ebp - 0x138], edx
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0xac]
sub ecx, 1
mov dword [ebp - 0xac], ecx
jmp 0x1005e68e
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xcc], edx
mov byte [ebp - 0x17], 1
mov eax, dword [ebp - 0x34]
xor eax, 0x34cb
mov word [ebp - 0x2c], ax
push 0
push 0xd6
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.100a25b0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100d3144]
add eax, 0x3059ec90
movsx ecx, byte [0x100d304e]
xor ecx, eax
mov byte [0x100d304e], cl
movzx eax, word [0x100d3178]
cdq
push edx
push eax
mov edx, dword [0x100d3124]
push edx
mov eax, dword [0x100d3120]
push eax
call fcn.100a25b0
and eax, dword [0x100d3120]
and edx, dword [0x100d3124]
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov ecx, dword [0x100d3150]
sub ecx, 0x30101b97
mov dword [0x100d3174], ecx
mov dl, byte [ebp - 0x17]
mov byte [ebp - 0x13c], dl
cmp byte [ebp - 0x13c], 0
je 0x1005e7e6
cmp byte [ebp - 0x13c], 1
je 0x1005e846
jmp 0x1005e919
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x74]
je 0x1005e7fc
mov ecx, dword [0x100d3190]
mov dword [ebp - 0x140], ecx
jmp 0x1005e808
mov edx, dword [0x100d3170]
mov dword [ebp - 0x140], edx
mov ax, word [ebp - 0x140]
mov word [0x100d3178], ax
movsx ecx, word [0x100d3128]
sub ecx, 0x53a5
mov byte [ebp - 0x18], cl
movzx edx, byte [ebp - 0x15]
xor eax, eax
sub eax, edx
not eax
mov byte [0x100d304f], al
movzx ecx, byte [ebp - 0x17]
movsx edx, byte [ebp - 0x14]
add edx, ecx
mov byte [ebp - 0x14], dl
jmp 0x1005e919
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0x818], ecx
xor eax, 0x51c1
mov word [0x100d3130], ax
movsx edx, byte [0x100d304e]
sub edx, 0x3771
mov word [ebp - 0x28], dx
movsx eax, byte [ebp - 0x16]
add eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x44]
cdq
mov esi, eax
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
xor eax, 0x110ac7d7
xor ecx, 0
movzx edx, byte [0x100d3027]
not edx
sub edx, dword [ebp - 0x70]
xor edi, edi
push ecx
push eax
push edi
push edx
call fcn.100a25b0
add eax, esi
mov dword [0x100d31b4], eax
movsx eax, word [0x100d3128]
test eax, eax
jne 0x1005e8c3
mov dword [ebp - 0x144], 1
jmp 0x1005e8cd
mov dword [ebp - 0x144], 0
movzx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x144]
sub edx, ecx
mov dword [0x100d3144], edx
je 0x1005e8ec
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x148], eax
jmp 0x1005e8f5
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x148], ecx
mov dx, word [ebp - 0x148]
mov word [ebp - 0x20], dx
mov eax, 2
imul ecx, eax, 0x1d
movsx edx, word [ecx + 0x10339248]
movzx eax, word [ebp - 0x24]
sub eax, edx
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0xcc]
add ecx, 0x620
mov dword [ebp - 0x1d4], ecx
push 0
push 0xdda5
mov edx, dword [0x100d313c]
push edx
mov eax, dword [0x100d3138]
push eax
call fcn.100a25b0
mov byte [0x100d3027], al
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x534], ecx
mov dword [ebp - 0x530], edx
mov eax, dword [ebp - 0x534]
or eax, dword [ebp - 0x530]
jne 0x1005e975
mov dword [ebp - 0x14c], 1
jmp 0x1005e97f
mov dword [ebp - 0x14c], 0
movsx ecx, word [ebp - 0x2c]
not ecx
movsx edx, byte [ebp - 0x13]
add edx, ecx
mov eax, dword [ebp - 0x14c]
imul eax, dword [0x100d3170]
add eax, edx
mov byte [0x100d3063], al
mov ecx, dword [0x100d3160]
not ecx
sub ecx, 0x710f0e83
mov word [0x100d315c], cx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
push 0
push 0x4f4e
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x5c], eax
mov ecx, 4
mov word [0x100d3130], cx
mov edx, dword [ebp - 0xcc]
add edx, 0x488
mov dword [ebp - 0x498], edx
mov eax, 2
imul ecx, eax, 0x2e
mov dx, word [ecx + 0x10339248]
mov word [ebp - 0x1c], dx
movsx eax, word [0x100d3128]
imul eax, dword [0x100d31b4]
movsx ecx, word [0x100d3128]
sub ecx, eax
mov word [0x100d3128], cx
mov eax, dword [0x100d311c]
cdq
xor eax, 0xa2cdb71b
xor edx, 0x7418e
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x81c], eax
sub edx, 0xf40d
mov byte [ebp - 0x13], dl
mov ecx, dword [ebp - 0x40]
sar ecx, 7
mov byte [ebp - 0x11], cl
movzx eax, byte [0x100d304f]
cdq
xor eax, 0x6deab7c
xor edx, 0xc6356
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov edx, dword [ebp - 0xcc]
add edx, 0x6a1
mov dword [ebp - 0x494], edx
cmp dword [0x100d311c], 0
je 0x1005eb9f
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x1005eb9f
movsx ecx, word [0x100d3128]
mov edx, dword [ebp - 0x70]
add edx, ecx
mov dword [ebp - 0x70], edx
mov eax, dword [0x100d3170]
xor ecx, ecx
add eax, dword [0x100d3160]
adc ecx, dword [0x100d3164]
and eax, dword [ebp - 0x34]
and ecx, dword [ebp - 0x30]
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
movsx edx, word [0x100d3128]
imul edx, dword [ebp - 0x48]
movsx eax, word [0x100d3128]
imul eax, edx
mov word [0x100d3128], ax
movzx ecx, byte [ebp - 0x17]
test ecx, ecx
jne 0x1005eb0c
xor edx, edx
mov dword [ebp - 0x53c], 1
mov dword [ebp - 0x538], edx
jmp 0x1005eb17
xorps xmm0, xmm0
movlpd qword [ebp - 0x53c], xmm0
mov ecx, dword [ebp - 0x50]
add ecx, dword [ebp - 0x53c]
not ecx
movsx eax, byte [ebp - 0x16]
cdq
mov esi, eax
add esi, ecx
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x820], edx
not ecx
mov eax, dword [ebp - 0x44]
cdq
mov edi, eax
sub edi, ecx
mov eax, dword [ebp - 0x40]
cdq
push 0xf62ab
push 0xf009ef9e
push edx
push eax
call fcn.100a25b0
add eax, edi
sub eax, esi
mov word [0x100d312c], ax
mov eax, dword [0x100d3144]
add eax, 0x3c51994
mov dword [0x100d3190], eax
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
mov eax, dword [0x100d3190]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov eax, dword [0x100d3190]
cdq
sub eax, ecx
mov dword [0x100d3190], eax
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xb4], edx
movzx eax, byte [ebp - 0x15]
push eax
call dword [sym.imp.USER32.dll_GetParent]
mov word [ebp - 0x1c], ax
movzx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x1005ecd6
mov dword [ebp - 4], 0
mov dword [ebp - 0x48], 0xa7f3
mov edx, 0xfd
mov word [0x100d3128], dx
mov eax, dword [0x100d3160]
or eax, dword [0x100d3164]
je 0x1005ebf8
mov cl, byte [0x100d3063]
mov byte [ebp - 0x79], cl
jmp 0x1005ebfe
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x79], dl
movzx eax, byte [ebp - 0x79]
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, word [0x100d31b0]
cdq
sub eax, 0x473b34c0
sbb edx, 0x93776
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov eax, dword [0x100d3190]
imul eax, dword [0x100d3144]
mov dword [0x100d3190], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x824], edx
sub ecx, 0x8b
mov dword [0x100d3134], ecx
jmp 0x1005ecc4
mov dword [ebp - 4], 0xffffffff
jmp 0x1005ecd4
jmp 0x1005ed3f
mov eax, dword [ebp - 0x40]
cdq
mov dword [ebp - 0x544], eax
mov dword [ebp - 0x540], edx
mov edx, dword [ebp - 0x544]
cmp edx, dword [0x100d3160]
jne 0x1005ed02
mov eax, dword [ebp - 0x540]
cmp eax, dword [0x100d3164]
je 0x1005ed3f
movzx ecx, byte [ebp - 0x15]
mov edx, dword [ebp - 0x48]
and edx, ecx
mov eax, dword [ebp - 0x48]
sub eax, edx
mov dword [ebp - 0x48], eax
movsx ecx, byte [ebp - 0x13]
sub ecx, dword [0x100d3134]
mov byte [ebp - 0x13], cl
movsx edx, byte [ebp - 0x16]
movzx eax, byte [ebp - 0x15]
imul eax, edx
mov byte [ebp - 0x17], al
movsx eax, word [0x100d3128]
cdq
sub eax, 0xb6fa5420
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0xb4]
add ecx, 0x7d0
mov dword [ebp - 0x218], ecx
mov edx, dword [0x100af2e8]
mov dword [ebp - 0x7a0], edx
mov eax, dword [0x100af2ec]
mov dword [ebp - 0x79c], eax
mov ecx, dword [0x100af2f0]
mov dword [ebp - 0x798], ecx
mov edx, dword [0x100af2f4]
mov dword [ebp - 0x794], edx
mov ax, word [0x100af2f8]
mov word [ebp - 0x790], ax
mov cl, byte [0x100af2fa]
mov byte [ebp - 0x78e], cl
lea edx, [ebp - 0x7a0]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov word [0x100d315c], ax
mov eax, dword [ebp - 0xb4]
add eax, 0x6eb
mov dword [ebp - 0x21c], eax
mov ecx, dword [0x100d3158]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov word [0x100d31b0], ax
mov edx, dword [ebp - 0xb4]
add edx, 0x451
mov dword [ebp - 0x828], edx
movzx eax, byte [ebp - 0x18]
movsx ecx, word [0x100d3130]
sub ecx, eax
not ecx
mov eax, ecx
cdq
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov edx, dword [ebp - 0x70]
xor edx, 0xc61e
movsx eax, word [ebp - 0x20]
sub eax, edx
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x5c]
add ecx, dword [0x100d3174]
add ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x54c], edx
mov dword [ebp - 0x548], eax
mov ecx, dword [ebp - 0x54c]
or ecx, dword [ebp - 0x548]
je 0x1005ee4f
mov edx, dword [0x100d31b4]
mov dword [ebp - 0x150], edx
jmp 0x1005ee59
movzx eax, word [ebp - 0x24]
mov dword [ebp - 0x150], eax
mov ecx, dword [ebp - 0x150]
xor edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
movsx eax, word [ebp - 0x20]
test eax, eax
je 0x1005ee7c
mov cx, word [ebp - 0x1c]
mov word [ebp - 0x84], cx
jmp 0x1005ee8a
mov dx, word [0x100d3178]
mov word [ebp - 0x84], dx
mov ax, word [ebp - 0x84]
mov word [ebp - 0x1c], ax
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 4], 2
movsx eax, word [0x100d31b0]
cdq
mov ecx, eax
mov esi, edx
mov edx, dword [0x100d31ac]
mov edi, 0xa4860e98
sub edi, dword [0x100d31a8]
mov ebx, 0x2e43c
sbb ebx, edx
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x454], esi
mov esi, dword [0x100d31a8]
mov dword [ebp - 0x450], ecx
mov ecx, dword [0x100d31ac]
sub esi, eax
sbb ecx, edx
add esi, edi
adc ecx, ebx
not esi
not ecx
mov edi, dword [ebp - 0x450]
add esi, edi
mov edi, dword [ebp - 0x454]
adc ecx, edi
mov dword [ebp - 0x78], esi
mov dword [ebp - 0x74], ecx
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
movzx edx, word [ebp - 0x28]
imul edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x44], eax
movsx ecx, byte [ebp - 0x11]
shl ecx, 8
mov word [ebp - 0x28], cx
mov dx, word [0x100d3c78]
mov word [ebp - 0x20], dx
jmp 0x1005eff9
mov dword [ebp - 4], 0xffffffff
jmp 0x1005f009
mov ecx, dword [ebp - 0xb8]
add ecx, 0x814
mov dword [ebp - 0x82c], ecx
cmp dword [ebp - 0x70], 0
je 0x1005f02a
jmp 0x1005f028
jmp 0x1005f092
movzx eax, word [0x100d315c]
cdq
add eax, 0xe0b928e5
mov dword [0x100d3158], eax
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3188]
sbb esi, dword [0x100d318c]
movzx eax, byte [ebp - 0x17]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x17], al
movzx edx, byte [0x100d3027]
sar edx, 6
mov byte [ebp - 0x16], dl
movzx eax, byte [ebp - 0x15]
add eax, 0xc705
mov word [0x100d3178], ax
movzx ecx, word [0x100d3178]
movsx eax, byte [ebp - 0x14]
xor eax, ecx
cdq
and eax, dword [ebp - 0x50]
mov byte [ebp - 0x18], al
mov edx, dword [ebp - 0xb8]
add edx, 0x76b
mov dword [ebp - 0x4a4], edx
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x70]
movzx eax, byte [ebp - 0x15]
not eax
cdq
mov edx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
mov dword [ebp - 0x830], esi
add edx, eax
add edx, ecx
not edx
mov byte [ebp - 0x17], dl
xor eax, eax
mov dword [0x100d3198], 1
mov dword [0x100d319c], eax
movzx ecx, byte [ebp - 0x18]
movzx edx, word [ebp - 0x1c]
sub edx, ecx
movzx eax, word [ebp - 0x1c]
add eax, edx
mov word [ebp - 0x1c], ax
mov eax, dword [0x100d3134]
cdq
xor eax, dword [ebp - 0x6c]
xor edx, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x6c]
sub ecx, eax
mov eax, dword [ebp - 0x68]
sbb eax, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x834], edx
xor ecx, 0xa1de
mov dword [ebp - 0x44], ecx
mov eax, dword [ebp - 0xb8]
add eax, 0x50c
mov dword [ebp - 0x268], eax
mov eax, dword [0x100d3134]
cdq
mov dword [ebp - 0x554], eax
mov dword [ebp - 0x550], edx
mov ecx, dword [0x100d3164]
cmp ecx, dword [ebp - 0x550]
jb 0x1005f2d3
ja 0x1005f171
mov edx, dword [0x100d3160]
cmp edx, dword [ebp - 0x554]
jbe 0x1005f2d3
mov byte [ebp - 0x12], 1
movzx eax, word [ebp - 0x28]
sub eax, 0x2b4734df
mov byte [0x100d3063], al
mov ecx, dword [ebp - 0x6c]
or ecx, dword [ebp - 0x68]
jne 0x1005f197
mov dword [ebp - 0x154], 1
jmp 0x1005f1a1
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x70]
not edx
sub edx, dword [ebp - 0x154]
mov byte [ebp - 0x15], dl
mov eax, dword [0x100d3c78]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x34]
mov dword [0x100d3134], ecx
imul edx, dword [ebp - 0x5c], 0xd7645b7e
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
push ecx
push eax
mov edx, dword [0x100d3124]
push edx
mov eax, dword [0x100d3120]
push eax
call fcn.100a25b0
add eax, dword [0x100d3120]
adc edx, dword [0x100d3124]
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov cl, byte [ebp - 0x12]
mov byte [ebp - 0x158], cl
cmp byte [ebp - 0x158], 0
je 0x1005f21c
cmp byte [ebp - 0x158], 1
je 0x1005f27e
jmp 0x1005f2ce
mov edx, dword [ebp - 0x34]
add edx, 0xec73
mov word [ebp - 0x2c], dx
imul eax, dword [ebp - 0x70], 0
xor ecx, ecx
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x838], eax
sub edx, 0xc6
mov dword [ebp - 0x40], edx
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
movzx eax, byte [ebp - 0x18]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, byte [ebp - 0x18]
cdq
add eax, ecx
mov byte [ebp - 0x18], al
mov byte [0x100d304f], 0x1c
jmp 0x1005f2ce
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x83c], eax
sub edx, 0x39
mov dword [0x100d3134], edx
mov byte [ebp - 0x11], 8
imul ecx, dword [0x100d3158], 0xde732505
xor edx, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
movsx eax, byte [ebp - 0x16]
cdq
add eax, 0xeaf290a5
mov byte [ebp - 0x11], al
mov eax, dword [0x100d311c]
add eax, 1
mov dword [0x100d311c], eax
jmp 0x1005f37e
xor ecx, ecx
mov dword [ebp - 0x64], 0x94880c95
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x34]
sub edx, 0xd58d642a
mov dword [0x100d3190], edx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x55c], eax
mov dword [ebp - 0x558], ecx
mov edx, dword [ebp - 0x55c]
or edx, dword [ebp - 0x558]
je 0x1005f31b
mov ax, word [ebp - 0x1c]
mov word [ebp - 0x86], ax
jmp 0x1005f326
mov cx, word [ebp - 0x28]
mov word [ebp - 0x86], cx
mov dl, byte [ebp - 0x86]
mov byte [ebp - 0x12], dl
movzx eax, byte [ebp - 0x18]
imul ecx, eax, 0xffffff09
movsx esi, word [0x100d31b0]
not esi
add esi, dword [ebp - 0x70]
or esi, ecx
mov ecx, dword [0x100d3158]
xor ecx, dword [0x100d3120]
movzx edx, word [0x100d3178]
movzx eax, byte [0x100d3027]
sub eax, edx
cdq
and eax, ecx
sub eax, esi
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x6c]
xor eax, dword [0x100d3148]
not eax
sub eax, dword [ebp - 0x78]
mov dword [0x100d3170], eax
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0xbc], ecx
xor edx, edx
mov dword [ebp - 0x78], 0x2410
mov dword [ebp - 0x74], edx
movzx eax, byte [0x100d3063]
mov dword [ebp - 0x40], eax
movsx ecx, byte [ebp - 0x11]
mov edx, dword [0x100d3144]
sub edx, ecx
mov eax, dword [0x100d3144]
or eax, edx
mov dword [0x100d3144], eax
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0x5c], ecx
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov cl, 1
call fcn.100a25f0
mov byte [ebp - 0x18], al
mov edx, dword [ebp - 0xbc]
add edx, 0x5eb
mov dword [ebp - 0x2a4], edx
movzx eax, byte [0x100d3063]
cdq
push edx
push eax
call fcn.100597c0
add esp, 8
mov word [0x100d315c], ax
movzx eax, word [0x100d315c]
test eax, eax
je 0x1005f4e8
mov ecx, dword [0x100d3138]
or ecx, dword [0x100d313c]
jne 0x1005f424
mov dword [ebp - 0x15c], 1
jmp 0x1005f42e
mov dword [ebp - 0x15c], 0
movsx eax, byte [ebp - 0x14]
sub eax, dword [ebp - 0x15c]
cdq
mov esi, eax
mov edi, edx
movzx eax, word [ebp - 0x1c]
not eax
cdq
push edx
push eax
mov edx, dword [0x100d3154]
push edx
mov eax, dword [0x100d3150]
push eax
call fcn.100a25b0
push edi
push esi
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x14], al
movzx eax, byte [ebp - 0x15]
cdq
add eax, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx eax, byte [0x100d3063]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub ecx, eax
sbb esi, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], esi
movzx edx, word [ebp - 0x24]
sub edx, 0x14939c44
xor eax, eax
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
mov ecx, dword [0x100d3150]
mov edx, dword [0x100d3154]
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movzx eax, byte [ebp - 0x12]
mov ecx, dword [ebp - 0x5c]
sub ecx, eax
and ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
jmp 0x1005f54b
cmp dword [ebp - 0x40], 0
je 0x1005f54b
mov ecx, dword [0x100d3168]
add ecx, 0x7e
movzx eax, word [ebp - 0x1c]
cdq
sub eax, ecx
mov word [ebp - 0x1c], ax
movzx eax, byte [ebp - 0x12]
cdq
sub eax, 0xe6257ed3
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
add edx, 0xac
adc eax, 0
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x30], eax
movzx ecx, byte [ebp - 0x12]
add ecx, 0x409c
mov byte [ebp - 0x14], cl
mov eax, dword [ebp - 0x44]
not eax
cdq
add eax, dword [0x100d3188]
mov dword [0x100d3190], eax
mov edx, dword [0x100d3c78]
mov dword [ebp - 0x40], edx
mov eax, dword [ebp - 0xbc]
add eax, 0x5ed
mov dword [ebp - 0x840], eax
mov cx, word [0x100d3c78]
mov word [0x100d3128], cx
movsx edx, byte [ebp - 0x13]
xor edx, dword [0x100d3158]
mov eax, 0x994f04e6
sub eax, edx
movzx ecx, byte [ebp - 0x15]
add ecx, dword [0x100d31b4]
movzx edx, word [ebp - 0x1c]
lea ecx, [edx + ecx - 0x509875f3]
sub ecx, eax
mov dword [ebp - 0x44], ecx
mov edx, 0x959d7
mov dword [ebp - 0x6c], 0xb4cfde38
mov dword [ebp - 0x68], edx
mov ax, word [ebp - 0x1c]
sub ax, 1
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], edx
mov ax, word [0x100d3188]
mov word [0x100d3178], ax
mov ecx, dword [ebp - 0xbc]
add ecx, 0x6e9
mov dword [ebp - 0x4a8], ecx
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [0x100d3138], edx
mov dword [0x100d313c], eax
mov eax, dword [0x100d311c]
cdq
mov ecx, 8
imul ecx, ecx, 0x8cbe
mov esi, dword [ecx + 0x10297a0c]
push esi
mov ecx, dword [ecx + 0x10297a08]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d311c], eax
mov eax, dword [0x100d3190]
cdq
xor eax, 0xb6a1c97d
xor edx, 0x7328a
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movzx edx, word [ebp - 0x24]
imul eax, edx, 0x1ab5de93
movzx ecx, word [ebp - 0x28]
movsx edx, byte [0x100d304e]
add edx, ecx
movsx ecx, byte [0x100d3026]
sub ecx, dword [0x100d3140]
xor ecx, edx
add ecx, eax
mov byte [0x100d3063], cl
movsx edx, word [0x100d3130]
movsx eax, byte [0x100d3026]
imul eax, edx
cdq
mov ecx, dword [ebp - 0x78]
add ecx, dword [0x100d3168]
add ecx, eax
add ecx, dword [ebp - 0x78]
mov word [0x100d31b0], cx
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [0x100d3160], edx
mov dword [0x100d3164], eax
mov ecx, dword [ebp - 0x458]
sub ecx, dword [ebp - 0x160]
mov edx, dword [ebp - 0x160]
or edx, dword [ebp - 0x45c]
cmp edx, ecx
je 0x1005fbde
mov dword [ebp - 4], 4
mov eax, dword [ebp - 0x40]
cmp dword [ebp - 0x44], eax
jg 0x1005f6d8
mov dword [ebp - 0x164], 1
jmp 0x1005f6e2
mov dword [ebp - 0x164], 0
cmp dword [ebp - 0x44], 0x4a
jg 0x1005f6f4
mov dword [ebp - 0x168], 1
jmp 0x1005f6fe
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x164]
cmp ecx, dword [ebp - 0x168]
je 0x1005f831
movzx edx, word [ebp - 0x1c]
cmp dword [0x100d3190], edx
je 0x1005f77e
mov dword [ebp - 0x464], 0
mov dword [ebp - 0x460], 0
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0xc0], eax
cmp dword [ebp - 0xc0], 0
je 0x1005f779
mov eax, dword [ebp - 0x460]
push eax
mov ecx, dword [ebp - 0xc0]
push ecx
call dword [sym.imp.USER32.dll_BeginPaint]
mov dword [ebp - 0x844], eax
mov edx, dword [ebp - 0x464]
push edx
mov eax, dword [ebp - 0xc0]
push eax
call dword [sym.imp.USER32.dll_EndPaint]
mov dword [ebp - 0x848], eax
jmp 0x1005f82c
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
push 0
push 0x45f7
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov dword [ebp - 0x5c], 0x8b45fac9
movzx eax, word [ebp - 0x1c]
sub eax, 0x1f49
mov dword [0x100d311c], eax
movsx ecx, word [0x100d31b0]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
push eax
push edx
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov ecx, dword [0x100d3150]
sub ecx, dword [0x100d3188]
mov esi, dword [0x100d3154]
sbb esi, dword [0x100d318c]
xor ecx, eax
xor esi, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], esi
movzx eax, word [ebp - 0x28]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3168]
sbb esi, dword [0x100d316c]
movzx eax, word [ebp - 0x28]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x28], ax
jmp 0x1005f8b4
movsx edx, byte [ebp - 0x11]
sub edx, dword [0x100d3174]
mov byte [ebp - 0x11], dl
movzx eax, byte [0x100d304f]
test eax, eax
jne 0x1005f85d
xor ecx, ecx
mov dword [ebp - 0x564], 1
mov dword [ebp - 0x560], ecx
jmp 0x1005f868
xorps xmm0, xmm0
movlpd qword [ebp - 0x564], xmm0
mov edx, dword [ebp - 0x564]
sub edx, dword [0x100d3150]
not edx
mov word [0x100d312c], dx
movsx eax, byte [ebp - 0x11]
sub eax, 0xf4aa
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov eax, dword [0x100d3c78]
mov dword [0x100d3140], eax
mov eax, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov cl, 5
call fcn.100a25f0
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
jmp 0x1005f94d
mov dword [ebp - 4], 0xffffffff
jmp 0x1005f95d
movzx edx, word [ebp - 0x1c]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x11], al
movsx eax, byte [ebp - 0x11]
test eax, eax
je 0x1005f97d
call dword [sym.imp.KERNEL32.dll_GetSystemDefaultLangID]
mov word [ebp - 0x24], ax
cmp dword [ebp + 0xc], 0
jne 0x1005fbde
movsx ecx, word [0x100d31b0]
test ecx, ecx
je 0x1005faaf
xor edx, edx
mov word [0x100d31b0], dx
movzx eax, byte [ebp - 0x18]
test eax, eax
je 0x1005f9af
mov cl, byte [ebp - 0x15]
mov byte [ebp - 0x7a], cl
jmp 0x1005f9b5
mov dl, byte [ebp - 0x12]
mov byte [ebp - 0x7a], dl
movzx eax, byte [ebp - 0x7a]
mov dword [0x100d3140], eax
mov ecx, dword [0x100d3144]
shl ecx, 1
mov dword [0x100d31b4], ecx
movzx eax, word [ebp - 0x24]
cdq
add eax, 0xe6172177
mov word [0x100d3178], ax
movzx edx, word [0x100d3178]
mov eax, 4
imul ecx, eax, 3
mov dword [ecx + 0x10339700], edx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
add edx, 0x4a17b5fd
adc eax, 0
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
movsx ecx, word [0x100d31b0]
mov dword [ebp - 0x468], ecx
cmp dword [ebp - 0x468], 0
je 0x1005fa2b
jmp 0x1005faad
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x50]
movzx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
movsx edx, byte [0x100d3026]
mov eax, dword [0x100d3134]
sub eax, edx
mov dword [0x100d3134], eax
movsx eax, byte [0x100d3026]
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movzx ecx, word [ebp - 0x28]
movsx edx, byte [ebp - 0x16]
and edx, ecx
movsx eax, byte [ebp - 0x16]
xor eax, edx
mov byte [ebp - 0x16], al
movzx ecx, word [0x100d3178]
add ecx, dword [0x100d3174]
add ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
sub edx, 0x2a0b1475
sbb eax, 0x91395
mov dword [0x100d3160], edx
mov dword [0x100d3164], eax
jmp 0x1005fb17
mov ecx, dword [ebp - 0x50]
or ecx, dword [ebp - 0x4c]
je 0x1005fb17
mov edx, dword [ebp - 0x40]
sub edx, 0x2e08c93a
mov word [0x100d3130], dx
movsx eax, word [0x100d3130]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3160]
sbb esi, dword [0x100d3164]
movsx eax, word [0x100d3130]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [0x100d3130], ax
movzx edx, word [ebp - 0x1c]
movzx eax, byte [ebp - 0x17]
add eax, edx
movzx ecx, byte [ebp - 0x17]
add ecx, eax
mov byte [ebp - 0x17], cl
mov byte [0x100d3027], 0x21
mov byte [0x100d304e], 0x44
mov edx, dword [ebp - 0x5c]
add edx, 0xa607
xor eax, eax
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x84c], edx
mov eax, dword [ebp - 0x70]
add eax, ecx
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov dword [ebp - 0x70], ecx
movsx edx, word [0x100d3130]
mov eax, dword [ebp - 0x44]
sub eax, edx
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x16]
cdq
add eax, dword [0x100d3168]
adc edx, dword [0x100d316c]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100d304f]
not eax
cdq
add eax, dword [0x100d3188]
adc edx, dword [0x100d318c]
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x56c], eax
mov dword [ebp - 0x568], edx
mov edx, dword [ebp - 0x56c]
or edx, dword [ebp - 0x568]
jne 0x1005fbaf
mov byte [ebp - 0x7b], 1
jmp 0x1005fbb3
mov byte [ebp - 0x7b], 0
mov al, byte [ebp - 0x7b]
mov byte [ebp - 0x14], al
movsx eax, word [0x100d3128]
cdq
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x850], edx
not ecx
xor ecx, eax
mov dword [ebp - 0x40], ecx
mov eax, 1
jmp 0x10065aea
movsx ax, byte [ebp - 0x13]
movzx ecx, ax
push ecx
push 0x27
push 0
push 0
call fcn.1005a510
add esp, 0x10
mov word [0x100d3130], ax
cmp dword [0x100d3190], 0
je 0x1005fd9a
movsx eax, word [0x100d31b0]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x100d31a0]
mov ebx, dword [0x100d31a4]
movzx eax, word [ebp - 0x28]
cdq
sub eax, edi
sbb edx, ebx
not eax
not edx
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x574], eax
mov dword [ebp - 0x570], edx
mov edx, dword [ebp - 0x574]
or edx, dword [ebp - 0x570]
jne 0x1005fc59
mov eax, 1
mov word [ebp - 0x82], ax
jmp 0x1005fc62
xor ecx, ecx
mov word [ebp - 0x82], cx
mov dx, word [ebp - 0x82]
mov word [ebp - 0x2c], dx
cmp dword [0x100d311c], 0
jne 0x1005fc82
mov dword [ebp - 0x16c], 1
jmp 0x1005fc8c
mov dword [ebp - 0x16c], 0
movsx eax, byte [ebp - 0x14]
test eax, eax
jne 0x1005fca0
mov dword [ebp - 0x170], 1
jmp 0x1005fcaa
mov dword [ebp - 0x170], 0
movsx ecx, byte [ebp - 0x14]
and ecx, dword [ebp - 0x16c]
imul ecx, dword [ebp - 0x170]
test ecx, ecx
jne 0x1005fccb
mov dword [ebp - 0x174], 1
jmp 0x1005fcd5
mov dword [ebp - 0x174], 0
movzx edx, word [ebp - 0x24]
sub edx, dword [ebp - 0x174]
mov word [ebp - 0x24], dx
movsx eax, word [0x100d312c]
test eax, eax
jne 0x1005fcfa
mov dword [ebp - 0x178], 1
jmp 0x1005fd04
mov dword [ebp - 0x178], 0
mov esi, 0x8114c738
sub esi, dword [ebp - 0x178]
mov ecx, dword [ebp - 0x34]
not ecx
mov edx, dword [ebp - 0x30]
not edx
push edx
push ecx
mov eax, dword [0x100d318c]
push eax
mov ecx, dword [0x100d3188]
push ecx
call fcn.100a25b0
xor eax, esi
mov dword [0x100d3170], eax
imul edx, dword [ebp - 0x44], 0x3dc1
mov eax, dword [0x100d3144]
add eax, edx
mov dword [0x100d3144], eax
movzx eax, byte [ebp - 0x15]
cdq
mov ecx, 8
shl ecx, 2
mov dword [ecx + 0x10175cb8], eax
mov dword [ecx + 0x10175cbc], edx
movsx edx, byte [0x100d304e]
test edx, edx
jne 0x1005fd77
mov dword [ebp - 0x17c], 1
jmp 0x1005fd81
mov dword [ebp - 0x17c], 0
imul eax, dword [ebp - 0x17c], 3
movzx ecx, word [ebp - 0x24]
xor eax, ecx
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
jmp 0x1005fe70
movsx edx, word [ebp - 0x2c]
imul edx, dword [0x100d3140]
movsx eax, word [ebp - 0x2c]
add eax, edx
mov word [ebp - 0x2c], ax
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d3150], ecx
mov dword [0x100d3154], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x57c], eax
mov dword [ebp - 0x578], ecx
mov edx, dword [ebp - 0x57c]
or edx, dword [ebp - 0x578]
je 0x1005fdf5
mov ax, word [ebp - 0x24]
mov word [ebp - 0x88], ax
jmp 0x1005fe00
mov cx, word [ebp - 0x24]
mov word [ebp - 0x88], cx
movzx eax, word [ebp - 0x88]
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx edx, byte [ebp - 0x13]
sar edx, 2
mov dword [ebp - 0x40], edx
push 0
push 0x4b50
mov eax, dword [ebp - 0x30]
push eax
mov ecx, dword [ebp - 0x34]
push ecx
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movzx eax, byte [ebp - 0x15]
cdq
push edx
push eax
mov edx, dword [0x100d3164]
push edx
mov eax, dword [0x100d3160]
push eax
call fcn.100a25b0
push edx
push eax
mov ecx, dword [0x100d3164]
push ecx
mov edx, dword [0x100d3160]
push edx
call fcn.100a25b0
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
mov eax, dword [ebp - 0x46c]
and eax, 0x18f
mov ecx, dword [ebp - 0x470]
sub ecx, eax
mov edx, dword [ebp - 0x474]
add edx, 0x1b4
imul eax, edx, 0x36
cmp eax, ecx
je 0x1006111f
movsx ecx, byte [ebp - 0x11]
test ecx, ecx
je 0x1006007a
movsx edx, byte [ebp - 0x13]
movsx eax, word [0x100d312c]
cmp eax, edx
jne 0x1005ffa5
movzx ecx, byte [ebp - 0x17]
test ecx, ecx
jne 0x1005fecd
mov dword [ebp - 0x180], 1
jmp 0x1005fed7
mov dword [ebp - 0x180], 0
movzx eax, word [0x100d3178]
xor eax, dword [ebp - 0x180]
cdq
mov edx, dword [ebp - 0x5c]
xor edx, dword [0x100d31b4]
mov ecx, dword [0x100d3150]
not ecx
sub ecx, dword [ebp - 0x5c]
sub ecx, edx
add ecx, eax
mov dword [ebp - 0x70], ecx
movsx eax, byte [0x100d304e]
xor eax, 0x551a7a2
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx edx, word [ebp - 0x2c]
imul eax, edx, 0xf5
mov dword [0x100d3144], eax
xor ecx, ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
sub edx, dword [0x100d3158]
sbb eax, ecx
mov dword [0x100d3180], edx
mov dword [0x100d3184], eax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
xor esi, esi
sub esi, dword [0x100d3148]
mov edi, 0
sbb edi, dword [0x100d314c]
sub esi, ecx
sbb edi, edx
movzx eax, byte [0x100d3063]
cdq
mov ebx, eax
mov eax, edx
push 0xffffffffffffffff
push 0xffffffffffffffdc
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov dword [ebp - 0x478], eax
call fcn.100a25b0
add eax, ebx
mov ebx, dword [ebp - 0x478]
adc edx, ebx
push edi
push esi
push edx
push eax
call fcn.100a25b0
mov dword [0x100d31b4], eax
jmp 0x10060075
movzx eax, word [ebp - 0x28]
movzx ecx, byte [ebp - 0x12]
cmp ecx, eax
jg 0x1005ffbd
mov dword [ebp - 0x184], 1
jmp 0x1005ffc7
mov dword [ebp - 0x184], 0
movzx edx, word [ebp - 0x28]
cmp edx, dword [ebp - 0x184]
jl 0x10060075
mov eax, dword [0x100d3174]
not eax
xor ecx, ecx
mov edx, dword [ebp - 0x50]
sub edx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, ecx
mov dword [ebp - 0x584], edx
mov dword [ebp - 0x580], eax
mov ecx, dword [ebp - 0x584]
or ecx, dword [ebp - 0x580]
jne 0x10060010
mov dword [ebp - 0x188], 1
jmp 0x1006001a
mov dword [ebp - 0x188], 0
movzx edx, byte [ebp - 0x18]
not edx
and edx, 0xb0
imul edx, dword [ebp - 0x188]
mov dword [ebp - 0x5c], edx
movsx eax, byte [ebp - 0x11]
not eax
movzx ecx, word [ebp - 0x24]
lea edx, [ecx + eax - 0x16b]
not edx
mov dword [0x100d311c], edx
movzx eax, byte [0x100d3027]
mov ecx, 4
imul edx, ecx, 0x4b
add eax, dword [edx + 0x10121f10]
mov byte [0x100d3027], al
mov eax, dword [0x100d3190]
mov byte [ebp - 0x12], al
mov dword [0x100d3134], 0xda
jmp 0x10060367
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10060096
xor edx, edx
mov dword [ebp - 0x374], 1
mov dword [ebp - 0x370], edx
jmp 0x100600a1
xorps xmm0, xmm0
movlpd qword [ebp - 0x374], xmm0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
mov eax, dword [0x100d311c]
cdq
sub eax, ecx
sbb edx, esi
mov ecx, dword [ebp - 0x374]
add ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x370]
adc esi, dword [ebp - 0x30]
mov dword [ebp - 0x58c], ecx
mov dword [ebp - 0x588], esi
mov dword [ebp - 0x594], eax
mov dword [ebp - 0x590], edx
mov edx, dword [ebp - 0x588]
cmp edx, dword [ebp - 0x590]
jb 0x10060209
ja 0x10060101
mov eax, dword [ebp - 0x58c]
cmp eax, dword [ebp - 0x594]
jb 0x10060209
mov cx, word [0x100d3c78]
mov word [0x100d312c], cx
movzx eax, byte [0x100d3027]
cdq
add eax, 0xc61a247a
adc edx, 0x7176e
mov ecx, dword [0x100d3150]
sub ecx, eax
mov eax, dword [0x100d3154]
sbb eax, edx
mov dword [0x100d3150], ecx
mov dword [0x100d3154], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x59c], ecx
mov dword [ebp - 0x598], edx
mov eax, dword [ebp - 0x59c]
or eax, dword [ebp - 0x598]
jne 0x10060168
mov dword [ebp - 0x18c], 1
jmp 0x10060172
mov dword [ebp - 0x18c], 0
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov esi, edx
mov edi, dword [0x100d3140]
sub edi, dword [ebp - 0x18c]
xor ebx, ebx
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x47c], eax
mov eax, dword [0x100d311c]
mov dword [ebp - 0x480], edx
cdq
mov dword [ebp - 0x484], esi
mov esi, dword [ebp - 0x47c]
add eax, esi
mov esi, dword [ebp - 0x480]
adc edx, esi
add eax, edi
adc edx, ebx
sub eax, ecx
mov ecx, dword [ebp - 0x484]
sbb edx, ecx
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov ecx, dword [0x100d3158]
xor esi, esi
movsx eax, byte [ebp - 0x16]
cdq
add eax, dword [0x100d3188]
adc edx, dword [0x100d318c]
xor eax, ecx
xor edx, esi
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov edx, dword [ebp - 0x40]
xor edx, 0xf6a0
mov byte [ebp - 0x11], dl
jmp 0x10060367
movzx eax, word [0x100d315c]
test eax, eax
je 0x100602f3
movsx ecx, byte [ebp - 0x14]
imul eax, ecx, 0x4a3f
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [0x100d3140]
mov byte [ebp - 0x16], dl
movzx eax, byte [ebp - 0x18]
xor eax, 0xe8
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movsx eax, word [0x100d312c]
test eax, eax
jne 0x1006025e
mov dword [ebp - 0x190], 1
jmp 0x10060268
mov dword [ebp - 0x190], 0
movsx ecx, word [0x100d31b0]
movsx edx, word [ebp - 0x20]
add edx, ecx
jne 0x1006028b
xor eax, eax
mov dword [ebp - 0x37c], 1
mov dword [ebp - 0x378], eax
jmp 0x10060296
xorps xmm0, xmm0
movlpd qword [ebp - 0x37c], xmm0
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3138]
sbb esi, dword [0x100d313c]
and ecx, dword [ebp - 0x37c]
and esi, dword [ebp - 0x378]
movsx eax, byte [ebp - 0x11]
not eax
add eax, dword [ebp - 0x190]
cdq
mov edi, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x60]
add edi, eax
adc ebx, edx
sub edi, ecx
sbb ebx, esi
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x38], ebx
movsx edx, word [ebp - 0x20]
sub edx, 0x247894e1
mov word [ebp - 0x1c], dx
mov eax, 0xffffe931
mov word [0x100d312c], ax
jmp 0x10060367
cmp dword [0x100d3170], 0x78d1
jb 0x10060367
movsx ecx, word [0x100d312c]
mov edx, dword [ebp - 0x40]
add edx, ecx
mov dword [ebp - 0x40], edx
mov eax, dword [0x100d3138]
add eax, 0x4128
mov ecx, dword [0x100d313c]
adc ecx, 0
mov dword [0x100d3188], eax
mov dword [0x100d318c], ecx
mov edx, dword [ebp - 0x6c]
or edx, dword [ebp - 0x68]
je 0x10060340
movsx eax, byte [ebp - 0x16]
mov dword [ebp - 0x194], eax
jmp 0x1006034d
movzx ecx, word [0x100d3178]
mov dword [ebp - 0x194], ecx
mov dl, byte [ebp - 0x194]
mov byte [ebp - 0x12], dl
movsx eax, byte [ebp - 0x16]
cdq
xor eax, dword [ebp - 0x78]
xor edx, dword [ebp - 0x74]
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
movzx eax, word [ebp - 0x24]
cmp eax, dword [0x100d3170]
jne 0x1006037f
mov dword [ebp - 0x198], 1
jmp 0x10060389
mov dword [ebp - 0x198], 0
movzx ecx, word [ebp - 0x24]
cmp ecx, 0x4c
jne 0x1006039e
mov dword [ebp - 0x19c], 1
jmp 0x100603a8
mov dword [ebp - 0x19c], 0
mov edx, dword [ebp - 0x198]
cmp edx, dword [ebp - 0x19c]
jl 0x100604e3
mov dword [ebp - 4], 6
mov eax, dword [0x100d311c]
cdq
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x854], edx
sub ecx, eax
mov byte [0x100d3027], cl
mov eax, dword [0x100d3134]
sub eax, 0x13
mov byte [ebp - 0x17], al
mov ecx, dword [0x100d3144]
sub ecx, 0xa2
xor edx, edx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], edx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
push 0xd68a5
push 0xc9bbaaec
push ecx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
add edx, dword [ebp - 0x50]
adc eax, dword [ebp - 0x4c]
mov dword [ebp - 0x3c], edx
mov dword [ebp - 0x38], eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x858], edx
sub ecx, dword [0x100d3150]
add ecx, dword [ebp - 0x50]
mov eax, dword [0x100d3160]
sub eax, ecx
mov byte [ebp - 0x13], al
jmp 0x100604ce
mov dword [ebp - 4], 0xffffffff
jmp 0x100604de
jmp 0x100605de
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x5a4], edx
mov dword [ebp - 0x5a0], eax
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x5a0]
jb 0x10060519
ja 0x1006050d
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x5a4]
jbe 0x10060519
mov dword [ebp - 0x1a4], 1
jmp 0x10060523
mov dword [ebp - 0x1a4], 0
movsx eax, byte [ebp - 0x16]
movsx ecx, byte [0x100d304e]
cmp ecx, eax
jne 0x1006053e
mov dword [ebp - 0x1a8], 1
jmp 0x10060548
mov dword [ebp - 0x1a8], 0
mov edx, dword [ebp - 0x1a4]
cmp edx, dword [ebp - 0x1a8]
je 0x10060562
mov dword [ebp - 0x1ac], 1
jmp 0x1006056c
mov dword [ebp - 0x1ac], 0
mov eax, dword [ebp - 0x1ac]
not eax
test eax, eax
je 0x100605de
mov eax, dword [ebp - 0x40]
cdq
sub eax, 0xfbf95ed2
sbb edx, 0x10c60
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
movsx ecx, byte [0x100d304e]
add ecx, 0x47
mov edx, dword [0x100d3140]
sub edx, ecx
mov dword [0x100d3140], edx
xor eax, eax
mov dword [ebp - 0x64], 1
mov dword [ebp - 0x60], eax
xor ecx, ecx
mov dword [ebp - 0x50], 0xa13c
mov dword [ebp - 0x4c], ecx
movsx eax, word [ebp - 0x20]
cdq
push 0x961fc
push 0x43179ddd
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp + 8], 0
jne 0x1006111f
xor edx, edx
mov word [ebp - 0x20], dx
mov eax, dword [0x100d3134]
cdq
xor eax, dword [ebp - 0x78]
xor edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov eax, dword [ebp - 0x74]
sbb eax, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
xor ecx, ecx
mov dword [0x100d3160], 0x9f26
mov dword [0x100d3164], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov edx, dword [ebp - 0x6c]
and edx, 0x9847d4fa
mov byte [ebp - 0x17], dl
mov eax, 0x620e
mov word [0x100d3178], ax
movsx ecx, word [ebp - 0x20]
mov dword [ebp - 0x488], ecx
cmp dword [ebp - 0x488], 0
je 0x10060676
jmp 0x100606f6
movsx edx, word [0x100d3128]
add edx, 0x2c
mov word [0x100d3130], dx
movzx eax, word [ebp - 0x24]
mov ecx, dword [0x100d3144]
imul ecx, eax
mov dword [0x100d3144], ecx
mov edx, dword [ebp - 0x48]
xor eax, eax
push 0x7fdef
push 0xa28b0eea
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
movsx ecx, word [ebp - 0x2c]
movzx edx, byte [ebp - 0x12]
sub edx, ecx
movzx eax, byte [ebp - 0x12]
sub eax, edx
mov byte [ebp - 0x12], al
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
push 0xaf4cd
push 0xc55b101f
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
mov dword [0x100d31b4], 3
movsx eax, word [ebp - 0x2c]
not eax
add eax, dword [ebp - 0x44]
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
movsx eax, byte [ebp - 0x16]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 0x16]
cdq
add eax, ecx
mov byte [ebp - 0x16], al
mov edx, dword [0x100d3140]
xor eax, eax
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov dword [ebp - 0x5c], 0xf3a5c193
mov edx, dword [0x100d3140]
xor eax, eax
push 0x83b65
push 0x6635f9c2
push eax
push edx
call fcn.100a25b0
mov word [0x100d31b0], ax
mov ecx, dword [0x100d31b4]
mov dword [ebp - 0x1b0], ecx
cmp dword [ebp - 0x1b0], 3
ja case.default.0x1006079c
mov edx, dword [ebp - 0x1b0]
jmp dword [edx*4 + 0x10065b00]
movsx eax, word [0x100d312c]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x34]
movsx eax, word [0x100d312c]
cdq
add eax, ecx
mov word [0x100d312c], ax
movsx edx, byte [0x100d304e]
imul eax, edx, 0xfec83864
mov byte [0x100d3027], al
movsx eax, word [0x100d3130]
cdq
mov ecx, eax
mov esi, edx
sub ecx, 0x5ec59e
sbb esi, 0xc5871
movsx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x11], al
mov byte [0x100d3063], 0x92
mov edx, dword [0x100d3144]
xor edx, dword [ebp - 0x70]
mov eax, dword [0x100d3144]
or eax, edx
mov dword [0x100d3144], eax
jmp case.default.0x1006079c
mov ecx, dword [0x100d31b4]
xor edx, edx
add ecx, dword [0x100d3148]
adc edx, dword [0x100d314c]
mov eax, dword [0x100d3148]
sub eax, ecx
mov ecx, dword [0x100d314c]
sbb ecx, edx
mov dword [0x100d3148], eax
mov dword [0x100d314c], ecx
mov edx, dword [ebp - 0x44]
sar edx, 2
mov byte [ebp - 0x15], dl
movzx eax, word [ebp - 0x24]
imul eax, dword [0x100d3134]
mov dword [0x100d3134], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x30]
je 0x1006087f
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x380], eax
jmp 0x10060897
mov ecx, dword [0x100d3188]
mov edx, dword [0x100d318c]
mov dword [ebp - 0x384], ecx
mov dword [ebp - 0x380], edx
mov ax, word [ebp - 0x384]
mov word [0x100d31b0], ax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
add ecx, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
add ecx, dword [ebp - 0x34]
adc edx, dword [ebp - 0x30]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [0x100d311c]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
jmp case.default.0x1006079c
movzx edx, byte [0x100d304f]
imul eax, edx, 0x86
cdq
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
movzx eax, word [ebp - 0x24]
test eax, eax
jne 0x10060911
xor ecx, ecx
mov dword [ebp - 0x38c], 1
mov dword [ebp - 0x388], ecx
jmp 0x1006091c
xorps xmm0, xmm0
movlpd qword [ebp - 0x38c], xmm0
mov esi, dword [ebp - 0x38c]
sub esi, dword [0x100d3148]
mov edi, dword [ebp - 0x388]
sbb edi, dword [0x100d314c]
not esi
not edi
movsx eax, word [0x100d312c]
cdq
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push edx
push eax
push ebx
push ecx
call fcn.100a25b0
sub eax, esi
sbb edx, edi
mov dword [ebp - 0x5ac], eax
mov dword [ebp - 0x5a8], edx
mov edx, dword [ebp - 0x5ac]
or edx, dword [ebp - 0x5a8]
jne 0x10060973
mov byte [ebp - 0x7c], 1
jmp 0x10060977
mov byte [ebp - 0x7c], 0
mov al, byte [ebp - 0x7c]
mov byte [0x100d304f], al
movzx ecx, word [0x100d3178]
add ecx, 0xf065
mov edx, dword [0x100d311c]
sub edx, ecx
mov dword [0x100d311c], edx
movzx eax, word [ebp - 0x28]
imul ecx, eax, 0xf344274c
mov word [0x100d312c], cx
movsx eax, byte [ebp - 0x11]
cdq
push 0x84b5a
push 0x55450d38
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
movsx eax, word [ebp - 0x20]
cdq
push edx
push eax
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.100a25b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
jmp case.default.0x1006079c
mov ecx, dword [0x100d3188]
xor ecx, 0x3394dc4d
mov word [0x100d3178], cx
movzx dx, byte [ebp - 0x18]
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0x20]
cdq
mov ecx, eax
xor ecx, dword [0x100d3160]
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov byte [ebp - 0x11], 4
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xc4], edx
xor eax, eax
mov dword [0x100d3168], 4
mov dword [0x100d316c], eax
mov eax, dword [ebp - 0x44]
cdq
push edx
push eax
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movzx eax, byte [0x100d3027]
and eax, dword [0x100d3134]
mov dword [0x100d3134], eax
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10060a84
mov dword [ebp - 0x1b4], 1
jmp 0x10060a8e
mov dword [ebp - 0x1b4], 0
movsx edx, word [ebp - 0x20]
not edx
xor edx, dword [ebp - 0x1b4]
mov dword [ebp - 0x5c], edx
movzx eax, word [ebp - 0x24]
add eax, 0x3a96bc41
mov byte [0x100d3027], al
mov byte [ebp - 0x15], 0x66
mov ecx, dword [0x100d3168]
mov edx, dword [0x100d316c]
mov dword [ebp - 0x394], ecx
mov dword [ebp - 0x390], edx
cmp dword [ebp - 0x390], 0
ja 0x10060e13
jb 0x10060ae3
cmp dword [ebp - 0x394], 4
ja 0x10060e13
mov eax, dword [ebp - 0x394]
mov dword [ebp - 0x900], eax
mov ecx, dword [ebp - 0x900]
jmp dword [ecx*4 + 0x10065b10]
mov ecx, dword [ebp - 0xc4]
add ecx, 0x582
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0x70]
push edx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor ecx, ecx
mov dword [0x100d3138], eax
mov dword [0x100d313c], ecx
mov edx, dword [ebp - 0xc4]
add edx, 0x779
mov dword [ebp - 0x864], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x5b4], eax
mov dword [ebp - 0x5b0], ecx
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x5b4]
jne 0x10060e7b
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x5b0]
je 0x10060eba
mov ecx, 0xffff9588
mov word [0x100d312c], cx
movsx edx, byte [0x100d304e]
imul eax, edx, 0x571b
mov byte [ebp - 0x11], al
mov ecx, 1
imul edx, ecx, 0x9821
movsx eax, byte [edx + 0x1023abe0]
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
mov edx, dword [ebp - 0xc4]
add edx, 0x516
mov dword [ebp - 0x48c], edx
call dword [sym.imp.USER32.dll_GetDoubleClickTime]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0xc8]
imul eax, dword [ebp - 0x48c]
mov ecx, dword [ebp - 0xc8]
lea edx, [ecx + eax + 0x353]
cmp dword [ebp - 0xc8], edx
je 0x1006111f
push 0
push 0
push 0x68
push 0xfffffffffffffffb
call fcn.10058a50
add esp, 0x10
movsx eax, al
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x48], 0
je 0x1006107b
movsx ecx, byte [ebp - 0x14]
movzx edx, word [ebp - 0x1c]
cmp edx, ecx
jne 0x10060f33
mov dword [ebp - 0x1c4], 1
jmp 0x10060f3d
mov dword [ebp - 0x1c4], 0
cmp dword [ebp - 0x44], 0
jne 0x10060f4f
mov dword [ebp - 0x1c0], 1
jmp 0x10060f59
mov dword [ebp - 0x1c0], 0
movsx eax, byte [ebp - 0x13]
cmp eax, dword [ebp - 0x1c0]
jge 0x10060f71
mov dword [ebp - 0x1c8], 1
jmp 0x10060f7b
mov dword [ebp - 0x1c8], 0
mov ecx, dword [ebp - 0x1c4]
cmp ecx, dword [ebp - 0x1c8]
jne 0x10060ff4
mov eax, dword [ebp - 0x40]
cdq
mov dword [ebp - 0x5bc], eax
mov dword [ebp - 0x5b8], edx
mov edx, dword [ebp - 0x5b8]
cmp edx, dword [0x100d3124]
ja 0x10060fcb
jb 0x10060fb7
mov eax, dword [ebp - 0x5bc]
cmp eax, dword [0x100d3120]
ja 0x10060fcb
xor ecx, ecx
mov dword [ebp - 0x3ac], 1
mov dword [ebp - 0x3a8], ecx
jmp 0x10060fd6
xorps xmm0, xmm0
movlpd qword [ebp - 0x3ac], xmm0
mov edx, dword [ebp - 0x3ac]
cmp edx, dword [ebp - 0x50]
jne 0x1006107b
mov eax, dword [ebp - 0x3a8]
cmp eax, dword [ebp - 0x4c]
jne 0x1006107b
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov dword [0x100d3144], ecx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x868], eax
mov ecx, dword [ebp - 0x48]
imul ecx, dword [0x100d311c]
imul ecx, dword [0x100d3134]
add ecx, edx
mov dword [0x100d3134], ecx
movzx edx, word [0x100d315c]
xor edx, 0xb0
mov word [ebp - 0x1c], dx
movzx eax, word [ebp - 0x1c]
test eax, eax
je 0x10061056
mov ecx, dword [0x100d3174]
mov dword [ebp - 0x1cc], ecx
jmp 0x10061063
movsx edx, byte [0x100d3026]
mov dword [ebp - 0x1cc], edx
mov eax, dword [ebp - 0x1cc]
xor ecx, ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
mov dword [0x100d3140], 0x2452
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
mov dl, byte [0x100d3c78]
mov byte [ebp - 0x13], dl
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
mov edx, dword [0x100d3188]
add edx, dword [0x100d3168]
mov esi, dword [0x100d318c]
adc esi, dword [0x100d316c]
sub edx, eax
sbb esi, ecx
mov dword [0x100d3180], edx
mov dword [0x100d3184], esi
movzx eax, byte [0x100d3063]
cdq
add eax, dword [0x100d3160]
adc edx, dword [0x100d3164]
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
mov ecx, dword [0x100d3170]
movzx eax, byte [0x100d3027]
cdq
mov esi, eax
add esi, dword [ebp - 0x78]
movsx eax, byte [ebp - 0x13]
cdq
sub eax, esi
and eax, ecx
mov dword [0x100d3158], eax
xor eax, eax
jmp 0x10065aea
mov edx, 1
imul eax, edx, 0x3c
movzx ecx, byte [eax + 0x10297920]
mov dword [0x100d3174], ecx
movsx edx, word [0x100d312c]
imul edx, dword [0x100d3158]
not edx
mov word [0x100d3178], dx
mov eax, dword [0x100d3120]
sub eax, dword [ebp - 0x34]
mov ecx, dword [0x100d3124]
sbb ecx, dword [ebp - 0x30]
mov edx, dword [ebp - 0x68]
push edx
mov edx, dword [ebp - 0x6c]
push edx
push ecx
push eax
call fcn.100a25b0
mov esi, eax
mov edi, edx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov edx, dword [0x100d31a0]
mov ebx, dword [0x100d31a4]
push ecx
push eax
push ebx
push edx
call fcn.100a25b0
mov ecx, dword [0x100d31a8]
mov ebx, dword [0x100d31ac]
not ecx
not ebx
mov dword [ebp - 0x490], edi
mov edi, dword [0x100d3168]
sub edi, ecx
mov ecx, dword [0x100d316c]
sbb ecx, ebx
sub edi, eax
sbb ecx, edx
not edi
not ecx
sub edi, esi
mov esi, dword [ebp - 0x490]
sbb ecx, esi
mov dword [0x100d3138], edi
mov dword [0x100d313c], ecx
imul edx, dword [0x100d3134], 0x9e6d0a50
test edx, edx
jne 0x100611ed
mov dword [ebp - 0x1d0], 1
jmp 0x100611f7
mov dword [ebp - 0x1d0], 0
movzx eax, byte [ebp - 0x18]
add eax, dword [0x100d31b4]
mov ecx, eax
add ecx, dword [0x100d3120]
movsx eax, byte [ebp - 0x13]
sub eax, dword [ebp - 0x1d0]
cdq
sub eax, ecx
mov byte [ebp - 0x11], al
mov edx, 0xffffdcbc
mov word [0x100d31b0], dx
movzx eax, byte [0x100d304f]
sub eax, 0x28
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x494]
imul ecx, dword [ebp - 0x1d4]
add ecx, dword [ebp - 0x1d4]
mov edx, dword [ebp - 0x498]
sub edx, 0x15f
cmp edx, ecx
je 0x10061c9a
mov dword [ebp - 4], 8
xor eax, eax
mov dword [0x100d3168], 2
mov dword [0x100d316c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x86c], edx
add ecx, 0xd80e8a75
mov word [0x100d3178], cx
mov eax, dword [0x100d311c]
cdq
add eax, dword [ebp - 0x78]
movsx ecx, byte [ebp - 0x13]
movsx edx, byte [0x100d304e]
sub edx, 0x57e3e586
sub edx, ecx
add edx, eax
mov dword [0x100d3140], edx
movzx eax, word [0x100d315c]
cdq
push edx
push eax
mov eax, dword [0x100d3154]
push eax
mov ecx, dword [0x100d3150]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x5c4], eax
mov dword [ebp - 0x5c0], edx
mov edx, dword [ebp - 0x5c4]
or edx, dword [ebp - 0x5c0]
jne 0x100612f1
mov dword [ebp - 0x1d8], 1
jmp 0x100612fb
mov dword [ebp - 0x1d8], 0
imul eax, dword [ebp - 0x40], 0xca
imul eax, dword [ebp - 0x1d8]
not eax
mov byte [ebp - 0x18], al
movsx ecx, byte [0x100d3026]
movzx edx, byte [ebp - 0x12]
imul edx, ecx
movzx eax, byte [ebp - 0x12]
sub eax, edx
mov byte [ebp - 0x12], al
movzx eax, byte [ebp - 0x18]
cdq
push 0xda7d7
push 0x4848d3a5
push edx
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0xec], edx
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xec]
or ecx, dword [ebp - 0xe8]
je 0x100613a1
cmp dword [ebp - 0xec], 1
jne 0x10061386
cmp dword [ebp - 0xe8], 0
je 0x10061423
cmp dword [ebp - 0xec], 2
jne 0x1006139c
cmp dword [ebp - 0xe8], 0
je 0x10061584
jmp 0x100615e0
movsx eax, word [ebp - 0x20]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
add ecx, eax
adc esi, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], esi
mov edx, dword [0x100d3184]
mov eax, dword [ebp - 0x34]
sub eax, dword [0x100d3180]
mov ecx, dword [ebp - 0x30]
sbb ecx, edx
push ecx
push eax
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.100a25b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov cx, word [0x100d3c78]
mov word [ebp - 0x2c], cx
mov edx, dword [0x100d3168]
add edx, 0xec6
mov word [0x100d31b0], dx
jmp 0x100615e0
movzx eax, word [ebp - 0x28]
cdq
sub eax, 0x5d4befcb
mov byte [ebp - 0x12], al
xor eax, eax
mov ecx, dword [0x100d3188]
sub ecx, dword [0x100d3170]
mov edx, dword [0x100d318c]
sbb edx, eax
xor ecx, dword [0x100d3188]
xor edx, dword [0x100d318c]
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
movsx eax, byte [ebp - 0x11]
test eax, eax
jne 0x10061472
mov dword [ebp - 0x1dc], 1
jmp 0x1006147c
mov dword [ebp - 0x1dc], 0
mov ecx, dword [ebp - 0x1dc]
mov dword [0x100d3158], ecx
movsx eax, byte [0x100d304e]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [0x100d304e]
cdq
add eax, ecx
mov byte [0x100d304e], al
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
sub edx, dword [ebp - 0x6c]
sbb eax, dword [ebp - 0x68]
mov dword [ebp - 0x5cc], edx
mov dword [ebp - 0x5c8], eax
mov ecx, dword [ebp - 0x5cc]
or ecx, dword [ebp - 0x5c8]
jne 0x100614ef
xor edx, edx
mov dword [ebp - 0x3b4], 1
mov dword [ebp - 0x3b0], edx
jmp 0x100614fa
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b4], xmm0
movsx eax, word [0x100d3128]
test eax, eax
jne 0x10061511
mov dword [ebp - 0x1e0], 1
jmp 0x1006151b
mov dword [ebp - 0x1e0], 0
movzx ecx, byte [0x100d304f]
mov eax, ecx
imul eax, dword [ebp - 0x1e0]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x17]
cdq
add eax, dword [0x100d3138]
adc edx, dword [0x100d313c]
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov esi, eax
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
sub edx, 0xe0a77549
sbb eax, 0x2d6ce
not edx
not eax
mov ecx, dword [ebp - 0x3b0]
push ecx
mov ecx, dword [ebp - 0x3b4]
push ecx
push eax
push edx
call fcn.100a25b0
sub eax, esi
not eax
mov dword [ebp - 0x70], eax
jmp 0x100615e0
movzx edx, word [ebp - 0x24]
imul edx, dword [ebp - 0x5c]
mov word [ebp - 0x24], dx
movsx eax, byte [ebp - 0x13]
sub eax, 0xab0ff31
mov dword [ebp - 0x70], eax
movzx eax, byte [0x100d304f]
cdq
push 0xfe541
push 0x6e90cfb9
push edx
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
movsx edx, word [ebp - 0x2c]
mov eax, dword [ebp - 0x48]
sub eax, edx
mov dword [ebp - 0x48], eax
mov ecx, dword [ebp - 0x78]
add ecx, 0x3afc5066
mov dword [0x100d3174], ecx
jmp 0x1006168b
mov dword [ebp - 4], 0xffffffff
jmp 0x1006169b
mov dword [0x100d3140], 4
imul edx, dword [ebp - 0x44], 0x4b
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov edx, dword [0x100d3174]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov ecx, dword [0x100d3174]
sub ecx, eax
mov dword [0x100d3174], ecx
push 0
push 0xb7
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d31b0]
cdq
sub eax, ecx
mov word [0x100d31b0], ax
movzx edx, byte [ebp - 0x15]
imul eax, edx, 0xd3
mov byte [ebp - 0x18], al
mov ecx, dword [0x100d3140]
mov dword [ebp - 0x1e4], ecx
cmp dword [ebp - 0x1e4], 4
ja case.default.0x10061723
mov edx, dword [ebp - 0x1e4]
jmp dword [edx*4 + 0x10065b24]
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x870], edx
movzx eax, byte [ebp - 0x18]
cdq
xor eax, ecx
mov byte [ebp - 0x18], al
movzx eax, word [ebp - 0x28]
imul ecx, eax, 0xd4
movsx edx, byte [0x100d304e]
add edx, ecx
mov byte [0x100d304e], dl
xor eax, eax
mov dword [ebp - 0x64], 0xa4
mov dword [ebp - 0x60], eax
movzx cx, byte [ebp - 0x18]
mov word [ebp - 0x24], cx
movzx edx, word [ebp - 0x24]
add edx, dword [0x100d3134]
movzx eax, word [ebp - 0x24]
imul eax, edx
mov word [ebp - 0x24], ax
jmp case.default.0x10061723
movsx ecx, word [ebp - 0x20]
movsx edx, byte [ebp - 0x13]
imul edx, ecx
mov byte [ebp - 0x13], dl
movzx eax, word [ebp - 0x24]
mov ecx, dword [0x100d311c]
add ecx, eax
mov edx, dword [0x100d311c]
add edx, ecx
mov dword [0x100d311c], edx
mov eax, dword [0x100d311c]
cdq
add eax, 0x83594836
mov word [ebp - 0x2c], ax
mov eax, dword [0x100d3134]
sub eax, 0x19
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
movsx eax, word [ebp - 0x2c]
shl eax, 8
mov word [ebp - 0x24], ax
jmp case.default.0x10061723
movzx ecx, word [ebp - 0x1c]
sub ecx, dword [0x100d311c]
movzx edx, word [ebp - 0x1c]
add edx, ecx
mov word [ebp - 0x1c], dx
mov eax, dword [0x100d3148]
sub eax, 0xa54e62b9
mov byte [ebp - 0x14], al
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10061819
mov dword [ebp - 0x1e8], 1
jmp 0x10061823
mov dword [ebp - 0x1e8], 0
movsx edx, byte [ebp - 0x14]
mov eax, edx
imul eax, dword [ebp - 0x1e8]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
not ecx
not esi
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov word [0x100d312c], ax
push 0
push 0x9407
mov edx, dword [ebp - 0x68]
push edx
mov eax, dword [ebp - 0x6c]
push eax
call fcn.100a25b0
add eax, dword [0x100d3120]
adc edx, dword [0x100d3124]
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movzx ecx, byte [ebp - 0x12]
sub ecx, 0x8b
mov edx, dword [ebp - 0x5c]
sub edx, ecx
mov dword [ebp - 0x5c], edx
jmp case.default.0x10061723
movzx eax, byte [ebp - 0x17]
sub eax, 0x3477251d
mov dword [ebp - 0x5c], eax
movzx ecx, word [ebp - 0x24]
movzx edx, word [ebp - 0x28]
imul edx, ecx
movzx eax, word [ebp - 0x28]
add eax, edx
mov word [ebp - 0x28], ax
movzx ecx, byte [0x100d3027]
add ecx, 0x33
mov byte [ebp - 0x16], cl
mov dx, word [ebp - 0x24]
mov word [0x100d3130], dx
movsx eax, word [ebp - 0x20]
movzx ecx, word [0x100d315c]
add ecx, eax
movzx edx, word [0x100d315c]
add edx, ecx
mov word [0x100d315c], dx
movzx eax, byte [0x100d3063]
cdq
add eax, 0x59e8dfa2
adc edx, 0x8bb3b
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
jmp case.default.0x10061723
movsx eax, byte [ebp - 0x13]
imul eax, eax, 0x7846107d
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x30]
jne 0x10061938
xor edx, edx
mov dword [ebp - 0x3bc], 1
mov dword [ebp - 0x3b8], edx
jmp 0x10061943
xorps xmm0, xmm0
movlpd qword [ebp - 0x3bc], xmm0
mov eax, 0xa6
sub eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
or edx, dword [ebp - 0x3bc]
or esi, dword [ebp - 0x3b8]
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov ecx, eax
movzx edx, byte [ebp - 0x12]
movzx eax, byte [0x100d3027]
imul eax, edx
cdq
sub eax, ecx
mov word [ebp - 0x28], ax
mov eax, dword [0x100d3160]
and eax, 0x67
mov byte [0x100d3063], al
mov eax, dword [0x100d3150]
mov edx, dword [0x100d3154]
mov cl, 1
call fcn.100a26c0
mov word [0x100d315c], ax
mov ecx, dword [0x100d3170]
xor ecx, dword [0x100d3170]
mov edx, dword [0x100d3170]
sub edx, ecx
mov dword [0x100d3170], edx
call fcn.100488a0
movzx eax, al
test eax, eax
jne 0x10061c9a
jmp 0x100619ea
jmp 0x10061a01
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x5d4], ecx
mov dword [ebp - 0x5d0], edx
mov eax, dword [ebp - 0x5d0]
cmp eax, dword [0x100d314c]
ja 0x10061c20
jb 0x10061a3f
mov ecx, dword [ebp - 0x5d4]
cmp ecx, dword [0x100d3148]
ja 0x10061c20
call dword [sym.imp.USER32.dll_GetDesktopWindow]
xor edx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x5dc], eax
mov dword [ebp - 0x5d8], edx
mov eax, dword [ebp - 0x78]
cmp eax, dword [ebp - 0x5dc]
jne 0x10061a80
mov ecx, dword [ebp - 0x74]
cmp ecx, dword [ebp - 0x5d8]
jne 0x10061a80
mov dword [ebp - 0x1ec], 1
jmp 0x10061a8a
mov dword [ebp - 0x1ec], 0
mov edx, dword [ebp - 0x1ec]
cmp edx, dword [0x100d3174]
jae 0x10061aa7
movsx eax, byte [ebp - 0x16]
mov ecx, dword [ebp - 0x70]
add ecx, eax
je 0x10061c1e
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
xor edx, edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
cmp dword [ebp - 0x30], 0
ja 0x10061acf
jb 0x10061ac3
cmp dword [ebp - 0x34], 0
jae 0x10061acf
mov dword [ebp - 0x1f0], 1
jmp 0x10061ad9
mov dword [ebp - 0x1f0], 0
cmp dword [ebp - 0x30], 0
ja 0x10061af3
jb 0x10061ae7
cmp dword [ebp - 0x34], 0xf
jae 0x10061af3
mov dword [ebp - 0x1f4], 1
jmp 0x10061afd
mov dword [ebp - 0x1f4], 0
mov eax, dword [ebp - 0x1f0]
cmp eax, dword [ebp - 0x1f4]
jg 0x10061b6f
mov ecx, dword [str.NoCertCheck]
mov dword [ebp - 0x7cc], ecx
mov edx, dword [0x100af300]
mov dword [ebp - 0x7c8], edx
mov eax, dword [0x100af304]
mov dword [ebp - 0x7c4], eax
mov ecx, dword [0x100af308]
mov dword [ebp - 0x7c0], ecx
mov edx, dword [0x100af30c]
mov dword [ebp - 0x7bc], edx
mov eax, dword [0x100af310]
mov dword [ebp - 0x7b8], eax
lea ecx, [ebp - 0x7cc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
jmp 0x10061c1e
movsx edx, byte [ebp - 0x14]
sub edx, 0xd
mov byte [0x100d304f], dl
mov eax, dword [0x100d3168]
sub eax, dword [0x100d3148]
mov ecx, dword [0x100d316c]
sbb ecx, dword [0x100d314c]
add eax, dword [0x100d3168]
adc ecx, dword [0x100d316c]
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
mov eax, dword [0x100d311c]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
mov eax, dword [0x100d311c]
cdq
push ebx
push edi
push edx
push eax
call fcn.100a25b0
mov dword [0x100d311c], eax
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x874], eax
mov dword [ebp - 0x5c], edx
movsx ecx, word [0x100d3130]
test ecx, ecx
je 0x10061c07
mov dx, word [0x100d3178]
mov word [ebp - 0x8a], dx
jmp 0x10061c12
mov ax, word [ebp - 0x28]
mov word [ebp - 0x8a], ax
mov cl, byte [ebp - 0x8a]
mov byte [0x100d3026], cl
jmp 0x10061c90
movsx edx, byte [ebp - 0x14]
not edx
movzx eax, byte [0x100d3027]
cmp eax, edx
jl 0x10061c90
mov ecx, dword [ebp - 0x48]
sub ecx, dword [0x100d311c]
not ecx
xor ecx, dword [0x100d311c]
mov byte [0x100d3063], cl
movsx edx, word [ebp - 0x20]
sar edx, 8
mov word [ebp - 0x28], dx
movsx eax, byte [ebp - 0x13]
add eax, dword [0x100d3170]
mov dword [0x100d3170], eax
movsx ecx, word [0x100d31b0]
sar ecx, 5
mov dword [0x100d3170], ecx
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
movzx eax, word [ebp - 0x1c]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x1c], ax
mov eax, 1
jmp 0x10065aea
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5e4], edx
mov dword [ebp - 0x5e0], eax
mov ecx, dword [ebp - 0x30]
cmp ecx, dword [ebp - 0x5e0]
ja 0x10061cd0
jb 0x10061cc4
mov edx, dword [ebp - 0x34]
cmp edx, dword [ebp - 0x5e4]
ja 0x10061cd0
mov dword [ebp - 0x1f8], 1
jmp 0x10061cda
mov dword [ebp - 0x1f8], 0
cmp dword [ebp - 0x30], 0
ja 0x10061cf4
jb 0x10061ce8
cmp dword [ebp - 0x34], 0x5f
ja 0x10061cf4
mov dword [ebp - 0x1fc], 1
jmp 0x10061cfe
mov dword [ebp - 0x1fc], 0
mov eax, dword [ebp - 0x1f8]
cmp eax, dword [ebp - 0x1fc]
je 0x10061fdc
mov dword [ebp - 4], 0xa
movsx eax, byte [ebp - 0x14]
cdq
mov dword [ebp - 0x5ec], eax
mov dword [ebp - 0x5e8], edx
mov ecx, dword [ebp - 0x5ec]
cmp ecx, dword [ebp - 0x34]
jne 0x10061d4a
mov edx, dword [ebp - 0x5e8]
cmp edx, dword [ebp - 0x30]
jne 0x10061d4a
mov dword [ebp - 0x200], 1
jmp 0x10061d54
mov dword [ebp - 0x200], 0
movsx eax, byte [ebp - 0x14]
cmp eax, 0x4c
jne 0x10061d69
mov dword [ebp - 0x204], 1
jmp 0x10061d73
mov dword [ebp - 0x204], 0
mov ecx, dword [ebp - 0x200]
cmp ecx, dword [ebp - 0x204]
jle 0x10061ee0
movsx dx, byte [ebp - 0x11]
movzx eax, dx
push eax
movsx cx, byte [ebp - 0x16]
movzx edx, cx
push edx
push 0
push 0
call fcn.1005c780
add esp, 0x10
mov word [ebp - 0x96], ax
movsx eax, word [ebp - 0x96]
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov eax, dword [0x100d3150]
or eax, dword [0x100d3154]
jne 0x10061dd6
mov dword [ebp - 0x208], 1
jmp 0x10061de0
mov dword [ebp - 0x208], 0
cmp dword [0x100d3150], 0xd
jne 0x10061dfe
cmp dword [0x100d3154], 0
jne 0x10061dfe
mov dword [ebp - 0x20c], 1
jmp 0x10061e08
mov dword [ebp - 0x20c], 0
mov ecx, dword [ebp - 0x208]
cmp ecx, dword [ebp - 0x20c]
jne 0x10061edb
movzx eax, byte [ebp - 0x15]
sub eax, 0x22
cdq
add eax, dword [0x100d3160]
adc edx, dword [0x100d3164]
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
movzx edx, byte [ebp - 0x12]
test edx, edx
jne 0x10061e4d
mov dword [ebp - 0x210], 1
jmp 0x10061e57
mov dword [ebp - 0x210], 0
movzx eax, byte [ebp - 0x18]
movzx ecx, byte [ebp - 0x15]
imul ecx, eax
movsx edx, word [0x100d3130]
imul edx, ecx
test edx, edx
jne 0x10061e7c
mov dword [ebp - 0x214], 1
jmp 0x10061e86
mov dword [ebp - 0x214], 0
movsx eax, byte [0x100d3026]
mov ecx, dword [0x100d3144]
add ecx, dword [ebp - 0x210]
not ecx
add ecx, eax
sub ecx, dword [ebp - 0x214]
mov byte [ebp - 0x11], cl
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x878], edx
movzx eax, word [ebp - 0x1c]
cdq
mov esi, eax
xor esi, ecx
movzx eax, word [ebp - 0x1c]
cdq
sub eax, esi
mov word [ebp - 0x1c], ax
movzx eax, word [0x100d3178]
add eax, 0x73
mov dword [0x100d31b4], eax
jmp 0x10061f62
cmp dword [0x100d31b4], 0
je 0x10061f62
mov ecx, 1
imul edx, ecx, 0x73c
movzx eax, byte [edx + 0x101221e0]
movzx ecx, byte [0x100d3063]
add ecx, eax
mov byte [0x100d3063], cl
mov edx, 1
mov word [0x100d312c], dx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x87c], ecx
mov edx, dword [0x100d3144]
add edx, eax
mov eax, dword [0x100d3144]
sub eax, edx
mov dword [0x100d3144], eax
mov ecx, dword [0x100d3148]
sub ecx, 0x18
mov dword [0x100d3144], ecx
mov eax, dword [0x100d3168]
mov edx, dword [0x100d316c]
mov cl, 3
call fcn.100a25f0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
jmp 0x10061fcc
mov dword [ebp - 4], 0xffffffff
jmp 0x10061fdc
mov ecx, dword [ebp - 0x21c]
and ecx, 0x213
imul edx, ecx, 0x25f
mov eax, dword [ebp - 0x218]
sub eax, dword [ebp - 0x218]
add eax, dword [ebp - 0x21c]
cmp eax, edx
je 0x10063274
movsx eax, word [0x100d31b0]
cdq
push edx
push eax
call fcn.100597c0
add esp, 8
mov word [0x100d312c], ax
movzx ecx, word [0x100d315c]
cmp ecx, dword [0x100d3190]
jge 0x1006203b
mov dword [ebp - 0x220], 1
jmp 0x10062045
mov dword [ebp - 0x220], 0
mov edx, dword [0x100d316c]
cmp edx, dword [ebp - 0x30]
jb 0x10062068
ja 0x1006205c
mov eax, dword [0x100d3168]
cmp eax, dword [ebp - 0x34]
jbe 0x10062068
mov dword [ebp - 0x224], 1
jmp 0x10062072
mov dword [ebp - 0x224], 0
mov ecx, dword [ebp - 0x220]
cmp ecx, dword [ebp - 0x224]
jne 0x100620f2
movsx eax, byte [ebp - 0x13]
cdq
mov dword [ebp - 0x5f4], eax
mov dword [ebp - 0x5f0], edx
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0x5f4]
jne 0x100620f0
mov eax, dword [ebp - 0x4c]
cmp eax, dword [ebp - 0x5f0]
jne 0x100620f0
movsx ecx, word [0x100d3128]
sub ecx, 0x1200ebe9
sub ecx, dword [ebp - 0x40]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x70]
add edx, 1
mov dword [ebp - 0x70], edx
mov eax, dword [0x100d3170]
xor ecx, ecx
push ecx
push eax
mov edx, dword [ebp - 0x30]
push edx
mov eax, dword [ebp - 0x34]
push eax
call fcn.100a25b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx ecx, byte [ebp - 0x11]
mov edx, dword [0x100d3170]
sub edx, ecx
not edx
mov dword [ebp - 0x40], edx
jmp 0x10062158
movzx eax, byte [ebp - 0x17]
test eax, eax
je 0x10062158
imul ecx, dword [0x100d3140], 0x236a64ee
xor edx, edx
mov dword [0x100d3198], ecx
mov dword [0x100d319c], edx
imul eax, dword [0x100d3144], 0xe960
movzx ecx, word [0x100d315c]
add ecx, eax
mov word [0x100d315c], cx
movzx eax, word [ebp - 0x1c]
cdq
mov ecx, 8
imul ecx, ecx, 0xf
mov dword [ecx + 0x100fac18], eax
mov dword [ecx + 0x100fac1c], edx
mov dword [ebp - 0x44], 0xf2610e41
mov dl, byte [0x100d3c78]
mov byte [0x100d3026], dl
movsx eax, word [0x100d3130]
imul eax, eax, 0x67ec
cdq
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
xor ecx, ecx
mov dword [ebp - 0x78], 0x3ac7ba6
mov dword [ebp - 0x74], ecx
mov edx, 1
imul eax, edx, 0x4483
movzx ecx, byte [eax + 0x10286f98]
movzx edx, byte [0x100d304f]
add edx, ecx
mov byte [0x100d304f], dl
movsx eax, word [ebp - 0x2c]
cdq
xor eax, 0xeea0a5ac
xor edx, 0xd2926
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
movsx eax, byte [ebp - 0x16]
mov ecx, 4
imul edx, ecx, 0x779b
imul eax, dword [edx + 0x101f5ea8]
mov byte [ebp - 0x16], al
call fcn.1001aec0
movzx eax, al
test eax, eax
jne 0x10063274
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x100621f6
mov dword [ebp - 0x228], 1
jmp 0x10062200
mov dword [ebp - 0x228], 0
movzx edx, byte [ebp - 0x12]
cmp dword [ebp - 0x228], edx
jle 0x10062218
mov dword [ebp - 0x22c], 1
jmp 0x10062222
mov dword [ebp - 0x22c], 0
movzx eax, byte [ebp - 0x15]
cmp dword [ebp - 0x22c], eax
jg 0x10062433
movzx ecx, byte [ebp - 0x12]
cmp ecx, dword [0x100d3174]
jb 0x1006235f
mov edx, dword [0x100d3148]
mov dword [0x100d311c], edx
movzx eax, word [ebp - 0x28]
test eax, eax
je 0x10062265
movsx ecx, word [0x100d31b0]
mov dword [ebp - 0x230], ecx
jmp 0x10062271
mov edx, dword [0x100d31b4]
mov dword [ebp - 0x230], edx
mov eax, dword [ebp - 0x230]
mov dword [ebp - 0x44], eax
mov cl, byte [ebp - 0x44]
mov byte [0x100d3026], cl
movzx edx, byte [0x100d3027]
test edx, edx
jne 0x1006229a
mov dword [ebp - 0x234], 1
jmp 0x100622a4
mov dword [ebp - 0x234], 0
movsx eax, byte [ebp - 0x11]
movzx ecx, word [0x100d3178]
sub ecx, eax
mov eax, ecx
cdq
xor ecx, ecx
mov esi, dword [0x100d3180]
mov edi, dword [0x100d3184]
add esi, dword [ebp - 0x5c]
adc edi, ecx
not esi
not edi
sub esi, eax
sbb edi, edx
mov eax, dword [ebp - 0x40]
sub eax, dword [ebp - 0x234]
cdq
mov ecx, eax
mov ebx, edx
movsx eax, word [0x100d312c]
cdq
add eax, dword [0x100d3150]
adc edx, dword [0x100d3154]
sub eax, ecx
sbb edx, ebx
sub eax, esi
sbb edx, edi
mov dword [ebp - 0x5fc], eax
mov dword [ebp - 0x5f8], edx
mov edx, dword [ebp - 0x5fc]
or edx, dword [ebp - 0x5f8]
jne 0x10062321
mov eax, 1
mov word [ebp - 0x8c], ax
jmp 0x1006232a
xor ecx, ecx
mov word [ebp - 0x8c], cx
mov dx, word [ebp - 0x8c]
mov word [0x100d31b0], dx
movsx eax, word [0x100d3128]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov edx, dword [ebp - 0x50]
sub edx, ecx
mov ecx, dword [ebp - 0x4c]
sbb ecx, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ecx
jmp 0x10062431
movsx edx, byte [0x100d3026]
cmp edx, dword [0x100d311c]
je 0x1006237a
mov dword [ebp - 0x238], 1
jmp 0x10062384
mov dword [ebp - 0x238], 0
mov eax, dword [ebp - 0x238]
not eax
test eax, eax
jne 0x1006239c
movzx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x10062431
mov edx, dword [ebp - 0x48]
sub edx, 0x3278
mov byte [ebp - 0x16], dl
movzx eax, word [ebp - 0x1c]
mov ecx, dword [ebp - 0x70]
xor ecx, eax
mov word [0x100d312c], cx
movsx edx, word [0x100d31b0]
movsx eax, word [0x100d3130]
sub eax, edx
movsx ecx, word [0x100d3130]
xor ecx, eax
mov word [0x100d3130], cx
mov dl, byte [ebp - 0x14]
add dl, 1
mov byte [ebp - 0x14], dl
mov ax, word [0x100d3c78]
mov word [ebp - 0x20], ax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x604], ecx
mov dword [ebp - 0x600], edx
mov eax, dword [ebp - 0x604]
or eax, dword [ebp - 0x600]
je 0x1006241d
movzx ecx, byte [ebp - 0x17]
mov dword [ebp - 0x23c], ecx
jmp 0x10062426
mov edx, dword [ebp - 0x70]
mov dword [ebp - 0x23c], edx
mov ax, word [ebp - 0x23c]
mov word [ebp - 0x28], ax
jmp 0x100624a5
xor ecx, ecx
mov dword [ebp - 0x6c], 0x8bde5859
mov dword [ebp - 0x68], ecx
mov edx, dword [0x100d3140]
xor eax, eax
sub edx, 0xa57bb844
sbb eax, 0xd8623
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
mov dword [0x100d3144], 4
movsx ecx, word [0x100d3130]
add ecx, 0xc18a
mov edx, dword [0x100d31b4]
sub edx, ecx
mov dword [0x100d31b4], edx
mov eax, dword [0x100d31b4]
xor ecx, ecx
add eax, dword [ebp - 0x78]
adc ecx, dword [ebp - 0x74]
mov edx, dword [0x100d31b4]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov dword [0x100d31b4], eax
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x60c], eax
mov dword [ebp - 0x608], edx
mov eax, dword [0x100d316c]
cmp eax, dword [ebp - 0x608]
ja 0x1006253c
jb 0x100624d3
mov ecx, dword [0x100d3168]
cmp ecx, dword [ebp - 0x60c]
jae 0x1006253c
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
add ecx, eax
adc esi, edx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
add edx, ecx
adc eax, esi
mov dword [0x100d3180], edx
mov dword [0x100d3184], eax
mov byte [ebp - 0x12], 0x9a
movsx eax, byte [ebp - 0x16]
add eax, 0x94
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x880], edx
movzx eax, byte [ebp - 0x17]
cdq
xor eax, ecx
mov byte [ebp - 0x17], al
mov eax, dword [ebp - 0x50]
add eax, 0x9563ff34
mov byte [ebp - 0x14], al
jmp 0x100625d9
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x100625d9
movsx edx, byte [ebp - 0x13]
mov eax, dword [0x100d3144]
sub eax, edx
mov ecx, dword [0x100d3144]
imul ecx, eax
mov dword [0x100d3144], ecx
mov edx, 0x5c57
mov word [ebp - 0x24], dx
movzx eax, word [ebp - 0x24]
sub eax, 9
movzx ecx, byte [0x100d304f]
sub ecx, eax
mov byte [0x100d304f], cl
push 0
push 0xb6
mov edx, dword [0x100d3154]
push edx
mov eax, dword [0x100d3150]
push eax
call fcn.100a25b0
mov dword [0x100d3190], eax
cmp dword [ebp - 0x70], 0
je 0x100625b1
movsx ecx, byte [ebp - 0x14]
mov dword [ebp - 0x240], ecx
jmp 0x100625bd
mov edx, dword [0x100d3174]
mov dword [ebp - 0x240], edx
mov eax, dword [ebp - 0x240]
xor ecx, ecx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
movzx eax, word [ebp - 0x28]
sar eax, 2
cdq
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xd4], edx
mov dword [ebp - 0x94], 0
jmp 0x10062600
mov eax, dword [ebp - 0x94]
add eax, 1
mov dword [ebp - 0x94], eax
cmp dword [ebp - 0x94], 0xea
jge 0x1006266e
movsx eax, word [ebp - 0x2c]
cdq
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov ecx, dword [ebp - 0x48]
not ecx
imul ecx, dword [ebp - 0x70]
not ecx
add ecx, 0x23
mov dword [ebp - 0x44], ecx
movsx edx, word [ebp - 0x2c]
sub edx, 0x14f4fede
mov byte [ebp - 0x15], dl
mov eax, dword [0x100d3148]
sub eax, 1
mov ecx, dword [0x100d314c]
sbb ecx, 0
mov dword [0x100d3148], eax
mov dword [0x100d314c], ecx
mov dx, word [0x100d3c78]
mov word [0x100d315c], dx
mov al, byte [ebp - 0x14]
add al, 1
mov byte [ebp - 0x14], al
jmp 0x100625f1
mov ecx, dword [ebp - 0xd4]
add ecx, 0x516
mov dword [ebp - 0x884], ecx
cmp dword [ebp - 0x5c], 0
je 0x100626d4
movsx eax, byte [0x100d3026]
cdq
add eax, 0xecff23b
mov byte [ebp - 0x17], al
movzx edx, word [0x100d3178]
shl edx, 8
mov word [ebp - 0x1c], dx
movzx eax, byte [ebp - 0x12]
mov dword [0x100d3190], eax
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0xea64cc69
mov byte [ebp - 0x13], dl
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x888], ecx
add eax, 0xd7b520ad
mov word [ebp - 0x2c], ax
jmp 0x100627a6
mov edx, dword [0x100d3144]
cmp dword [ebp - 0x44], edx
ja 0x100626eb
mov dword [ebp - 0x244], 1
jmp 0x100626f5
mov dword [ebp - 0x244], 0
cmp dword [ebp - 0x244], 0
jne 0x1006270a
mov dword [ebp - 0x248], 1
jmp 0x10062714
mov dword [ebp - 0x248], 0
mov eax, dword [ebp - 0x248]
not eax
test eax, eax
je 0x100627a6
movzx ecx, byte [0x100d3027]
sub ecx, 0x53d997e6
imul ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], ecx
mov edx, dword [0x100d3170]
xor eax, eax
push eax
push edx
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 0x14]
cdq
and eax, ecx
mov word [0x100d312c], ax
movzx eax, word [0x100d315c]
and eax, 0xaf
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
xor edx, edx
mov dword [ebp - 0x3c], 0x23d3
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x70]
xor ecx, ecx
push 0x4572f
push 0xf28012d7
push ecx
push eax
call fcn.100a25b0
mov edx, dword [ebp - 0x48]
sub edx, eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0xd4]
add eax, 0x572
mov dword [ebp - 0x49c], eax
movsx eax, word [0x100d3130]
cdq
mov dword [ebp - 0x614], eax
mov dword [ebp - 0x610], edx
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x614]
jne 0x100627e1
mov edx, dword [ebp - 0x68]
cmp edx, dword [ebp - 0x610]
je 0x100627ed
mov dword [ebp - 0x24c], 1
jmp 0x100627f7
mov dword [ebp - 0x24c], 0
cmp dword [ebp - 0x6c], 0x54
jne 0x10062803
cmp dword [ebp - 0x68], 0
je 0x1006280f
mov dword [ebp - 0x250], 1
jmp 0x10062819
mov dword [ebp - 0x250], 0
mov eax, dword [ebp - 0x24c]
cmp eax, dword [ebp - 0x250]
jl 0x10062d61
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x61c], eax
mov dword [ebp - 0x618], edx
mov ecx, dword [ebp - 0x4c]
cmp ecx, dword [ebp - 0x618]
ja 0x10062860
jb 0x10062854
mov edx, dword [ebp - 0x50]
cmp edx, dword [ebp - 0x61c]
ja 0x10062860
mov dword [ebp - 0x254], 1
jmp 0x1006286a
mov dword [ebp - 0x254], 0
cmp dword [ebp - 0x4c], 0
ja 0x10062884
jb 0x10062878
cmp dword [ebp - 0x50], 0x3f
ja 0x10062884
mov dword [ebp - 0x258], 1
jmp 0x1006288e
mov dword [ebp - 0x258], 0
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x258]
jg 0x10062cc0
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
mov eax, dword [ebp - 0x40]
cdq
mov dword [ebp - 0x624], eax
mov dword [ebp - 0x620], edx
mov dword [ebp - 0x62c], ecx
mov dword [ebp - 0x628], esi
mov edx, dword [ebp - 0x620]
cmp edx, dword [ebp - 0x628]
jg 0x10062bab
jl 0x100628ee
mov eax, dword [ebp - 0x624]
cmp eax, dword [ebp - 0x62c]
jae 0x10062bab
mov ecx, dword [0x100d3148]
not ecx
mov edx, dword [0x100d314c]
not edx
mov dword [ebp - 0x634], ecx
mov dword [ebp - 0x630], edx
mov eax, dword [ebp - 0x634]
or eax, dword [ebp - 0x630]
je 0x100629a1
mov ecx, dword [0x100d3140]
sub ecx, 0x7f
mov dword [0x100d311c], ecx
mov eax, dword [ebp - 0x40]
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, dword [ebp - 0x58]
mov ebx, dword [ebp - 0x54]
push edx
push eax
push ebx
push ecx
call fcn.100a25b0
sub eax, esi
sbb edx, edi
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov edx, dword [0x100d3134]
sub edx, 0xfdac
mov word [ebp - 0x20], dx
mov eax, dword [0x100d311c]
cdq
push 0xeb2c6
push 0xe7ef348b
push edx
push eax
call fcn.100a25b0
mov word [0x100d31b0], ax
movzx eax, word [ebp - 0x28]
imul ecx, eax, 0xa0
mov byte [ebp - 0x12], cl
mov dl, byte [0x100d3c78]
mov byte [0x100d3063], dl
jmp 0x10062ba6
movzx eax, word [ebp - 0x28]
test eax, eax
jne 0x100629b3
cmp dword [ebp - 0x5c], 0
je 0x10062a70
mov ecx, dword [ebp - 0x70]
xor edx, edx
push 0xf9f32
push 0xfeb08cca
push edx
push ecx
call fcn.100a25b0
mov dword [0x100d3158], eax
mov eax, dword [0x100d3148]
xor eax, dword [ebp - 0x78]
mov ecx, dword [0x100d314c]
xor ecx, dword [ebp - 0x74]
mov dword [0x100d3148], eax
mov dword [0x100d314c], ecx
movsx eax, byte [0x100d3026]
cdq
mov ecx, dword [ebp - 0x4c]
push ecx
mov ecx, dword [ebp - 0x50]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [0x100d3026]
cdq
add eax, ecx
mov byte [0x100d3026], al
mov eax, dword [0x100d3190]
add eax, 0x74
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
movsx edx, byte [ebp - 0x13]
test edx, edx
je 0x10062a48
mov eax, dword [0x100d3174]
xor ecx, ecx
mov dword [ebp - 0x3c4], eax
mov dword [ebp - 0x3c0], ecx
jmp 0x10062a5f
mov edx, dword [0x100d3150]
mov eax, dword [0x100d3154]
mov dword [ebp - 0x3c4], edx
mov dword [ebp - 0x3c0], eax
mov ecx, dword [ebp - 0x3c4]
mov dword [0x100d31b4], ecx
jmp 0x10062ba6
movzx edx, word [ebp - 0x1c]
test edx, edx
jne 0x10062ae9
movsx eax, word [ebp - 0x20]
cdq
add eax, 0x8a76ac8b
mov word [ebp - 0x1c], ax
mov byte [ebp - 0x12], 0xb5
movsx ecx, word [ebp - 0x20]
imul ecx, dword [0x100d3158]
mov ax, word [ebp - 0x20]
shl ax, cl
mov word [ebp - 0x20], ax
movsx ecx, word [0x100d3130]
test ecx, ecx
je 0x10062ac4
mov edx, dword [0x100d3120]
mov eax, dword [0x100d3124]
mov dword [ebp - 0x3cc], edx
mov dword [ebp - 0x3c8], eax
jmp 0x10062ad8
movsx eax, byte [0x100d304e]
cdq
mov dword [ebp - 0x3cc], eax
mov dword [ebp - 0x3c8], edx
mov cl, byte [ebp - 0x3cc]
mov byte [0x100d3026], cl
jmp 0x10062ba6
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x63c], edx
mov dword [ebp - 0x638], eax
mov ecx, dword [ebp - 0x63c]
or ecx, dword [ebp - 0x638]
je 0x10062ba6
movsx edx, byte [ebp - 0x11]
not edx
test edx, edx
je 0x10062ba6
movzx eax, byte [ebp - 0x12]
movzx ecx, byte [ebp - 0x18]
sub ecx, eax
movzx edx, byte [ebp - 0x18]
add edx, ecx
mov byte [ebp - 0x18], dl
mov eax, dword [0x100d3158]
sub eax, 0x1161
mov dword [0x100d3158], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x88c], edx
mov word [ebp - 0x20], cx
movzx eax, byte [0x100d3063]
mov esi, dword [ebp - 0x70]
sub esi, eax
xor edi, edi
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x3c]
mov ebx, dword [ebp - 0x38]
push edx
push eax
push ebx
push ecx
call fcn.100a25b0
mov ecx, eax
mov ebx, edx
xor ecx, esi
xor ebx, edi
movzx eax, word [0x100d3178]
cdq
push ebx
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x17], al
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x890], eax
add edx, 0x673f
mov byte [ebp - 0x15], dl
jmp 0x10062cbb
movzx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x10062bc7
xor edx, edx
mov dword [ebp - 0x3d4], 1
mov dword [ebp - 0x3d0], edx
jmp 0x10062bd2
xorps xmm0, xmm0
movlpd qword [ebp - 0x3d4], xmm0
mov eax, dword [ebp - 0x3d0]
cmp eax, dword [ebp - 0x30]
jb 0x10062cbb
ja 0x10062bf2
mov ecx, dword [ebp - 0x3d4]
cmp ecx, dword [ebp - 0x34]
jbe 0x10062cbb
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100d3138]
sub ecx, eax
mov eax, dword [0x100d313c]
sbb eax, edx
mov dword [ebp - 0x644], ecx
mov dword [ebp - 0x640], eax
mov ecx, dword [ebp - 0x644]
or ecx, dword [ebp - 0x640]
jne 0x10062c2b
mov edx, 1
mov word [ebp - 0x7e], dx
jmp 0x10062c31
xor eax, eax
mov word [ebp - 0x7e], ax
mov cx, word [ebp - 0x7e]
mov word [ebp - 0x28], cx
mov ecx, dword [ebp - 0x50]
add ecx, 0xc0
movsx eax, byte [ebp - 0x11]
cdq
add eax, ecx
mov byte [ebp - 0x11], al
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [0x100d3124]
push ecx
mov ecx, dword [0x100d3120]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov eax, dword [0x100d3134]
cdq
add eax, ecx
mov dword [0x100d3134], eax
mov edx, dword [ebp - 0x78]
sub edx, 0x4d58a1cb
mov byte [0x100d3026], dl
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, 8
imul ecx, ecx, 0x9a
mov dword [ecx + 0x10337458], eax
mov dword [ecx + 0x1033745c], edx
movzx edx, byte [ebp - 0x15]
sub edx, 0xe5
movsx eax, word [0x100d3130]
imul eax, edx
mov word [0x100d3130], ax
jmp 0x10062d5c
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
movsx eax, word [ebp - 0x2c]
not eax
cdq
mov dword [ebp - 0x64c], eax
mov dword [ebp - 0x648], edx
mov dword [ebp - 0x654], ecx
mov dword [ebp - 0x650], esi
mov edx, dword [ebp - 0x648]
cmp edx, dword [ebp - 0x650]
jg 0x10062d5c
jl 0x10062d03
mov eax, dword [ebp - 0x64c]
cmp eax, dword [ebp - 0x654]
jae 0x10062d5c
imul ecx, dword [ebp - 0x40], 0x5732a67
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x894], ecx
add eax, 0xc920904a
mov dword [0x100d3170], eax
mov dx, word [ebp - 0x20]
sub dx, 1
mov word [ebp - 0x20], dx
movzx eax, byte [0x100d3027]
shl eax, 1
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, byte [0x100d304f]
movzx ecx, word [ebp - 0x24]
add ecx, eax
movzx edx, word [ebp - 0x24]
imul edx, ecx
mov word [ebp - 0x24], dx
jmp 0x10062f43
mov eax, dword [0x100d3148]
or eax, dword [0x100d314c]
je 0x10062dcd
mov cx, word [0x100d3128]
add cx, 1
mov word [0x100d3128], cx
mov edx, dword [0x100d3158]
xor eax, eax
xor edx, dword [ebp - 0x34]
xor eax, dword [ebp - 0x30]
push eax
push edx
mov ecx, dword [ebp - 0x30]
push ecx
mov edx, dword [ebp - 0x34]
push edx
call fcn.100a25b0
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], esi
movsx edx, word [0x100d312c]
and edx, 0xd3
mov byte [ebp - 0x13], dl
jmp 0x10062f43
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x65c], eax
mov dword [ebp - 0x658], ecx
mov edx, dword [ebp - 0x65c]
cmp edx, dword [ebp - 0x78]
jne 0x10062df9
mov eax, dword [ebp - 0x658]
cmp eax, dword [ebp - 0x74]
je 0x10062ea9
push 0x70e6d
push 0x9fbda944
mov ecx, dword [0x100d314c]
push ecx
mov edx, dword [0x100d3148]
push edx
call fcn.100a25b0
mov byte [0x100d304f], al
push 0x16a5f
push 0xb891b524
mov eax, dword [0x100d316c]
push eax
mov ecx, dword [0x100d3168]
push ecx
call fcn.100a25b0
mov byte [ebp - 0x14], al
movzx eax, byte [0x100d3027]
cdq
mov ecx, eax
sub ecx, 0x95d90df7
movzx eax, word [ebp - 0x1c]
cdq
add eax, ecx
mov word [ebp - 0x1c], ax
xor edx, edx
mov dword [ebp - 0x58], 2
mov dword [ebp - 0x54], edx
movsx eax, byte [0x100d3026]
movsx ecx, word [ebp - 0x2c]
not ecx
xor eax, ecx
cdq
mov esi, eax
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
mov ecx, dword [0x100d313c]
push ecx
mov edx, dword [0x100d3138]
push edx
call fcn.100a25b0
add eax, esi
mov dword [0x100d3140], eax
mov eax, dword [0x100d3138]
add eax, 0x2ebe
mov dword [0x100d311c], eax
jmp 0x10062f43
movzx ecx, word [ebp - 0x24]
test ecx, ecx
je 0x10062f43
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x664], edx
mov dword [ebp - 0x660], eax
mov ecx, dword [ebp - 0x664]
or ecx, dword [ebp - 0x660]
je 0x10062ef3
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x340], eax
jmp 0x10062f05
mov ecx, dword [ebp - 0x50]
mov edx, dword [ebp - 0x4c]
mov dword [ebp - 0x344], ecx
mov dword [ebp - 0x340], edx
mov eax, dword [ebp - 0x344]
mov ecx, dword [ebp - 0x340]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x44]
sar edx, 5
mov dword [0x100d3134], edx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x70]
add ecx, 0x1935c5dd
mov dword [ebp - 0x40], ecx
mov edx, dword [0x100d3c78]
mov dword [0x100d3134], edx
mov eax, dword [ebp - 0xd4]
add eax, 0x7e6
mov dword [ebp - 0x4a0], eax
mov ecx, dword [0x100d3148]
or ecx, dword [0x100d314c]
je 0x10062f6d
mov edx, dword [ebp - 0x48]
mov dword [ebp - 0x25c], edx
jmp 0x10062f7a
movsx eax, word [0x100d3128]
mov dword [ebp - 0x25c], eax
mov cx, word [ebp - 0x25c]
mov word [0x100d3178], cx
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
movsx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x20], ax
mov edx, 0xffff85d1
mov word [0x100d3130], dx
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x898], ecx
sub eax, 0x97
mov byte [ebp - 0x14], al
movsx edx, byte [ebp - 0x16]
movsx eax, word [0x100d312c]
sub eax, edx
mov word [0x100d312c], ax
movsx eax, byte [ebp - 0x16]
add eax, 0x3f5d903c
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov ecx, dword [ebp - 0x49c]
xor ecx, dword [ebp - 0x4a0]
cmp ecx, 0x3c5
je 0x10063274
mov edx, dword [0x100d3188]
push edx
push 0x7f
mov eax, dword [0x100d311c]
push eax
movsx ecx, word [0x100d3130]
push ecx
movsx edx, byte [ebp - 0x13]
push edx
push 0xf4
call fcn.1005c200
add esp, 0x18
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov eax, dword [0x100d3168]
or eax, dword [0x100d316c]
je 0x10063157
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x66c], ecx
mov dword [ebp - 0x668], edx
mov eax, dword [ebp - 0x66c]
or eax, dword [ebp - 0x668]
je 0x10063072
movzx ecx, word [ebp - 0x28]
mov dword [ebp - 0x260], ecx
jmp 0x1006307c
movsx edx, byte [ebp - 0x13]
mov dword [ebp - 0x260], edx
mov al, byte [ebp - 0x260]
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x89c], edx
and ecx, 0xc035d2b0
movsx eax, word [0x100d3130]
cdq
sub eax, ecx
mov word [0x100d3130], ax
movzx eax, byte [ebp - 0x15]
test eax, eax
jne 0x100630bb
mov dword [ebp - 0x264], 1
jmp 0x100630c5
mov dword [ebp - 0x264], 0
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
xor ecx, dword [0x100d3180]
xor esi, dword [0x100d3184]
add ecx, eax
adc esi, edx
movsx edx, word [0x100d312c]
add edx, dword [ebp - 0x264]
add edx, dword [ebp - 0x5c]
xor eax, eax
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov byte [0x100d304e], al
movzx ecx, byte [0x100d3063]
test ecx, ecx
jne 0x10063116
mov edx, 1
mov word [ebp - 0x80], dx
jmp 0x1006311c
xor eax, eax
mov word [ebp - 0x80], ax
mov cx, word [ebp - 0x80]
mov word [0x100d3128], cx
mov ecx, dword [0x100d3160]
sub ecx, 0x7ff7
movsx eax, byte [ebp - 0x16]
cdq
add eax, ecx
mov byte [ebp - 0x16], al
movsx edx, word [ebp - 0x2c]
imul eax, edx, 0x7ba197d0
add eax, dword [0x100d3170]
mov dword [0x100d3170], eax
jmp 0x10063253
mov ecx, 0xcce3489
test ecx, ecx
je 0x10063253
mov dx, word [0x100d3c78]
mov word [0x100d312c], dx
movzx eax, byte [ebp - 0x15]
cdq
sub eax, dword [0x100d3138]
sbb edx, dword [0x100d313c]
not eax
not edx
movsx ecx, word [0x100d312c]
mov esi, 0xb3f32006
sub esi, ecx
xor ecx, ecx
add esi, eax
adc ecx, edx
mov dword [ebp - 0x674], esi
mov dword [ebp - 0x670], ecx
mov edx, dword [ebp - 0x674]
or edx, dword [ebp - 0x670]
jne 0x100631c9
xor eax, eax
mov dword [ebp - 0x3dc], 1
mov dword [ebp - 0x3d8], eax
jmp 0x100631d4
xorps xmm0, xmm0
movlpd qword [ebp - 0x3dc], xmm0
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
not ecx
not edx
mov eax, dword [ebp - 0x3d8]
push eax
mov eax, dword [ebp - 0x3dc]
push eax
push edx
push ecx
call fcn.100a25b0
mov byte [0x100d304e], al
mov ecx, dword [0x100d3190]
imul ecx, dword [ebp - 0x48]
mov edx, dword [0x100d3190]
add edx, ecx
mov dword [0x100d3190], edx
movzx eax, byte [0x100d3063]
cdq
push 0x234ea
push 0xdabbbf3b
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x28], ax
mov eax, dword [0x100d3c78]
mov dword [0x100d3144], eax
movzx ecx, byte [ebp - 0x18]
sub ecx, 0x5a4a799b
xor ecx, dword [0x100d3134]
mov dword [0x100d3134], ecx
movsx edx, byte [ebp - 0x11]
test edx, edx
je 0x1006326a
mov eax, dword [0x100d3174]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov dword [ebp - 0x48], eax
mov eax, 1
jmp 0x10065aea
mov ecx, dword [0x100d3140]
not ecx
test ecx, ecx
je 0x10063308
xor edx, edx
mov eax, dword [ebp - 0x34]
not eax
mov ecx, dword [ebp - 0x30]
not ecx
sub eax, dword [0x100d3140]
sbb ecx, edx
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], ecx
mov edx, dword [0x100d3160]
sub edx, 0xf7
mov dword [0x100d3144], edx
movsx eax, word [0x100d3130]
mov dword [0x100d31b4], eax
mov eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x100d3154]
push ecx
mov ecx, dword [0x100d3150]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x44]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x44], eax
push 0
push 0x96
mov edx, dword [0x100d3154]
push edx
mov eax, dword [0x100d3150]
push eax
call fcn.100a25b0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp - 0x268]
sub ecx, dword [ebp - 0x4a4]
cmp ecx, dword [ebp - 0x268]
je 0x10065033
movsx eax, word [ebp - 0x2c]
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
mov edx, dword [ebp - 0x5c]
sub edx, 0xaac0136f
mov byte [0x100d3026], dl
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x8a0], ecx
add eax, 0x83f4beea
mov edx, dword [0x100d31b4]
add edx, eax
mov dword [0x100d31b4], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x8a4], ecx
mov byte [0x100d304f], al
mov dword [ebp - 0xd8], 0x139
jmp 0x1006338f
mov edx, dword [ebp - 0xd8]
sub edx, 1
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xd8], 0
jle 0x100634b7
mov dword [ebp - 0xdc], 0
jmp 0x100633b7
mov eax, dword [ebp - 0xdc]
add eax, 1
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0xdc], 0x28f
jge 0x100634a6
jmp 0x1006340a
jmp 0x1006343a
jmp 0x10063455
jmp 0x1006348c
jmp 0x10063498
mov ecx, dword [ebp - 0x44]
add ecx, 1
mov dword [ebp - 0x44], ecx
jmp 0x100633a8
mov dx, word [ebp - 0x1c]
add dx, 1
mov word [ebp - 0x1c], dx
jmp 0x10063380
call fcn.10043c20
test eax, eax
jne 0x100634cd
call fcn.10036090
test eax, eax
je 0x10065033
mov eax, dword [ebp - 0x40]
cmp eax, dword [0x100d3134]
jl 0x1006354c
movzx ecx, byte [ebp - 0x15]
mov edx, dword [ebp - 0x48]
imul edx, ecx
xor eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movzx ecx, word [0x100d3178]
movzx edx, byte [ebp - 0x12]
imul edx, ecx
mov byte [ebp - 0x12], dl
mov eax, dword [0x100d311c]
add eax, 0x74c0d5ed
xor ecx, ecx
mov dword [0x100d3138], eax
mov dword [0x100d313c], ecx
movzx eax, byte [0x100d3063]
cdq
add eax, dword [0x100d3150]
adc edx, dword [0x100d3154]
not eax
not edx
add eax, dword [ebp - 0x6c]
adc edx, dword [ebp - 0x68]
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
mov edx, dword [0x100d3c78]
mov dword [0x100d3158], edx
jmp 0x10063612
movzx eax, word [ebp - 0x24]
test eax, eax
je 0x10063612
movzx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x1006356c
movsx edx, word [ebp - 0x20]
mov dword [ebp - 0x26c], edx
jmp 0x10063579
movzx eax, byte [0x100d3063]
mov dword [ebp - 0x26c], eax
mov ecx, dword [ebp - 0x26c]
mov dword [0x100d3174], ecx
mov edx, dword [0x100d3168]
add edx, 0x56
mov byte [0x100d3026], dl
movzx eax, byte [0x100d3063]
test eax, eax
je 0x100635ae
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x270], ecx
jmp 0x100635b7
mov edx, dword [ebp - 0x5c]
mov dword [ebp - 0x270], edx
mov al, byte [ebp - 0x270]
mov byte [0x100d3026], al
mov ecx, dword [0x100d3170]
xor edx, edx
mov eax, dword [0x100d3198]
mov esi, dword [0x100d319c]
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
add ecx, eax
adc esi, edx
mov dword [0x100d3198], ecx
mov dword [0x100d319c], esi
movzx eax, byte [0x100d3063]
add eax, 0x340
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
movsx edx, word [0x100d31b0]
movzx eax, byte [ebp - 0x18]
cmp eax, edx
jne 0x1006362d
mov dword [ebp - 0x274], 1
jmp 0x10063637
mov dword [ebp - 0x274], 0
movsx ecx, byte [ebp - 0x13]
movsx edx, byte [0x100d304e]
cmp edx, ecx
jl 0x10063652
mov dword [ebp - 0x278], 1
jmp 0x1006365c
mov dword [ebp - 0x278], 0
mov eax, dword [ebp - 0x274]
cmp eax, dword [ebp - 0x278]
je 0x10063676
mov dword [ebp - 0x280], 1
jmp 0x10063680
mov dword [ebp - 0x280], 0
movzx ecx, word [0x100d315c]
test ecx, ecx
jne 0x10063697
mov dword [ebp - 0x27c], 1
jmp 0x100636a1
mov dword [ebp - 0x27c], 0
movsx edx, word [0x100d3128]
cmp dword [ebp - 0x27c], edx
jg 0x100636c4
xor eax, eax
mov dword [ebp - 0x3e4], 1
mov dword [ebp - 0x3e0], eax
jmp 0x100636cf
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e4], xmm0
mov ecx, dword [0x100d313c]
push ecx
mov edx, dword [0x100d3138]
push edx
mov eax, dword [0x100d313c]
push eax
mov ecx, dword [0x100d3138]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x67c], eax
mov dword [ebp - 0x678], edx
mov edx, dword [ebp - 0x3e0]
cmp edx, dword [ebp - 0x678]
jb 0x10063725
ja 0x10063719
mov eax, dword [ebp - 0x3e4]
cmp eax, dword [ebp - 0x67c]
jbe 0x10063725
mov dword [ebp - 0x284], 1
jmp 0x1006372f
mov dword [ebp - 0x284], 0
mov ecx, dword [ebp - 0x280]
cmp ecx, dword [ebp - 0x284]
jle 0x10063b7c
mov edx, 3
mov word [0x100d3128], dx
movsx ecx, word [0x100d31b0]
add ecx, 0xd51c
mov eax, dword [0x100d3168]
mov edx, dword [0x100d316c]
call fcn.100a26c0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx eax, byte [ebp - 0x11]
imul ecx, eax, 0x7a7b
mov byte [ebp - 0x12], cl
mov edx, dword [ebp - 0x48]
add edx, 1
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x70]
add eax, dword [0x100d3158]
mov dword [ebp - 0x70], eax
movzx ecx, byte [ebp - 0x15]
test ecx, ecx
je 0x100637ae
movsx edx, word [0x100d312c]
mov dword [ebp - 0x288], edx
jmp 0x100637b9
mov eax, dword [0x100d3174]
mov dword [ebp - 0x288], eax
mov ecx, dword [ebp - 0x288]
xor edx, edx
mov dword [ebp - 0x58], ecx
mov dword [ebp - 0x54], edx
movsx eax, word [0x100d3128]
mov dword [ebp - 0x28c], eax
cmp dword [ebp - 0x28c], 3
ja case.default.0x100637e7
mov ecx, dword [ebp - 0x28c]
jmp dword [ecx*4 + 0x10065b38]
movzx edx, word [ebp - 0x1c]
test edx, edx
je 0x10063801
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x290], eax
jmp 0x1006380e
movzx ecx, byte [0x100d304f]
mov dword [ebp - 0x290], ecx
mov edx, dword [ebp - 0x290]
mov dword [0x100d3134], edx
movsx eax, byte [ebp - 0x14]
sub eax, 0x5b23a26f
mov word [0x100d31b0], ax
mov ecx, dword [ebp - 0x70]
xor edx, edx
add ecx, dword [0x100d3160]
adc edx, dword [0x100d3164]
and ecx, dword [0x100d3160]
and edx, dword [0x100d3164]
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
movsx eax, byte [0x100d3026]
sub eax, dword [0x100d3158]
mov byte [0x100d3026], al
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], edx
mov eax, 8
imul ecx, eax, 0x8e
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x4c]
mov dword [ecx + 0x10175cb8], edx
mov dword [ecx + 0x10175cbc], eax
jmp case.default.0x100637e7
movsx ecx, byte [ebp - 0x13]
imul eax, ecx, 0x86de
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x8a8], eax
sub edx, 0x8ba6111f
mov dword [ebp - 0x40], edx
movsx ecx, byte [ebp - 0x14]
movsx edx, word [0x100d3130]
lea eax, [edx + ecx - 0x7052]
mov word [0x100d3130], ax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov al, byte [0x100d3c78]
mov byte [ebp - 0x13], al
jmp case.default.0x100637e7
movzx eax, byte [ebp - 0x12]
cdq
add eax, 0x927bb5cf
mov word [0x100d315c], ax
mov byte [0x100d3026], 8
movsx ecx, word [ebp - 0x2c]
not ecx
mov byte [0x100d3027], cl
mov edx, dword [0x100d3168]
add edx, dword [ebp - 0x78]
mov eax, dword [0x100d316c]
adc eax, dword [ebp - 0x74]
push eax
push edx
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov eax, dword [0x100d3168]
or eax, dword [0x100d316c]
jne 0x1006395d
mov dword [ebp - 0x294], 1
jmp 0x10063967
mov dword [ebp - 0x294], 0
movsx ecx, word [0x100d3130]
mov eax, dword [ebp - 0x294]
sub eax, ecx
cdq
mov edx, dword [0x100d3188]
not edx
add edx, eax
mov byte [0x100d3027], dl
movsx eax, word [0x100d3128]
test eax, eax
jne 0x1006399e
mov dword [ebp - 0x298], 1
jmp 0x100639a8
mov dword [ebp - 0x298], 0
movsx ecx, word [ebp - 0x2c]
imul ecx, dword [ebp - 0x298]
movzx edx, word [ebp - 0x1c]
mov eax, 0xd5
sub eax, edx
imul eax, ecx
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
jmp case.default.0x100637e7
movsx eax, byte [ebp - 0x14]
movzx ecx, byte [0x100d304f]
sub ecx, eax
mov eax, ecx
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
sub ecx, 0xc9a1
sbb esi, 0
xor ecx, eax
xor esi, edx
mov dword [ebp - 0x684], ecx
mov dword [ebp - 0x680], esi
mov edx, dword [ebp - 0x684]
or edx, dword [ebp - 0x680]
jne 0x10063a29
xor eax, eax
mov dword [ebp - 0x3ec], 1
mov dword [ebp - 0x3e8], eax
jmp 0x10063a34
xorps xmm0, xmm0
movlpd qword [ebp - 0x3ec], xmm0
mov ecx, dword [ebp - 0x3ec]
mov edx, dword [ebp - 0x3e8]
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x6c]
add eax, 0x5e7f
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x68c], ecx
mov dword [ebp - 0x688], edx
mov eax, dword [ebp - 0x68c]
or eax, dword [ebp - 0x688]
jne 0x10063a7d
mov dword [ebp - 0x29c], 1
jmp 0x10063a87
mov dword [ebp - 0x29c], 0
movsx ecx, byte [ebp - 0x11]
sub ecx, dword [ebp - 0x29c]
jne 0x10063a9f
mov dword [ebp - 0x2a0], 1
jmp 0x10063aa9
mov dword [ebp - 0x2a0], 0
movsx eax, word [0x100d31b0]
not eax
add eax, dword [ebp - 0x2a0]
not eax
cdq
mov ecx, eax
mov esi, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x8ac], edx
movsx eax, word [ebp - 0x20]
cdq
add eax, esi
mov edx, dword [0x100d311c]
xor edx, dword [0x100d3170]
add edx, eax
add edx, ecx
mov byte [0x100d3027], dl
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov eax, dword [ebp - 0x74]
sbb eax, edx
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x694], ecx
mov dword [ebp - 0x690], edx
mov eax, dword [ebp - 0x694]
or eax, dword [ebp - 0x690]
jne 0x10063b35
xor ecx, ecx
mov dword [ebp - 0x3f4], 1
mov dword [ebp - 0x3f0], ecx
jmp 0x10063b40
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f4], xmm0
mov edx, dword [ebp - 0x64]
mov eax, dword [ebp - 0x60]
not edx
not eax
mov ecx, dword [ebp - 0x3f0]
push ecx
mov ecx, dword [ebp - 0x3f4]
push ecx
push eax
push edx
call fcn.100a25b0
mov ecx, eax
movzx edx, word [0x100d315c]
movzx eax, byte [ebp - 0x15]
not eax
add eax, edx
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
jmp 0x10063c29
mov eax, dword [0x100d3174]
sub eax, dword [ebp - 0x40]
jne 0x10063c29
imul ecx, dword [ebp - 0x40], 0x43992f8e
mov byte [ebp - 0x11], cl
mov dl, byte [ebp - 0x13]
add dl, 1
mov byte [ebp - 0x13], dl
imul eax, dword [0x100d31b4], 0x99c
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x8b0], edx
movzx eax, byte [0x100d3027]
cdq
sub eax, ecx
mov byte [0x100d3027], al
movzx eax, byte [ebp - 0x18]
cdq
mov ecx, dword [0x100d3160]
not ecx
mov esi, dword [0x100d3164]
not esi
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 0x11]
cdq
mov esi, eax
and esi, dword [0x100d3188]
sub esi, ecx
movzx eax, word [ebp - 0x28]
sub eax, dword [0x100d3134]
cdq
mov ecx, eax
mov edi, edx
movzx eax, word [0x100d3178]
cdq
add eax, dword [0x100d3188]
adc edx, dword [0x100d318c]
not eax
not edx
push edi
push ecx
push edx
push eax
call fcn.100a25b0
xor eax, esi
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x2a4]
sub edx, dword [ebp - 0x4a8]
cmp dword [ebp - 0x2a4], edx
je 0x10064deb
mov eax, 0x12
sub eax, dword [0x100d3150]
not eax
mov dword [0x100d3140], eax
movzx eax, word [ebp - 0x1c]
cdq
and eax, 0x45846f3c
and edx, 0x3a563
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movsx eax, byte [ebp - 0x11]
cdq
mov ecx, 0x868fd6fc
sub ecx, eax
mov dword [0x100d3144], ecx
mov dl, byte [ebp - 0x50]
mov eax, 1
imul ecx, eax, 0x66d8
mov byte [ecx + 0x101221e0], dl
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov ecx, dword [0x100d3174]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov edx, dword [0x100d3174]
sub edx, eax
mov dword [0x100d3174], edx
mov ecx, dword [ebp - 0x34]
add ecx, 0xc2f91a38
movzx eax, byte [ebp - 0x18]
cdq
sub eax, ecx
mov byte [ebp - 0x18], al
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [0x100d3148], edx
mov dword [0x100d314c], eax
movsx eax, byte [ebp - 0x16]
cdq
xor eax, dword [ebp - 0x6c]
mov dword [ebp - 0x40], eax
mov ecx, 4
mov word [0x100d315c], cx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
mov cx, word [0x100d3128]
add cx, 1
mov word [0x100d3128], cx
movzx edx, byte [ebp - 0x17]
test edx, edx
jne 0x10063d28
mov dword [ebp - 0x2a8], 1
jmp 0x10063d32
mov dword [ebp - 0x2a8], 0
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x69c], eax
mov dword [ebp - 0x698], ecx
mov edx, dword [ebp - 0x69c]
or edx, dword [ebp - 0x698]
jne 0x10063d66
xor eax, eax
mov dword [ebp - 0x3fc], 1
mov dword [ebp - 0x3f8], eax
jmp 0x10063d71
xorps xmm0, xmm0
movlpd qword [ebp - 0x3fc], xmm0
movsx eax, byte [ebp - 0x13]
xor eax, dword [ebp - 0x2a8]
cdq
mov esi, eax
mov edi, edx
movzx eax, word [0x100d3178]
cdq
mov ecx, dword [0x100d3154]
push ecx
mov ecx, dword [0x100d3150]
push ecx
push edx
push eax
call fcn.100a25b0
sub eax, esi
sbb edx, edi
mov ecx, dword [ebp - 0x3f8]
push ecx
mov ecx, dword [ebp - 0x3fc]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x6a4], eax
mov dword [ebp - 0x6a0], edx
mov edx, dword [ebp - 0x6a4]
or edx, dword [ebp - 0x6a0]
jne 0x10063ddc
mov dword [ebp - 0x2ac], 1
jmp 0x10063de6
mov dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2ac]
mov dword [ebp - 0x44], eax
call fcn.10027a30
test eax, eax
je 0x10064deb
push 0x9932c
push 0xc8564e7e
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x6c]
push edx
call fcn.100a25b0
add eax, dword [ebp - 0x50]
adc edx, dword [ebp - 0x4c]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
xor eax, eax
mov dword [0x100d3188], 0x3052
mov dword [0x100d318c], eax
push 0
push 0x66
mov ecx, dword [ebp - 0x4c]
push ecx
mov edx, dword [ebp - 0x50]
push edx
call fcn.100a25b0
mov dx, word [0x100d315c]
mov ecx, eax
shr dx, cl
mov word [0x100d315c], dx
mov dword [0x100d311c], 8
movsx eax, byte [ebp - 0x16]
cdq
add eax, dword [0x100d3168]
adc edx, dword [0x100d316c]
mov ecx, dword [0x100d3188]
add ecx, dword [ebp - 0x34]
mov esi, dword [0x100d318c]
adc esi, dword [ebp - 0x30]
sub ecx, eax
sbb esi, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], esi
movzx edx, byte [0x100d3027]
not edx
mov dword [0x100d3170], edx
cmp dword [ebp - 0x44], 0
je 0x10064121
mov eax, dword [0x100d31b4]
xor ecx, ecx
mov dword [ebp - 0x6ac], eax
mov dword [ebp - 0x6a8], ecx
mov edx, dword [ebp - 0x6a8]
cmp edx, dword [ebp - 0x30]
jb 0x10063ee1
ja 0x10063ed5
mov eax, dword [ebp - 0x6ac]
cmp eax, dword [ebp - 0x34]
jbe 0x10063ee1
mov dword [ebp - 0x2b0], 1
jmp 0x10063eeb
mov dword [ebp - 0x2b0], 0
cmp dword [0x100d31b4], 4
jbe 0x10063f00
mov dword [ebp - 0x2b4], 1
jmp 0x10063f0a
mov dword [ebp - 0x2b4], 0
mov ecx, dword [ebp - 0x2b0]
cmp ecx, dword [ebp - 0x2b4]
jne 0x10063fa5
mov edx, 1
mov word [0x100d3178], dx
movsx eax, word [ebp - 0x2c]
cdq
sub eax, 0xea76a8f2
sbb edx, 0xe9396
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
mov ecx, dword [ebp - 0x70]
imul ecx, dword [0x100d311c]
movsx edx, word [ebp - 0x20]
movzx eax, word [ebp - 0x24]
not eax
add eax, edx
xor eax, ecx
mov dword [ebp - 0x40], eax
movsx eax, byte [0x100d3026]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
sub ecx, eax
sbb esi, edx
mov dword [0x100d3180], ecx
mov dword [0x100d3184], esi
mov dx, word [ebp - 0x28]
add dx, 1
mov word [ebp - 0x28], dx
mov eax, dword [0x100d3168]
sub eax, 0xa09f2957
mov dword [ebp - 0x40], eax
jmp 0x1006411c
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1006411c
mov edx, dword [0x100d3158]
and edx, 0x51
add edx, dword [ebp - 0x5c]
mov dword [ebp - 0x5c], edx
mov eax, dword [0x100d311c]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x50]
mov eax, dword [0x100d311c]
cdq
sub eax, ecx
mov dword [0x100d311c], eax
push 0
push 0xfefe7582
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
call fcn.100a25b0
mov dword [ebp - 0x70], eax
mov ecx, dword [0x100d3148]
xor ecx, 0xed5a
mov edx, dword [0x100d314c]
xor edx, 0
mov dword [ebp - 0x6b4], ecx
mov dword [ebp - 0x6b0], edx
mov eax, dword [ebp - 0x6b4]
or eax, dword [ebp - 0x6b0]
jne 0x1006402f
mov dword [ebp - 0x2b8], 1
jmp 0x10064039
mov dword [ebp - 0x2b8], 0
movsx eax, byte [ebp - 0x13]
cdq
sub eax, dword [ebp - 0x6c]
sbb edx, dword [ebp - 0x68]
mov dword [ebp - 0x6bc], eax
mov dword [ebp - 0x6b8], edx
mov ecx, dword [ebp - 0x6bc]
or ecx, dword [ebp - 0x6b8]
jne 0x1006406a
mov dword [ebp - 0x2bc], 1
jmp 0x10064074
mov dword [ebp - 0x2bc], 0
mov edx, dword [ebp - 0x2b8]
add edx, dword [ebp - 0x2bc]
jne 0x10064096
xor eax, eax
mov dword [ebp - 0x404], 1
mov dword [ebp - 0x400], eax
jmp 0x100640a1
xorps xmm0, xmm0
movlpd qword [ebp - 0x404], xmm0
mov ecx, 0x79559d14
sub ecx, dword [ebp - 0x50]
mov edx, 0xf9212
sbb edx, dword [ebp - 0x4c]
movsx eax, byte [0x100d304e]
add eax, dword [ebp - 0x48]
xor esi, esi
xor eax, ecx
xor esi, edx
not eax
not esi
mov ecx, dword [ebp - 0x404]
sub ecx, eax
mov edx, dword [ebp - 0x400]
sbb edx, esi
mov dword [ebp - 0x6c4], ecx
mov dword [ebp - 0x6c0], edx
mov eax, dword [ebp - 0x6c4]
or eax, dword [ebp - 0x6c0]
jne 0x100640fb
mov dword [ebp - 0x2c0], 1
jmp 0x10064105
mov dword [ebp - 0x2c0], 0
mov ecx, dword [ebp - 0x2c0]
mov dword [ebp - 0x44], ecx
movsx eax, byte [ebp - 0x14]
cdq
add eax, dword [0x100d3188]
mov byte [ebp - 0x14], al
jmp 0x10064239
movzx edx, word [0x100d315c]
test edx, edx
je 0x10064239
xor eax, eax
je 0x10064239
push 0
push 0x2aa72fbf
mov ecx, dword [0x100d313c]
push ecx
mov edx, dword [0x100d3138]
push edx
call fcn.100a25b0
mov esi, eax
mov edi, edx
movzx eax, byte [ebp - 0x17]
cdq
push edx
push eax
mov eax, dword [0x100d318c]
push eax
mov ecx, dword [0x100d3188]
push ecx
call fcn.100a25b0
sub eax, esi
sbb edx, edi
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], edx
mov edx, 2
imul eax, edx, 0x35
movsx ecx, word [eax + 0x10339248]
mov dword [ebp - 0x5c], ecx
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
movsx eax, word [ebp - 0x20]
cdq
mov edi, eax
mov ebx, edx
sub edi, ecx
sbb ebx, esi
movzx edx, byte [ebp - 0x12]
mov eax, 0x50e8c376
sub eax, edx
cdq
push ebx
push edi
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x18], al
movzx eax, byte [0x100d3027]
movsx ecx, word [ebp - 0x20]
and ecx, eax
jne 0x100641d9
xor edx, edx
mov dword [ebp - 0x40c], 1
mov dword [ebp - 0x408], edx
jmp 0x100641e4
xorps xmm0, xmm0
movlpd qword [ebp - 0x40c], xmm0
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x38]
and eax, dword [ebp - 0x40c]
and ecx, dword [ebp - 0x408]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
sub edx, dword [0x100d3148]
sbb eax, dword [0x100d314c]
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
movzx ecx, word [0x100d3178]
sub ecx, dword [ebp - 0x44]
movzx edx, word [0x100d3178]
imul edx, ecx
mov word [0x100d3178], dx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xe0], eax
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x6cc], ecx
mov dword [ebp - 0x6c8], edx
cmp dword [ebp - 0x6c8], 0x77a5b
jb 0x1006427c
ja 0x10064270
cmp dword [ebp - 0x6cc], 0x7ec044cc
jbe 0x1006427c
mov dword [ebp - 0x2c4], 1
jmp 0x10064286
mov dword [ebp - 0x2c4], 0
movsx eax, byte [ebp - 0x11]
cmp eax, dword [ebp - 0x2c4]
je 0x1006429e
mov dword [ebp - 0x2c8], 1
jmp 0x100642a8
mov dword [ebp - 0x2c8], 0
mov ecx, dword [ebp - 0x2c8]
not ecx
test ecx, ecx
je 0x10064378
movsx edx, word [0x100d3128]
imul edx, dword [0x100d3190]
mov word [0x100d3128], dx
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0x74]
je 0x100642e9
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x414], ecx
mov dword [ebp - 0x410], edx
jmp 0x100642fc
mov eax, dword [0x100d3144]
xor ecx, ecx
mov dword [ebp - 0x414], eax
mov dword [ebp - 0x410], ecx
mov edx, dword [ebp - 0x414]
mov dword [0x100d3190], edx
mov eax, dword [0x100d3144]
add eax, 0x7fc6e70a
xor ecx, ecx
mov dword [0x100d3160], eax
mov dword [0x100d3164], ecx
cmp dword [ebp - 0x40], 0
je 0x10064334
movsx edx, byte [0x100d3026]
mov dword [ebp - 0x2cc], edx
jmp 0x1006433e
movzx eax, byte [ebp - 0x15]
mov dword [ebp - 0x2cc], eax
mov cx, word [ebp - 0x2cc]
mov word [0x100d3178], cx
movzx eax, word [0x100d3178]
cdq
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x38]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x3c], ecx
mov dword [ebp - 0x38], esi
jmp 0x1006441c
movsx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x6d4], eax
mov dword [ebp - 0x6d0], edx
cmp dword [ebp - 0x6d0], 0x48e8c
jg 0x100643af
jl 0x100643a3
cmp dword [ebp - 0x6d4], 0x260e978b
jae 0x100643af
mov dword [ebp - 0x2d0], 1
jmp 0x100643b9
mov dword [ebp - 0x2d0], 0
mov edx, dword [ebp - 0x2d0]
not edx
test edx, edx
je 0x1006441c
mov eax, dword [0x100d3138]
sub eax, 0x48c7
mov ecx, dword [0x100d313c]
sbb ecx, 0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
movsx edx, byte [0x100d3026]
add edx, 0xdef9
mov byte [0x100d3026], dl
movzx eax, byte [ebp - 0x12]
cdq
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
movzx eax, word [0x100d3178]
cdq
mov ecx, eax
sub ecx, 0x8f8ade7a
movsx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0xe0]
add edx, 0x458
mov dword [ebp - 0x4b0], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
mov dword [ebp - 0x8d8], ecx
add eax, 0x12a6b495
mov dword [ebp - 0x5c], eax
movzx eax, byte [0x100d3063]
cdq
mov edx, dword [0x100d3168]
sub edx, dword [ebp - 0x5c]
add edx, eax
mov byte [ebp - 0x15], dl
xor eax, eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
sub ecx, dword [ebp - 0x48]
sbb edx, eax
mov eax, dword [0x100d31b4]
not eax
xor esi, esi
sub eax, ecx
sbb esi, edx
not eax
not esi
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], esi
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x6dc], ecx
mov dword [ebp - 0x6d8], edx
mov eax, dword [ebp - 0x6dc]
or eax, dword [ebp - 0x6d8]
jne 0x100644b8
mov dword [ebp - 0x2d4], 1
jmp 0x100644c2
mov dword [ebp - 0x2d4], 0
mov ecx, dword [ebp - 0x40]
and ecx, dword [ebp - 0x2d4]
movzx eax, byte [ebp - 0x17]
sub eax, ecx
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov edx, dword [ebp - 0x48]
add edx, 0x47
xor eax, eax
mov dword [0x100d3148], edx
mov dword [0x100d314c], eax
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov cl, 6
call fcn.100a25f0
mov word [0x100d31b0], ax
mov ecx, dword [ebp - 0xe0]
add ecx, 0x764
mov dword [ebp - 0x4b4], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov ecx, dword [0x100d3174]
xor esi, esi
mov dword [ebp - 0x6e4], ecx
mov dword [ebp - 0x6e0], esi
mov dword [ebp - 0x6ec], edx
mov dword [ebp - 0x6e8], eax
mov edx, dword [ebp - 0x6e0]
cmp edx, dword [ebp - 0x6e8]
jl 0x100645f8
jg 0x10064566
mov eax, dword [ebp - 0x6e4]
cmp eax, dword [ebp - 0x6ec]
jb 0x100645f8
mov ecx, dword [0x100d311c]
add ecx, 1
mov dword [0x100d311c], ecx
mov byte [0x100d3063], 0x8c
movzx edx, byte [0x100d304f]
test edx, edx
jne 0x10064593
mov dword [ebp - 0x2d8], 1
jmp 0x1006459d
mov dword [ebp - 0x2d8], 0
movzx eax, byte [ebp - 0x12]
imul ecx, eax, 0x38
mov esi, dword [ebp - 0x48]
xor esi, dword [0x100d3140]
imul esi, ecx
xor ecx, ecx
movsx eax, word [ebp - 0x20]
cdq
mov edi, eax
mov ebx, edx
sub edi, dword [ebp - 0x78]
sbb ebx, dword [ebp - 0x74]
movsx edx, byte [ebp - 0x13]
mov eax, edx
imul eax, dword [ebp - 0x2d8]
cdq
add eax, edi
adc edx, ebx
push ecx
push esi
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movsx eax, word [0x100d312c]
movzx ecx, byte [ebp - 0x15]
add ecx, eax
movzx edx, byte [ebp - 0x15]
add edx, ecx
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0xe0]
add eax, 0x7e6
mov dword [ebp - 0x4ac], eax
mov dword [ebp - 0xe4], 0
jmp 0x10064624
mov ecx, dword [ebp - 0xe4]
add ecx, 1
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0x387
jge 0x100647f5
movsx edx, byte [ebp - 0x16]
movzx eax, word [0x100d315c]
cmp eax, edx
jne 0x100646ef
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
jne 0x10064663
xor edx, edx
mov dword [ebp - 0x6f4], 1
mov dword [ebp - 0x6f0], edx
jmp 0x1006466e
xorps xmm0, xmm0
movlpd qword [ebp - 0x6f4], xmm0
movsx eax, word [0x100d3130]
add eax, dword [ebp - 0x44]
cdq
mov ecx, dword [0x100d3140]
mov edx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
mov dword [ebp - 0x8b8], esi
sub edx, ecx
and edx, eax
mov eax, dword [ebp - 0x34]
not eax
mov ecx, dword [ebp - 0x6f4]
sub ecx, eax
add ecx, edx
mov dword [0x100d3174], ecx
mov edx, dword [0x100d3144]
sub edx, 0x15
xor eax, eax
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], eax
movsx ecx, byte [ebp - 0x11]
imul edx, ecx, 0x19
mov word [0x100d312c], dx
movsx eax, byte [ebp - 0x11]
add eax, 0x18680327
mov dword [ebp - 0x44], eax
movsx ecx, word [0x100d3128]
mov edx, dword [0x100d3134]
sub edx, ecx
mov dword [0x100d3134], edx
jmp 0x100647e1
mov eax, dword [0x100d3158]
not eax
test eax, eax
je 0x10064768
mov byte [ebp - 0x11], 0xb
movzx ecx, word [0x100d3178]
movsx edx, word [ebp - 0x20]
sub edx, ecx
mov word [ebp - 0x20], dx
movzx eax, byte [0x100d3027]
shl eax, 3
cdq
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x28]
movzx ecx, word [ebp - 0x1c]
add ecx, eax
mov byte [ebp - 0x15], cl
mov dl, byte [ebp - 0x17]
add dl, 1
mov byte [ebp - 0x17], dl
movzx eax, word [ebp - 0x28]
cdq
add eax, dword [0x100d3120]
adc edx, dword [0x100d3124]
push edx
push eax
mov eax, dword [0x100d3124]
push eax
mov ecx, dword [0x100d3120]
push ecx
call fcn.100a25b0
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
jmp 0x100647e1
movzx edx, word [0x100d3178]
cmp edx, 0x7f7cc42c
jle 0x10064783
mov dword [ebp - 0x2dc], 1
jmp 0x1006478d
mov dword [ebp - 0x2dc], 0
cmp dword [ebp - 0x2dc], 0x5967
jg 0x100647e1
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x8bc], ecx
mov word [ebp - 0x1c], ax
mov edx, dword [ebp - 0x5c]
add edx, 0x662071f8
xor eax, eax
mov dword [0x100d3188], edx
mov dword [0x100d318c], eax
movsx cx, byte [0x100d3026]
mov word [ebp - 0x1c], cx
mov edx, dword [0x100d3140]
shr edx, 2
xor eax, eax
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x60], eax
mov ecx, dword [0x100d311c]
add ecx, 1
mov dword [0x100d311c], ecx
jmp 0x10064615
mov edx, dword [ebp - 0x4ac]
add edx, dword [ebp - 0x4b0]
cmp edx, dword [ebp - 0x4b4]
je 0x10064deb
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x2e0], eax
cmp dword [ebp - 0x2e0], 0
je 0x10064835
mov eax, dword [ebp - 0x2e0]
push eax
call dword [sym.imp.USER32.dll_GetWindowDC]
mov dword [ebp - 0x8c0], eax
cmp dword [ebp - 0x70], 0x757e964a
ja 0x10064a6e
mov ecx, dword [0x100d31b4]
push ecx
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x17], al
movzx edx, byte [ebp - 0x17]
test edx, edx
jle 0x100649fa
movzx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
mov dword [ebp - 0x6fc], ecx
mov dword [ebp - 0x6f8], esi
mov dword [ebp - 0x704], eax
mov dword [ebp - 0x700], edx
mov edx, dword [ebp - 0x6f8]
cmp edx, dword [ebp - 0x700]
jg 0x1006495e
jl 0x100648ad
mov eax, dword [ebp - 0x6fc]
cmp eax, dword [ebp - 0x704]
jae 0x1006495e
mov ecx, dword [0x100d3170]
add ecx, 0xfe58
mov word [ebp - 0x1c], cx
movsx eax, word [0x100d31b0]
cdq
xor eax, 0x6208c791
xor edx, 0x52bf0
not eax
not edx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movsx eax, word [ebp - 0x2c]
cdq
sub eax, 0xb7cc685d
sbb edx, 0xc34b7
and eax, dword [0x100d3138]
and edx, dword [0x100d313c]
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
movzx edx, byte [0x100d3063]
test edx, edx
jne 0x10064918
mov dword [ebp - 0x2e4], 1
jmp 0x10064922
mov dword [ebp - 0x2e4], 0
movzx eax, byte [0x100d3063]
imul eax, dword [ebp - 0x2e4]
cdq
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
push 0
push 0xeb
push ecx
push eax
call fcn.100a25b0
mov edx, dword [0x100d3170]
sub edx, eax
mov dword [0x100d3170], edx
jmp 0x100649f8
mov dword [0x100d3174], 0x4159acba
movsx eax, byte [ebp - 0x14]
movsx ecx, word [0x100d3128]
sub ecx, eax
movsx edx, word [0x100d3128]
add edx, ecx
mov word [0x100d3128], dx
movsx eax, word [0x100d312c]
movzx ecx, byte [ebp - 0x18]
sub ecx, eax
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x48]
xor eax, eax
and edx, dword [ebp - 0x78]
and eax, dword [ebp - 0x74]
mov dword [ebp - 0x78], edx
mov dword [ebp - 0x74], eax
cmp dword [0x100d31b4], 0
jne 0x100649bb
mov dword [ebp - 0x2e8], 1
jmp 0x100649c5
mov dword [ebp - 0x2e8], 0
imul eax, dword [ebp - 0x2e8], 0
not eax
cdq
mov esi, eax
xor esi, dword [0x100d3188]
movsx eax, byte [ebp - 0x13]
cdq
add eax, dword [0x100d3160]
adc edx, dword [0x100d3164]
push 0
push 0
push edx
push eax
call fcn.100a25b0
sub eax, esi
mov dword [ebp - 0x48], eax
jmp 0x10064a69
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
mov byte [ebp - 0x13], 0
movzx eax, byte [ebp - 0x15]
mov ecx, dword [ebp - 0x40]
sub ecx, eax
mov dword [ebp - 0x40], ecx
movsx edx, byte [ebp - 0x16]
movzx eax, word [0x100d315c]
sub eax, edx
movzx ecx, word [0x100d315c]
add ecx, eax
mov word [0x100d315c], cx
movzx eax, word [0x100d315c]
cdq
mov ecx, dword [0x100d3138]
sub ecx, eax
mov eax, dword [0x100d313c]
sbb eax, edx
add ecx, dword [0x100d3138]
adc eax, dword [0x100d313c]
mov dword [0x100d3138], ecx
mov dword [0x100d313c], eax
jmp 0x10064bc0
mov ecx, 0xa8400727
test ecx, ecx
je 0x10064b3c
mov edx, 4
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0x2c]
cdq
add eax, dword [0x100d3168]
adc edx, dword [0x100d316c]
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movsx eax, word [ebp - 0x20]
not eax
movsx ecx, word [ebp - 0x20]
or ecx, eax
jne 0x10064ac2
xor edx, edx
mov dword [ebp - 0x70c], 1
mov dword [ebp - 0x708], edx
jmp 0x10064acd
xorps xmm0, xmm0
movlpd qword [ebp - 0x70c], xmm0
movsx eax, byte [0x100d304e]
cdq
sub eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x70c]
sub ecx, eax
movzx eax, word [0x100d3178]
cdq
mov esi, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x8c4], edx
sub esi, eax
movzx eax, byte [ebp - 0x12]
cdq
sub eax, esi
or eax, ecx
mov dword [ebp - 0x5c], eax
mov ecx, dword [0x100d3138]
sub ecx, 0xe3ef79b1
movsx eax, byte [0x100d304e]
cdq
sub eax, ecx
mov byte [0x100d304e], al
mov edx, dword [0x100d3144]
sub edx, 1
mov dword [0x100d3144], edx
mov eax, dword [0x100d3160]
sub eax, 0xf
mov byte [ebp - 0x11], al
jmp 0x10064bc0
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x714], ecx
mov dword [ebp - 0x710], edx
mov eax, dword [ebp - 0x714]
or eax, dword [ebp - 0x710]
je 0x10064bc0
movsx eax, word [0x100d312c]
and eax, 0x6cec
cdq
mov ecx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x60]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x60], esi
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x8c8], eax
sub edx, 0x55d5
mov byte [ebp - 0x12], dl
imul ecx, dword [0x100d3174], 0x19
add ecx, dword [0x100d3174]
mov dword [0x100d3174], ecx
mov ecx, dword [ebp - 0x70]
sub ecx, 0x4c64452
movsx eax, byte [ebp - 0x11]
cdq
and eax, ecx
mov byte [ebp - 0x11], al
mov edx, 8
mov word [0x100d3128], dx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x71c], eax
mov dword [ebp - 0x718], ecx
mov edx, dword [ebp - 0x71c]
or edx, dword [ebp - 0x718]
je 0x10064de4
cmp dword [0x100d3174], 0
je 0x10064d97
movzx eax, word [ebp - 0x1c]
movzx ecx, byte [0x100d3027]
cmp ecx, eax
jle 0x10064c11
mov dword [ebp - 0x2ec], 1
jmp 0x10064c1b
mov dword [ebp - 0x2ec], 0
movzx edx, byte [0x100d3027]
cmp edx, 0x1a
jle 0x10064c33
mov dword [ebp - 0x2f0], 1
jmp 0x10064c3d
mov dword [ebp - 0x2f0], 0
mov eax, dword [ebp - 0x2ec]
cmp eax, dword [ebp - 0x2f0]
jge 0x10064ce5
movzx eax, word [0x100d315c]
cdq
mov ecx, dword [0x100d3120]
sub ecx, eax
mov eax, dword [0x100d3124]
sbb eax, edx
add ecx, dword [0x100d3120]
adc eax, dword [0x100d3124]
mov dword [0x100d3120], ecx
mov dword [0x100d3124], eax
mov byte [0x100d304f], 8
movzx eax, byte [0x100d3063]
cdq
push edx
push eax
mov ecx, dword [0x100d313c]
push ecx
mov edx, dword [0x100d3138]
push edx
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov eax, dword [0x100d311c]
xor eax, 0x18
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
sub ecx, eax
sbb esi, edx
mov dword [0x100d3180], ecx
mov dword [0x100d3184], esi
mov edx, dword [0x100d3158]
add edx, 0x11510648
mov byte [ebp - 0x15], dl
jmp 0x10064d95
movsx eax, byte [ebp - 0x16]
cdq
push edx
push eax
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], edx
movzx eax, word [ebp - 0x28]
sub eax, 0x23
cdq
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x724], edx
mov dword [ebp - 0x720], eax
mov ecx, dword [ebp - 0x724]
or ecx, dword [ebp - 0x720]
je 0x10064d39
movzx edx, word [ebp - 0x24]
mov dword [ebp - 0x2f4], edx
jmp 0x10064d42
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x2f4], eax
mov ecx, dword [ebp - 0x2f4]
mov dword [0x100d3144], ecx
push 0
push 0x409b
mov edx, dword [0x100d3154]
push edx
mov eax, dword [0x100d3150]
push eax
call fcn.100a25b0
mov dword [ebp - 0x64], eax
mov dword [ebp - 0x60], edx
movsx ecx, word [0x100d31b0]
add ecx, 0x5db8a7b8
mov dword [ebp - 0x44], ecx
movzx eax, byte [0x100d304f]
cdq
mov ecx, dword [ebp - 0x50]
sub ecx, eax
mov eax, dword [ebp - 0x4c]
sbb eax, edx
mov dword [ebp - 0x50], ecx
mov dword [ebp - 0x4c], eax
jmp 0x10064de4
movzx ecx, word [ebp - 0x28]
imul edx, ecx, 0xd2
movsx eax, byte [ebp - 0x11]
add eax, edx
mov byte [ebp - 0x11], al
mov cx, word [0x100d3158]
mov word [0x100d3130], cx
mov edx, dword [0x100d3c78]
mov dword [0x100d3134], edx
movsx eax, byte [ebp - 0x14]
movsx ecx, byte [ebp - 0x11]
imul ecx, eax
movsx edx, byte [ebp - 0x11]
sub edx, ecx
mov byte [ebp - 0x11], dl
mov eax, dword [ebp - 0x6c]
sub eax, 0x18fc
mov word [ebp - 0x24], ax
xor eax, eax
jmp 0x10065aea
mov ecx, dword [0x100d311c]
not ecx
test ecx, ecx
je 0x10064f28
mov dword [ebp - 0x90], 0x15c
jmp 0x10064e16
mov edx, dword [ebp - 0x90]
sub edx, 1
mov dword [ebp - 0x90], edx
cmp dword [ebp - 0x90], 0
jle 0x10064f23
push 0
push 0
call fcn.1005b280
add esp, 8
mov byte [ebp - 0x12], al
movzx eax, byte [ebp - 0x12]
test eax, eax
jle 0x10064eaa
movzx ecx, word [ebp - 0x24]
mov edx, dword [ebp - 0x44]
sub edx, ecx
mov dword [ebp - 0x44], edx
movsx eax, byte [0x100d304e]
sub eax, 0x5b2
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
mov eax, dword [0x100d3170]
xor ecx, ecx
sub eax, 0xda0c3eea
sbb ecx, 0xc8fcf
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
movzx edx, byte [ebp - 0x17]
movsx eax, word [ebp - 0x2c]
imul eax, edx
mov word [ebp - 0x2c], ax
imul ecx, dword [0x100d31b4], 0xb6
mov word [0x100d3128], cx
mov edx, dword [0x100d3170]
sub edx, 0xf0c40bf
mov dword [0x100d3144], edx
jmp 0x10064f0e
movsx eax, byte [ebp - 0x13]
add eax, 0x4b
mov dword [0x100d3170], eax
movzx eax, word [0x100d3178]
cdq
add eax, dword [ebp - 0x6c]
mov byte [ebp - 0x14], al
mov dword [0x100d3190], 0x3a19
mov ecx, dword [0x100d311c]
add ecx, 0x2e38
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x8cc], eax
sub edx, 0xf86cfaf1
mov byte [ebp - 0x18], dl
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
add ecx, 0xd9
adc edx, 0
mov dword [0x100d3148], ecx
mov dword [0x100d314c], edx
mov ax, word [0x100d3130]
add ax, 1
mov word [0x100d3130], ax
jmp 0x10064e07
jmp 0x10065029
movzx ecx, word [ebp - 0x28]
movzx edx, word [ebp - 0x28]
cmp edx, ecx
jle 0x10065029
mov eax, dword [0x100d3140]
shr eax, 3
xor ecx, ecx
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x68], ecx
movsx eax, word [ebp - 0x2c]
cdq
push 0x9ba0b
push 0xa0ab151
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, word [ebp - 0x24]
cdq
sub eax, ecx
mov word [ebp - 0x24], ax
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x72c], edx
mov dword [ebp - 0x728], eax
mov ecx, dword [ebp - 0x72c]
or ecx, dword [ebp - 0x728]
jne 0x10064fa4
xor edx, edx
mov dword [ebp - 0x734], 1
mov dword [ebp - 0x730], edx
jmp 0x10064faf
xorps xmm0, xmm0
movlpd qword [ebp - 0x734], xmm0
movsx eax, word [0x100d312c]
cdq
mov ecx, dword [ebp - 0x48]
add ecx, dword [0x100d3168]
and ecx, eax
mov esi, dword [0x100d3188]
or esi, dword [ebp - 0x734]
movsx edx, word [ebp - 0x20]
movzx eax, word [0x100d315c]
sub eax, edx
cdq
sub eax, esi
add eax, ecx
mov byte [ebp - 0x17], al
mov eax, dword [0x100d311c]
cdq
push edx
push eax
mov eax, dword [0x100d3164]
push eax
mov ecx, dword [0x100d3160]
push ecx
call fcn.100a25b0
mov ecx, dword [0x100d3160]
sub ecx, eax
mov eax, dword [0x100d3164]
sbb eax, edx
mov dword [0x100d3160], ecx
mov dword [0x100d3164], eax
xor ecx, ecx
mov dword [0x100d3150], 0x65
mov dword [0x100d3154], ecx
mov eax, 1
jmp 0x10065aea
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x8d0], edx
mov eax, dword [ebp - 0x40]
cdq
mov esi, eax
xor esi, ecx
mov eax, dword [ebp - 0x40]
cdq
add eax, esi
mov dword [ebp - 0x40], eax
movsx eax, word [0x100d3128]
not eax
movsx ecx, byte [ebp - 0x11]
imul ecx, eax
test ecx, ecx
jne 0x1006507e
xor edx, edx
mov dword [ebp - 0x73c], 1
mov dword [ebp - 0x738], edx
jmp 0x10065089
xorps xmm0, xmm0
movlpd qword [ebp - 0x73c], xmm0
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x8d4], edx
movzx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov ecx, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x8b4], edx
mov edx, dword [0x100d3180]
mov esi, dword [0x100d3184]
mov dword [ebp - 0x90c], esi
sub edx, ecx
add edx, dword [ebp - 0x73c]
add edx, eax
mov byte [ebp - 0x12], dl
mov dword [0x100d3140], 2
movzx eax, byte [0x100d3027]
imul eax, eax, 0xa9
cdq
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], edx
movzx eax, word [ebp - 0x28]
sub eax, 0xa4
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
call fcn.10027a30
test eax, eax
je 0x1006563d
xor ecx, ecx
mov dword [0x100d3198], 1
mov dword [0x100d319c], ecx
mov edx, dword [ebp - 0x44]
add edx, 0x4b
mov word [0x100d312c], dx
imul eax, dword [ebp - 0x70], 0x819
mov byte [0x100d3063], al
movsx ecx, word [0x100d3130]
mov edx, dword [ebp - 0x40]
sub edx, ecx
jne 0x10065152
mov dword [ebp - 0x2f8], 1
jmp 0x1006515c
mov dword [ebp - 0x2f8], 0
movsx eax, byte [ebp - 0x16]
movzx ecx, word [ebp - 0x1c]
imul edx, ecx, 0x54
mov ecx, dword [ebp - 0x2f8]
sub ecx, edx
and ecx, eax
mov byte [0x100d3026], cl
mov edx, dword [0x100d3138]
add edx, 0xa370e0b6
mov dword [ebp - 0x40], edx
cmp dword [0x100d3170], 0
je 0x10065371
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
movsx eax, word [ebp - 0x20]
cdq
mov dword [ebp - 0x744], eax
mov dword [ebp - 0x740], edx
mov dword [ebp - 0x74c], ecx
mov dword [ebp - 0x748], esi
mov edx, dword [ebp - 0x740]
cmp edx, dword [ebp - 0x748]
jg 0x100651e6
jl 0x100651da
mov eax, dword [ebp - 0x744]
cmp eax, dword [ebp - 0x74c]
jae 0x100651e6
mov dword [ebp - 0x2fc], 1
jmp 0x100651f0
mov dword [ebp - 0x2fc], 0
movsx ecx, word [ebp - 0x20]
cmp ecx, 1
jge 0x10065205
mov dword [ebp - 0x300], 1
jmp 0x1006520f
mov dword [ebp - 0x300], 0
mov edx, dword [ebp - 0x2fc]
cmp edx, dword [ebp - 0x300]
jl 0x1006526e
mov eax, dword [str.MediaCenterInUse]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [0x100af318]
mov dword [ebp - 0x7b0], ecx
mov edx, dword [0x100af31c]
mov dword [ebp - 0x7ac], edx
mov eax, dword [0x100af320]
mov dword [ebp - 0x7a8], eax
mov cl, byte [0x100af324]
mov byte [ebp - 0x7a4], cl
lea edx, [ebp - 0x7b4]
push edx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov byte [0x100d3027], al
jmp 0x1006536c
mov eax, dword [0x100d3c78]
mov dword [ebp - 0x44], eax
movzx ecx, word [ebp - 0x24]
test ecx, ecx
jne 0x10065292
xor edx, edx
mov dword [ebp - 0x41c], 1
mov dword [ebp - 0x418], edx
jmp 0x1006529d
xorps xmm0, xmm0
movlpd qword [ebp - 0x41c], xmm0
mov eax, dword [0x100d3158]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x910], edx
xor ecx, eax
not ecx
movsx eax, byte [ebp - 0x14]
cdq
mov esi, eax
sub esi, ecx
movzx eax, byte [ebp - 0x17]
cdq
mov ecx, dword [ebp - 0x78]
sub ecx, eax
mov eax, dword [ebp - 0x74]
sbb eax, edx
mov edx, dword [ebp - 0x418]
push edx
mov edx, dword [ebp - 0x41c]
push edx
push eax
push ecx
call fcn.100a25b0
sub eax, esi
mov byte [ebp - 0x12], al
movsx eax, byte [0x100d304e]
sub eax, 0x6d
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
movsx eax, byte [ebp - 0x11]
add eax, 0x34f08431
xor ecx, ecx
mov edx, dword [0x100d3160]
sub edx, eax
mov eax, dword [0x100d3164]
sbb eax, ecx
mov dword [0x100d3160], edx
mov dword [0x100d3164], eax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x754], ecx
mov dword [ebp - 0x750], edx
mov eax, dword [ebp - 0x754]
or eax, dword [ebp - 0x750]
jne 0x10065351
mov dword [ebp - 0x304], 1
jmp 0x1006535b
mov dword [ebp - 0x304], 0
mov ecx, dword [ebp - 0x304]
imul ecx, dword [ebp - 0x5c]
mov word [0x100d31b0], cx
jmp 0x10065636
mov edx, 0x17c2
test edx, edx
je 0x10065494
mov eax, dword [0x100d3174]
xor ecx, ecx
sub eax, dword [0x100d3150]
sbb ecx, dword [0x100d3154]
mov edx, dword [0x100d3174]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov dword [0x100d3174], eax
cmp dword [ebp - 0x48], 0
jne 0x100653c1
xor eax, eax
mov dword [ebp - 0x424], 1
mov dword [ebp - 0x420], eax
jmp 0x100653cc
xorps xmm0, xmm0
movlpd qword [ebp - 0x424], xmm0
movzx ecx, byte [ebp - 0x18]
sub ecx, dword [0x100d3170]
jne 0x100653ec
xor edx, edx
mov dword [ebp - 0x75c], 1
mov dword [ebp - 0x758], edx
jmp 0x100653f7
xorps xmm0, xmm0
movlpd qword [ebp - 0x75c], xmm0
mov eax, dword [ebp - 0x420]
push eax
mov ecx, dword [ebp - 0x424]
push ecx
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
call fcn.100a25b0
add eax, dword [ebp - 0x75c]
not eax
mov word [0x100d3178], ax
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x7d0], edx
not ecx
mov eax, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x7d4], edx
not eax
and eax, dword [ebp - 0x50]
add eax, ecx
not eax
mov word [ebp - 0x2c], ax
mov ax, word [ebp - 0x78]
mov word [0x100d312c], ax
mov ecx, dword [ebp - 0x48]
xor ecx, dword [0x100d3140]
mov edx, dword [ebp - 0x48]
imul edx, ecx
mov dword [ebp - 0x48], edx
mov eax, dword [0x100d3158]
add eax, 0x6596e969
xor ecx, ecx
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x54]
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], esi
jmp 0x10065636
cmp dword [ebp - 0x40], 0
jne 0x100654a6
mov dword [ebp - 0x308], 1
jmp 0x100654b0
mov dword [ebp - 0x308], 0
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
mov dword [ebp - 0x764], eax
mov dword [ebp - 0x760], ecx
mov edx, dword [ebp - 0x764]
or edx, dword [ebp - 0x760]
jne 0x100654e1
mov dword [ebp - 0x30c], 1
jmp 0x100654eb
mov dword [ebp - 0x30c], 0
mov eax, dword [ebp - 0x308]
imul eax, dword [ebp - 0x30c]
movsx ecx, byte [ebp - 0x11]
cmp ecx, eax
jg 0x1006556d
mov eax, dword [ebp - 0x40]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
xor ecx, eax
xor esi, edx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
movsx ecx, byte [ebp - 0x11]
sar ecx, 4
mov dword [ebp - 0x44], ecx
movzx edx, byte [ebp - 0x15]
add edx, dword [0x100d3158]
movzx eax, byte [ebp - 0x15]
sub eax, edx
mov byte [ebp - 0x15], al
mov cl, byte [ebp - 0x16]
sub cl, 1
mov byte [ebp - 0x16], cl
movsx edx, word [0x100d3128]
mov eax, dword [ebp - 0x5c]
sub eax, edx
mov dword [ebp - 0x5c], eax
jmp 0x10065636
mov ecx, dword [0x100d3160]
or ecx, dword [0x100d3164]
je 0x10065636
movzx eax, byte [0x100d3027]
cdq
mov ecx, dword [0x100d3138]
sub ecx, eax
mov eax, dword [0x100d313c]
sbb eax, edx
mov dword [ebp - 0x76c], ecx
mov dword [ebp - 0x768], eax
mov ecx, dword [ebp - 0x76c]
or ecx, dword [ebp - 0x768]
je 0x10065636
push 0x78fd7
push 0xb7987aa0
mov edx, dword [ebp - 0x4c]
push edx
mov eax, dword [ebp - 0x50]
push eax
call fcn.100a25b0
mov byte [0x100d3027], al
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x7d8], edx
mov eax, dword [0x100d31b4]
xor eax, ecx
mov dword [0x100d31b4], eax
mov ecx, dword [ebp - 0x58]
mov edx, dword [ebp - 0x54]
mov dword [ebp - 0x7dc], edx
sub ecx, 0xc2d5609
mov dword [0x100d3140], ecx
movsx eax, word [ebp - 0x20]
cdq
add eax, dword [0x100d3188]
adc edx, dword [0x100d318c]
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
movsx eax, word [0x100d3128]
mov ecx, dword [ebp - 0x48]
sub ecx, eax
mov edx, dword [ebp - 0x48]
sub edx, ecx
mov dword [ebp - 0x48], edx
xor eax, eax
jmp 0x10065aea
xor eax, eax
mov dword [ebp - 0x34], 4
mov dword [ebp - 0x30], eax
movsx ecx, byte [ebp - 0x11]
add ecx, dword [ebp - 0x5c]
movsx edx, byte [ebp - 0x11]
add edx, ecx
mov byte [ebp - 0x11], dl
mov ax, word [ebp - 0x2c]
add ax, 1
mov word [ebp - 0x2c], ax
mov ecx, dword [ebp - 0x48]
add ecx, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x48]
xor edx, ecx
mov dword [ebp - 0x48], edx
mov ax, word [0x100d3c78]
mov word [ebp - 0x1c], ax
mov eax, dword [0x100d3138]
mov edx, dword [0x100d313c]
mov cl, 1
call fcn.100a25f0
mov word [0x100d31b0], ax
cmp dword [0x100d3140], 0
jne 0x100656aa
mov dword [ebp - 0x310], 1
jmp 0x100656b4
mov dword [ebp - 0x310], 0
movsx ecx, byte [0x100d304e]
mov edx, dword [ebp - 0x310]
sub edx, ecx
jne 0x100656d1
mov dword [ebp - 0x314], 1
jmp 0x100656db
mov dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x774], eax
mov dword [ebp - 0x770], ecx
mov edx, dword [ebp - 0x774]
or edx, dword [ebp - 0x770]
jne 0x10065707
mov dword [ebp - 0x318], 1
jmp 0x10065711
mov dword [ebp - 0x318], 0
movsx eax, word [0x100d312c]
not eax
mov ecx, 1
sub ecx, eax
mov edx, dword [ebp - 0x314]
sub edx, ecx
sub edx, dword [ebp - 0x318]
mov word [0x100d3178], dx
mov eax, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x42c], eax
mov dword [ebp - 0x428], ecx
cmp dword [ebp - 0x428], 0
ja 0x10065ae5
jb 0x10065764
cmp dword [ebp - 0x42c], 4
ja 0x10065ae5
mov edx, dword [ebp - 0x42c]
mov dword [ebp - 0x908], edx
mov eax, dword [ebp - 0x908]
jmp dword [eax*4 + 0x10065b48]
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 8