Function at 0x100128a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ae470
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
push ecx
sub esp, 0x8e0
push ebx
push esi
push edi
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x88c], 0xca1e57c6
mov eax, dword [0x100d3188]
mov ecx, dword [0x100d318c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov dword [ebp - 0x84], 0x77ac495
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov byte [ebp - 0x11], 0x6c
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x60], ecx
xor edx, edx
mov dword [ebp - 0x70], 0xa7d9545c
mov dword [ebp - 0x6c], edx
mov byte [ebp - 0x12], 0x88
xor eax, eax
mov dword [ebp - 0x40], 0x507d9512
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x890], edx
mov word [ebp - 0x28], cx
mov byte [ebp - 0x15], 0xff
mov ax, word [0x100d315c]
mov word [ebp - 0x2c], ax
mov ecx, 0x9968
mov word [ebp - 0x30], cx
movsx edx, word [0x100d31b0]
mov dword [ebp - 0x44], edx
mov byte [ebp - 0x13], 0x7d
xor eax, eax
mov dword [ebp - 0x54], 0x3e
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x80], 0xa62230da
mov byte [ebp - 0x14], 0xab
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov dword [ebp - 0x5c], 0xef809bb
mov ax, word [0x100d3148]
mov word [ebp - 0x24], ax
movsx cx, byte [0x100d304e]
mov word [ebp - 0x1c], cx
mov edx, 0xd2f6
mov word [ebp - 0x20], dx
mov dword [ebp - 0x58], 0xe
mov eax, dword [0x100d3174]
mov dword [ebp - 0x74], eax
movzx eax, byte [0x100d3063]
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov cx, word [0x100d3174]
mov word [ebp - 0x488], cx
movzx eax, byte [0x100d3027]
cdq
mov dword [ebp - 0x8bc], eax
mov dword [ebp - 0x8b8], edx
mov dword [ebp - 0x8b4], 0x78d5
mov edx, dword [0x100d3190]
mov byte [ebp - 0xd9], dl
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x8c4], eax
mov dword [ebp - 0x8c0], edx
xor eax, eax
mov dword [ebp - 0x8cc], 0x41
mov dword [ebp - 0x8c8], eax
mov ecx, dword [0x100d3190]
mov dword [ebp - 0x898], ecx
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x89c], eax
mov dword [ebp - 0x8a0], edx
mov byte [ebp - 0xb9], 0xfe
movsx ecx, byte [0x100d3026]
mov dword [ebp - 0x8a4], ecx
mov edx, 0x2d26
mov word [ebp - 0x48c], dx
movzx eax, word [0x100d315c]
cdq
mov dword [ebp - 0x8d4], eax
mov dword [ebp - 0x8d0], edx
mov eax, dword [0x100d3188]
mov dword [ebp - 0x8a8], eax
mov ecx, dword [0x100d3174]
xor edx, edx
mov dword [ebp - 0x8dc], ecx
mov dword [ebp - 0x8d8], edx
mov dword [ebp - 0x8ac], 0xa30fad57
xor eax, eax
mov dword [ebp - 0x8e4], 0xa1
mov dword [ebp - 0x8e0], eax
xor ecx, ecx
mov dword [ebp - 0x8ec], 0x2e1d
mov dword [ebp - 0x8e8], ecx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
mov dword [ebp - 0x8b0], eax
mov dword [ebp - 0x8f0], edx
push 0xbf
push 0
push 0
push 0
push 0x18
push 0x80
call fcn.1005c200
add esp, 0x18
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x10012c1f
mov edx, dword [ebp - 0x84]
xor edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x84]
sub eax, edx
mov dword [ebp - 0x84], eax
mov ecx, dword [0x100d318c]
push ecx
mov edx, dword [0x100d3188]
push edx
mov eax, dword [0x100d313c]
push eax
mov ecx, dword [0x100d3138]
push ecx
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov edx, dword [0x100d3174]
sub edx, dword [ebp - 0x5c]
mov dword [0x100d3174], edx
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10012b75
mov dword [ebp - 0x31c], 1
jmp 0x10012b7f
mov dword [ebp - 0x31c], 0
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov eax, dword [0x100d3164]
push eax
mov eax, dword [0x100d3160]
push eax
push edx
push ecx
call fcn.100a25b0
mov ecx, dword [ebp - 0x80]
not ecx
movsx esi, word [ebp - 0x1c]
sub esi, ecx
xor ecx, ecx
push edx
push eax
push ecx
push esi
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movzx edx, word [ebp - 0x20]
not edx
movsx eax, word [ebp - 0x1c]
sub eax, edx
or eax, dword [ebp - 0x31c]
cdq
sub eax, ecx
sbb edx, esi
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
add ecx, dword [ebp - 0x54]
adc esi, eax
not ecx
not esi
movzx edx, byte [ebp - 0x11]
movsx eax, word [ebp - 0x1c]
sub eax, edx
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3140], eax
mov eax, 1
imul ecx, eax, 0x4e2
movzx edx, byte [ecx + 0x100fa110]
mov dword [ebp - 0x60], edx
jmp 0x10012e8c
mov eax, dword [ebp - 0x5c]
cmp eax, dword [0x100d3174]
ja 0x10012c36
mov dword [ebp - 0x320], 1
jmp 0x10012c40
mov dword [ebp - 0x320], 0
cmp dword [ebp - 0x64], 0
jl 0x10012c5d
jg 0x10012c51
cmp dword [ebp - 0x68], 0x9a25
jb 0x10012c5d
mov dword [ebp - 0x324], 1
jmp 0x10012c67
mov dword [ebp - 0x324], 0
mov ecx, dword [ebp - 0x320]
not ecx
cmp ecx, dword [ebp - 0x324]
jl 0x10012c83
mov dword [ebp - 0x328], 1
jmp 0x10012c8d
mov dword [ebp - 0x328], 0
mov edx, dword [ebp - 0x328]
not edx
test edx, edx
je 0x10012d36
xor eax, eax
mov dword [ebp - 0x68], 4
mov dword [ebp - 0x64], eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x4d8], ecx
mov dword [ebp - 0x4d4], edx
mov eax, dword [ebp - 0x4d8]
or eax, dword [ebp - 0x4d4]
je 0x10012ce3
mov ecx, dword [ebp - 0x68]
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x35c], ecx
mov dword [ebp - 0x358], edx
jmp 0x10012cf5
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x35c], eax
mov dword [ebp - 0x358], edx
mov eax, dword [ebp - 0x35c]
mov dword [0x100d3158], eax
movsx ecx, word [ebp - 0x28]
add ecx, 0x2794
mov dword [ebp - 0x58], ecx
movsx edx, word [ebp - 0x1c]
add edx, 0x8703011
mov byte [ebp - 0x12], dl
mov eax, dword [0x100d3144]
add eax, 0xa01
xor ecx, ecx
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], ecx
jmp 0x10012e8c
cmp dword [0x100d3134], 0
je 0x10012e45
movsx eax, word [0x100d3130]
add eax, 0x6ddf
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
cmp dword [ebp - 0x58], 0
jne 0x10012d75
xor edx, edx
mov dword [ebp - 0x364], 1
mov dword [ebp - 0x360], edx
jmp 0x10012d80
xorps xmm0, xmm0
movlpd qword [ebp - 0x364], xmm0
movsx eax, word [ebp - 0x2c]
movsx ecx, byte [0x100d304e]
add ecx, eax
not ecx
mov eax, ecx
cdq
mov esi, dword [0x100d3188]
not esi
mov edi, dword [0x100d318c]
not edi
sub esi, eax
sbb edi, edx
mov edx, dword [ebp - 0x364]
sub edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x360]
sbb eax, dword [ebp - 0x48]
push eax
push edx
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
xor eax, esi
xor edx, edi
mov dword [ebp - 0x4e0], eax
mov dword [ebp - 0x4dc], edx
mov eax, dword [ebp - 0x4e0]
or eax, dword [ebp - 0x4dc]
jne 0x10012dee
mov byte [ebp - 0x89], 1
jmp 0x10012df5
mov byte [ebp - 0x89], 0
mov cl, byte [ebp - 0x89]
mov byte [0x100d304f], cl
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3148]
sbb esi, dword [0x100d314c]
movzx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x20], ax
movsx eax, word [ebp - 0x28]
cdq
add eax, 0x293a1e76
adc edx, 0x47c39
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
jmp 0x10012e8c
movzx edx, byte [ebp - 0x15]
test edx, edx
je 0x10012e8c
movsx eax, byte [ebp - 0x14]
xor eax, 0x9b
mov dword [0x100d311c], eax
mov ecx, dword [ebp - 0x4c]
sub ecx, 0xbcc76788
mov edx, dword [ebp - 0x48]
sbb edx, 0
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov ax, word [0x100d3c78]
mov word [ebp - 0x1c], ax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
add ecx, 1
adc edx, 0
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xe8], eax
movsx ecx, word [0x100d3130]
push ecx
call dword [sym.imp.USER32.dll_IsIconic]
mov byte [ebp - 0x11], al
mov edx, dword [ebp - 0xe8]
add edx, 0x829
mov dword [ebp - 0x16c], edx
mov eax, dword [0x100d3160]
or eax, dword [0x100d3164]
je 0x10012f93
mov eax, dword [ebp - 0x74]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [ebp - 0x38]
sbb esi, dword [ebp - 0x34]
not ecx
not esi
mov edi, dword [0x100d3160]
not edi
mov ebx, dword [0x100d3164]
not ebx
movzx eax, byte [0x100d3063]
cdq
and eax, edi
and edx, ebx
sub eax, ecx
sbb edx, esi
mov ecx, dword [0x100d3124]
push ecx
mov ecx, dword [0x100d3120]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x84], eax
movsx edx, word [ebp - 0x2c]
add edx, 0x7f2b42aa
xor eax, eax
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add ecx, edx
adc esi, eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], esi
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x894], edx
sub ecx, 0xb3b648bd
movsx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
mov byte [ebp - 0x12], al
mov eax, dword [0x100d3140]
add eax, 0x100fff45
mov word [0x100d3178], ax
mov ecx, dword [0x100d3c78]
mov dword [0x100d31b4], ecx
movsx eax, word [ebp - 0x2c]
cdq
push 0xb660
push 0xc79059e2
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
jmp 0x1001314e
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x4e8], eax
mov dword [ebp - 0x4e4], edx
mov edx, dword [ebp - 0x4e8]
cmp edx, dword [ebp - 0x38]
jne 0x10012fba
mov eax, dword [ebp - 0x4e4]
cmp eax, dword [ebp - 0x34]
je 0x10012fce
xor ecx, ecx
mov dword [ebp - 0x36c], 1
mov dword [ebp - 0x368], ecx
jmp 0x10012fd9
xorps xmm0, xmm0
movlpd qword [ebp - 0x36c], xmm0
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
not edx
not eax
mov dword [ebp - 0x4f0], edx
mov dword [ebp - 0x4ec], eax
mov ecx, dword [ebp - 0x368]
cmp ecx, dword [ebp - 0x4ec]
ja 0x100130e7
jb 0x1001301a
mov edx, dword [ebp - 0x36c]
cmp edx, dword [ebp - 0x4f0]
ja 0x100130e7
mov eax, dword [0x100d3140]
sub eax, 0x8b
movsx ecx, word [ebp - 0x2c]
imul ecx, eax
mov word [ebp - 0x2c], cx
push 0
push 0x9d
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
mov byte [ebp - 0x15], al
movzx ecx, byte [0x100d304f]
imul edx, ecx, 0x4e9f
movzx eax, byte [0x100d304f]
add eax, edx
mov byte [0x100d304f], al
movsx ecx, word [0x100d31b0]
imul eax, ecx, 0x97
cdq
and eax, dword [ebp - 0x4c]
and edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov ecx, dword [ebp - 0x44]
xor esi, esi
movsx eax, word [ebp - 0x1c]
cdq
sub eax, dword [ebp - 0x38]
sbb edx, dword [ebp - 0x34]
add eax, ecx
adc edx, esi
mov dword [ebp - 0x4f8], eax
mov dword [ebp - 0x4f4], edx
mov edx, dword [ebp - 0x4f8]
or edx, dword [ebp - 0x4f4]
jne 0x100130c2
xor eax, eax
mov dword [ebp - 0x374], 1
mov dword [ebp - 0x370], eax
jmp 0x100130cd
xorps xmm0, xmm0
movlpd qword [ebp - 0x374], xmm0
mov ecx, dword [ebp - 0x38]
add ecx, dword [ebp - 0x374]
mov edx, dword [ebp - 0x34]
adc edx, dword [ebp - 0x370]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
jmp 0x1001314e
movsx eax, word [0x100d3130]
cmp eax, 0x209c1518
jl 0x1001314e
mov ecx, dword [ebp - 0x5c]
add ecx, 0xe68fba8b
mov word [ebp - 0x1c], cx
mov edx, dword [0x100d3160]
not edx
mov eax, dword [0x100d3140]
not eax
add eax, edx
mov dword [0x100d3158], eax
movzx ecx, byte [0x100d3027]
sub ecx, 0x2eb7f7a1
xor edx, edx
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [0x100d3168], eax
mov dword [0x100d316c], ecx
mov edx, dword [ebp - 0x5c]
shr edx, 2
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0xe8]
add eax, 0x525
mov dword [ebp - 0x498], eax
cmp dword [ebp - 0x5c], 0
je 0x100131de
movsx ecx, word [ebp - 0x28]
cmp ecx, dword [ebp - 0x84]
jg 0x100131de
mov dl, byte [ebp - 0x14]
mov byte [0x100d3063], dl
movsx eax, word [ebp - 0x24]
add eax, dword [ebp - 0x84]
movsx ecx, word [ebp - 0x24]
imul ecx, eax
mov word [ebp - 0x24], cx
mov edx, 0x3d
mov word [ebp - 0x2c], dx
xor eax, eax
mov ecx, dword [0x100d3160]
sub ecx, dword [ebp - 0x44]
mov edx, dword [0x100d3164]
sbb edx, eax
xor ecx, dword [0x100d3160]
xor edx, dword [0x100d3164]
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
mov eax, dword [0x100d311c]
cdq
mov ecx, eax
add ecx, dword [0x100d3160]
mov eax, dword [0x100d311c]
cdq
sub eax, ecx
mov dword [0x100d311c], eax
mov edx, dword [ebp - 0xe8]
add edx, 0x81b
mov dword [ebp - 0x170], edx
mov dword [ebp - 4], 0
mov eax, 4
mov word [0x100d3130], ax
movzx eax, byte [ebp - 0x11]
cdq
add eax, 0x91e4e999
mov word [0x100d3130], ax
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov eax, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov ecx, 0xccca
mov word [0x100d315c], cx
xor edx, edx
mov dword [ebp - 0x40], 0x3fd1
mov dword [ebp - 0x3c], edx
mov eax, dword [0x100d3148]
add eax, 0xbd2f
mov byte [ebp - 0x12], al
movsx ecx, word [0x100d3130]
mov dword [ebp - 0x32c], ecx
cmp dword [ebp - 0x32c], 4
ja case.default.0x1001327b
mov edx, dword [ebp - 0x32c]
jmp dword [edx*4 + 0x1001aca4]
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
mov edx, dword [0x100d3c78]
mov dword [0x100d3170], edx
movsx eax, byte [0x100d3026]
imul ecx, eax, 0xa19dd9ad
xor edx, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
mov byte [0x100d304f], 4
movzx eax, byte [ebp - 0x15]
movsx ecx, word [0x100d3128]
lea edx, [ecx + eax + 0x9c]
mov word [0x100d3128], dx
jmp case.default.0x1001327b
mov eax, dword [0x100d3138]
not eax
mov ecx, dword [0x100d313c]
not ecx
mov edx, dword [0x100d3180]
mov esi, dword [0x100d3184]
add edx, eax
adc esi, ecx
not edx
not esi
mov dword [0x100d3148], edx
mov dword [0x100d314c], esi
movzx eax, word [0x100d3178]
and eax, 0x7c2
mov word [ebp - 0x28], ax
mov ecx, dword [0x100d3168]
xor ecx, 0x3269880f
mov dword [0x100d3158], ecx
movsx edx, word [0x100d31b0]
imul eax, edx, 0x7b
cdq
add eax, dword [0x100d3138]
adc edx, dword [0x100d313c]
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov eax, 0x5fd3be37
sub eax, dword [ebp - 0x5c]
mov dword [ebp - 0x80], eax
movsx ecx, word [0x100d312c]
movsx eax, word [ebp - 0x28]
add eax, ecx
not eax
cdq
mov edx, dword [ebp - 0x68]
sub edx, dword [0x100d3170]
or edx, eax
not edx
mov dword [ebp - 0x60], edx
jmp case.default.0x1001327b
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
sub eax, 0xb999293
sbb ecx, 0x7f83f
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
movsx edx, word [0x100d3130]
imul edx, dword [ebp - 0x60]
movsx eax, word [0x100d3130]
sub eax, edx
mov word [0x100d3130], ax
mov ecx, dword [0x100d3174]
sub ecx, dword [0x100d31b4]
mov dword [0x100d3174], ecx
movzx edx, byte [0x100d3063]
mov eax, dword [ebp - 0x84]
add edx, dword [ebp - 0x5c]
add eax, edx
jne 0x100133e3
mov ecx, 1
mov word [ebp - 0xa8], cx
jmp 0x100133ec
xor edx, edx
mov word [ebp - 0xa8], dx
mov ax, word [ebp - 0xa8]
mov word [ebp - 0x30], ax
mov byte [ebp - 0x12], 1
jmp case.default.0x1001327b
imul ecx, dword [ebp - 0x44], 0x62
xor edx, edx
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 8
call fcn.100a26c0
mov dword [ebp - 0x44], eax
movzx eax, word [ebp - 0x20]
add eax, 0xea
mov dword [0x100d31b4], eax
mov ecx, 2
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x70]
add edx, 0xeb64a01a
mov eax, dword [ebp - 0x6c]
adc eax, 0xa0721
mov dword [ebp - 0x68], edx
mov dword [ebp - 0x64], eax
jmp case.default.0x1001327b
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x500], ecx
mov dword [ebp - 0x4fc], edx
mov eax, dword [ebp - 0x500]
or eax, dword [ebp - 0x4fc]
jne 0x1001347b
mov dword [ebp - 0xf8], 1
jmp 0x10013485
mov dword [ebp - 0xf8], 0
mov ecx, dword [ebp - 0xf8]
add ecx, dword [0x100d31b4]
mov edx, dword [0x100d3170]
not edx
mov esi, dword [ebp - 0x58]
sub esi, edx
add esi, ecx
mov eax, dword [ebp - 0x44]
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x7c0], edx
not ecx
xor ecx, eax
mov eax, dword [ebp - 0x84]
cdq
add eax, 0x45f28d0
sub eax, ecx
sub eax, esi
mov dword [0x100d3158], eax
cmp dword [ebp - 0x84], 0
jne 0x100134eb
xor eax, eax
mov dword [ebp - 0x37c], 1
mov dword [ebp - 0x378], eax
jmp 0x100134f6
xorps xmm0, xmm0
movlpd qword [ebp - 0x37c], xmm0
mov ecx, dword [ebp - 0x37c]
add ecx, dword [0x100d3168]
mov edx, dword [ebp - 0x378]
adc edx, dword [0x100d316c]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
xor eax, eax
mov dword [0x100d31a0], 8
mov dword [0x100d31a4], eax
movsx ecx, word [ebp - 0x28]
sub ecx, dword [ebp - 0x84]
movzx edx, byte [0x100d304f]
add edx, dword [0x100d31b4]
or edx, ecx
xor eax, eax
mov dword [0x100d3198], edx
mov dword [0x100d319c], eax
jmp 0x100135d3
mov dword [ebp - 4], 0xffffffff
jmp 0x100135e3
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xec], edx
push 0x47
push 0
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x7c4], ecx
movzx edx, ax
push edx
push 0
call fcn.1005c780
add esp, 0x10
mov word [ebp - 0x20], ax
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x100136bd
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x30]
cdq
push 0x99a07
push 0xcc70837d
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x74], eax
movsx ecx, byte [ebp - 0x13]
test ecx, ecx
je 0x10013661
movsx eax, word [ebp - 0x28]
cdq
mov dword [ebp - 0x384], eax
mov dword [ebp - 0x380], edx
jmp 0x10013678
mov edx, dword [0x100d3160]
mov eax, dword [0x100d3164]
mov dword [ebp - 0x384], edx
mov dword [ebp - 0x380], eax
mov cx, word [ebp - 0x384]
mov word [ebp - 0x24], cx
mov eax, dword [ebp - 0x74]
cdq
add eax, dword [ebp - 0x38]
adc edx, dword [ebp - 0x34]
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x34]
sbb eax, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
movzx eax, word [0x100d315c]
cdq
mov ecx, dword [ebp - 0x70]
sub ecx, eax
mov eax, dword [ebp - 0x6c]
sbb eax, edx
or ecx, dword [ebp - 0x70]
or eax, dword [ebp - 0x6c]
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], eax
jmp 0x10013725
mov ecx, 0xf486ccc2
test ecx, ecx
je 0x10013725
movsx edx, word [ebp - 0x24]
add edx, 0xf126
mov word [ebp - 0x2c], dx
mov ax, word [0x100d315c]
sub ax, 1
mov word [0x100d315c], ax
movzx eax, word [0x100d315c]
cdq
and eax, dword [0x100d3168]
and edx, dword [0x100d316c]
add eax, dword [0x100d3168]
adc edx, dword [0x100d316c]
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov dword [0x100d3140], 0x58b0
mov ecx, 0xfffffa2b
mov word [0x100d312c], cx
mov edx, dword [ebp - 0xec]
add edx, 0x643
mov dword [ebp - 0x1c8], edx
movsx eax, byte [0x100d304e]
cdq
sub eax, 0x9547077e
mov byte [ebp - 0x14], al
mov eax, dword [0x100d3140]
sub eax, 0x4bcf
xor ecx, ecx
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], ecx
imul edx, dword [0x100d3140], 0x833c7a68
mov dword [ebp - 0x5c], edx
mov eax, dword [0x100d3120]
add eax, 0xa7357688
mov dword [0x100d3190], eax
movsx ecx, word [ebp - 0x1c]
imul ecx, dword [ebp - 0x5c]
test ecx, ecx
jne 0x1001379a
xor edx, edx
mov dword [ebp - 0x38c], 1
mov dword [ebp - 0x388], edx
jmp 0x100137a5
xorps xmm0, xmm0
movlpd qword [ebp - 0x38c], xmm0
mov eax, dword [ebp - 0x38c]
mov ecx, dword [ebp - 0x388]
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 0xec]
add edx, 0x4dd
mov dword [ebp - 0x4a4], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x7c8], ecx
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
xor edx, edx
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov eax, dword [ebp - 0xec]
add eax, 0x75e
mov dword [ebp - 0x4a0], eax
mov dword [ebp - 0xf0], 0
jmp 0x10013815
mov ecx, dword [ebp - 0xf0]
add ecx, 1
mov dword [ebp - 0xf0], ecx
cmp dword [ebp - 0xf0], 0xdc
jge 0x100138ae
jmp 0x1001383c
jmp 0x10013862
jmp 0x10013883
jmp 0x1001388d
mov edx, dword [0x100d3168]
add edx, 1
mov eax, dword [0x100d316c]
adc eax, 0
mov dword [0x100d3168], edx
mov dword [0x100d316c], eax
jmp 0x10013806
mov ecx, 0x1634
mov word [0x100d31b0], cx
mov dx, word [0x100d3130]
mov eax, 2
imul ecx, eax, 0x15b4
mov word [ecx + 0x10196a80], dx
mov dword [ebp - 0x5c], 1
movsx eax, word [0x100d3128]
cdq
mov ecx, eax
add ecx, dword [0x100d3168]
movsx eax, word [0x100d3128]
cdq
sub eax, ecx
mov word [0x100d3128], ax
movzx eax, byte [0x100d3027]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub ecx, eax
sbb esi, edx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
add edx, ecx
adc eax, esi
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
movzx ecx, word [ebp - 0x20]
cmp ecx, dword [0x100d3144]
jb 0x10013944
mov dword [ebp - 0xfc], 1
jmp 0x1001394e
mov dword [ebp - 0xfc], 0
movzx edx, word [ebp - 0x20]
cmp edx, 0x5e
jl 0x10013963
mov dword [ebp - 0x100], 1
jmp 0x1001396d
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xfc]
cmp eax, dword [ebp - 0x100]
jg 0x10013cc5
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x508], eax
mov dword [ebp - 0x504], edx
mov ecx, dword [ebp - 0x504]
cmp ecx, dword [0x100d3154]
jb 0x10013c0d
ja 0x100139b6
mov edx, dword [ebp - 0x508]
cmp edx, dword [0x100d3150]
jbe 0x10013c0d
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x104], eax
cmp dword [ebp - 0x104], 0
je 0x100139f1
mov eax, dword [ebp - 0x104]
push eax
call dword [sym.imp.USER32.dll_GetMenu]
mov dword [ebp - 0x490], eax
mov ecx, dword [ebp - 0x490]
push ecx
call dword [sym.imp.USER32.dll_DestroyMenu]
mov dword [ebp - 0x7cc], eax
movsx edx, byte [ebp - 0x14]
test edx, edx
jg 0x10013a05
mov dword [ebp - 0x108], 1
jmp 0x10013a0f
mov dword [ebp - 0x108], 0
movsx eax, byte [ebp - 0x14]
cmp eax, 0x1f
jg 0x10013a24
mov dword [ebp - 0x10c], 1
jmp 0x10013a2e
mov dword [ebp - 0x10c], 0
mov ecx, dword [ebp - 0x108]
cmp ecx, dword [ebp - 0x10c]
jge 0x10013b58
mov dword [ebp - 0xb0], 0x2e1
jmp 0x10013a5b
mov edx, dword [ebp - 0xb0]
sub edx, 1
mov dword [ebp - 0xb0], edx
cmp dword [ebp - 0xb0], 0
jle 0x10013b53
movzx eax, byte [ebp - 0x11]
imul eax, dword [0x100d311c]
mov byte [ebp - 0x11], al
mov ecx, dword [0x100d3160]
sub ecx, 0x72
movsx eax, word [ebp - 0x24]
cdq
and eax, ecx
mov word [ebp - 0x24], ax
mov byte [ebp - 0x13], 0xcc
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
push eax
push edx
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, word [0x100d315c]
add eax, dword [0x100d3190]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
push 0xd5320
push 0x1484eb63
push ecx
push eax
call fcn.100a25b0
push edi
push esi
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov esi, edx
mov eax, dword [0x100d3134]
not eax
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x510], eax
mov dword [ebp - 0x50c], edx
mov edx, dword [ebp - 0x510]
or edx, dword [ebp - 0x50c]
jne 0x10013b28
xor eax, eax
mov dword [ebp - 0x394], 1
mov dword [ebp - 0x390], eax
jmp 0x10013b33
xorps xmm0, xmm0
movlpd qword [ebp - 0x394], xmm0
mov ecx, dword [ebp - 0x394]
mov edx, dword [ebp - 0x390]
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x80]
add eax, 1
mov dword [ebp - 0x80], eax
jmp 0x10013a4c
jmp 0x10013c08
movsx eax, word [0x100d3128]
cdq
add eax, 0xc42fe53e
mov dword [ebp - 0x60], eax
movzx ecx, byte [ebp - 0x15]
xor ecx, 0x9a
mov dword [ebp - 0x5c], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x7d0], eax
mov word [ebp - 0x1c], dx
xor ecx, ecx
mov dword [0x100d31a0], 0xc9f3234b
mov dword [0x100d31a4], ecx
cmp dword [0x100d311c], 0
je 0x10013bb9
mov edx, dword [0x100d3188]
mov eax, dword [0x100d318c]
mov dword [ebp - 0x39c], edx
mov dword [ebp - 0x398], eax
jmp 0x10013bd1
mov ecx, dword [0x100d3168]
mov edx, dword [0x100d316c]
mov dword [ebp - 0x39c], ecx
mov dword [ebp - 0x398], edx
mov eax, dword [ebp - 0x39c]
mov dword [0x100d3140], eax
mov ecx, dword [0x100d3174]
xor edx, edx
add ecx, dword [0x100d3188]
adc edx, dword [0x100d318c]
and ecx, dword [0x100d3188]
and edx, dword [0x100d318c]
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
jmp 0x10013cc0
movzx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x518], eax
mov dword [ebp - 0x514], edx
cmp dword [ebp - 0x518], 0x23c12fd2
jne 0x10013c3a
cmp dword [ebp - 0x514], 0xee4c9
je 0x10013cc0
movsx eax, word [ebp - 0x2c]
and eax, 0xf9832b7d
movsx ecx, word [ebp - 0x24]
add ecx, eax
mov word [ebp - 0x24], cx
movzx edx, word [0x100d315c]
test edx, edx
je 0x10013c6c
mov eax, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x3a4], eax
mov dword [ebp - 0x3a0], ecx
jmp 0x10013c7d
mov edx, dword [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x3a4], edx
mov dword [ebp - 0x3a0], eax
mov cx, word [ebp - 0x3a4]
mov word [0x100d3130], cx
movsx edx, byte [ebp - 0x12]
mov eax, dword [0x100d311c]
add eax, edx
mov ecx, dword [0x100d311c]
sub ecx, eax
mov dword [0x100d311c], ecx
mov edx, dword [ebp - 0x84]
and edx, 0xec
mov word [0x100d3178], dx
mov eax, 0xc7
mov word [ebp - 0x2c], ax
jmp 0x10013f02
cmp dword [0x100d3134], 0
je 0x10013d8d
mov eax, dword [ebp - 0x58]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
add ecx, eax
adc esi, edx
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], esi
movzx edx, byte [ebp - 0x11]
movsx eax, byte [ebp - 0x14]
sub eax, edx
mov byte [ebp - 0x14], al
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [ebp - 0x4c]
adc esi, dword [ebp - 0x48]
movzx eax, byte [ebp - 0x11]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x11], al
movsx edx, word [ebp - 0x1c]
movsx eax, word [0x100d3128]
add eax, edx
mov word [0x100d3128], ax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x7d4], edx
movsx eax, word [ebp - 0x28]
cdq
mov esi, eax
sub esi, ecx
movsx eax, word [ebp - 0x28]
cdq
or eax, esi
mov word [ebp - 0x28], ax
movsx eax, word [0x100d3128]
test eax, eax
je 0x10013d6e
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x110], ecx
jmp 0x10013d7b
movsx edx, byte [0x100d304e]
mov dword [ebp - 0x110], edx
mov ax, word [ebp - 0x110]
mov word [0x100d315c], ax
jmp 0x10013f02
movsx ecx, byte [0x100d304e]
movsx edx, word [0x100d31b0]
cmp edx, ecx
je 0x10013e0f
movzx eax, byte [0x100d3063]
not eax
mov word [ebp - 0x20], ax
mov ecx, dword [ebp - 0x70]
xor ecx, 0x92dafafc
mov edx, dword [ebp - 0x6c]
xor edx, 0
mov dword [0x100d3148], ecx
mov dword [0x100d314c], edx
movzx eax, byte [ebp - 0x11]
add eax, 0x7afa2dc9
mov dword [0x100d3134], eax
movzx ecx, byte [0x100d3027]
mov edx, dword [0x100d311c]
sub edx, ecx
mov eax, dword [0x100d311c]
imul eax, edx
mov dword [0x100d311c], eax
mov ecx, dword [0x100d31b4]
add ecx, 0xc410184a
mov dword [ebp - 0x60], ecx
imul edx, dword [ebp - 0x44], 0x45fe7281
mov dword [ebp - 0x60], edx
jmp 0x10013f02
movsx eax, word [ebp - 0x2c]
test eax, eax
je 0x10013f02
mov byte [ebp - 0x12], 1
xor ecx, ecx
mov edx, dword [0x100d3138]
sub edx, dword [0x100d3174]
mov eax, dword [0x100d313c]
sbb eax, ecx
push eax
push edx
mov ecx, dword [0x100d313c]
push ecx
mov edx, dword [0x100d3138]
push edx
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
movzx eax, word [ebp - 0x30]
movsx ecx, word [ebp - 0x1c]
sub ecx, eax
mov word [ebp - 0x1c], cx
mov edx, dword [ebp - 0x80]
sub edx, dword [0x100d3150]
movzx eax, byte [0x100d3027]
imul ecx, eax, 0xb66f8f7d
xor ecx, edx
mov byte [ebp - 0x13], cl
cmp dword [0x100d3140], 0
jne 0x10013e9a
xor edx, edx
mov dword [ebp - 0x3ac], 1
mov dword [ebp - 0x3a8], edx
jmp 0x10013ea5
xorps xmm0, xmm0
movlpd qword [ebp - 0x3ac], xmm0
mov eax, dword [ebp - 0x4c]
not eax
mov ecx, dword [ebp - 0x48]
not ecx
xor eax, dword [ebp - 0x3ac]
xor ecx, dword [ebp - 0x3a8]
mov edx, dword [0x100d31b4]
xor esi, esi
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov dword [ebp - 0x520], eax
mov dword [ebp - 0x51c], edx
mov eax, dword [ebp - 0x520]
or eax, dword [ebp - 0x51c]
jne 0x10013eef
mov byte [ebp - 0x8a], 1
jmp 0x10013ef6
mov byte [ebp - 0x8a], 0
mov cl, byte [ebp - 0x8a]
mov byte [0x100d3027], cl
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x528], eax
mov dword [ebp - 0x524], edx
mov edx, dword [0x100d3124]
cmp edx, dword [ebp - 0x524]
ja 0x10013fff
jb 0x10013f38
mov eax, dword [0x100d3120]
cmp eax, dword [ebp - 0x528]
jae 0x10013fff
mov ecx, dword [ebp - 0x44]
add ecx, 0x186b38e
mov dword [0x100d31b4], ecx
movsx eax, word [0x100d3128]
cdq
push edx
push eax
mov edx, dword [0x100d3124]
push edx
mov eax, dword [0x100d3120]
push eax
call fcn.100a25b0
xor eax, dword [0x100d3120]
xor edx, dword [0x100d3124]
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
push 0x14543
push 0xc5dbbec6
mov ecx, dword [0x100d318c]
push ecx
mov edx, dword [0x100d3188]
push edx
call fcn.100a25b0
mov ecx, eax
mov esi, edx
movsx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
mov edx, dword [0x100d3168]
add edx, 0x619b755f
mov eax, dword [0x100d316c]
adc eax, 0xb37bc
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x7d8], edx
add ecx, 0xe32ba49e
mov word [ebp - 0x24], cx
xor eax, eax
mov dword [0x100d31a8], 0xb45b
mov dword [0x100d31ac], eax
jmp 0x1001408c
movsx ecx, word [0x100d3130]
sub ecx, 0x2a19191f
xor edx, edx
mov eax, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
add eax, ecx
adc esi, edx
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], esi
movsx ecx, word [ebp - 0x1c]
imul edx, ecx, 0xba37
mov dword [0x100d3140], edx
mov eax, dword [ebp - 0x74]
cdq
add eax, 0xfb04dda3
mov dword [0x100d3140], eax
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
add eax, dword [0x100d3148]
adc ecx, dword [0x100d314c]
mov dword [0x100d3198], eax
mov dword [0x100d319c], ecx
imul edx, dword [ebp - 0x5c], 0x2531
movzx eax, word [0x100d3178]
sub eax, edx
mov word [0x100d3178], ax
mov ecx, dword [0x100d3c78]
xor edx, edx
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], edx
mov eax, dword [0x100d3188]
not eax
mov byte [ebp - 0x12], al
mov ecx, dword [0x100d3160]
not ecx
add ecx, dword [ebp - 0x5c]
not ecx
mov word [0x100d3130], cx
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
sub edx, dword [0x100d3168]
sbb eax, dword [0x100d316c]
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
xor ecx, edx
xor esi, eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], esi
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x7dc], eax
add edx, 0xc1b4f6db
mov dword [0x100d31b4], edx
cmp dword [ebp - 0x60], 0
jne 0x100140fb
mov dword [ebp - 0x114], 1
jmp 0x10014105
mov dword [ebp - 0x114], 0
movsx ecx, word [ebp - 0x1c]
add ecx, dword [ebp - 0x114]
not ecx
mov dword [ebp - 0x74], ecx
movzx edx, byte [ebp - 0x11]
cmp edx, dword [0x100d3134]
jl 0x1001412c
mov dword [ebp - 0x118], 1
jmp 0x10014136
mov dword [ebp - 0x118], 0
movzx eax, byte [ebp - 0x11]
cmp eax, 5
jl 0x1001414b
mov dword [ebp - 0x11c], 1
jmp 0x10014155
mov dword [ebp - 0x11c], 0
mov ecx, dword [ebp - 0x118]
cmp ecx, dword [ebp - 0x11c]
jge 0x1001445a
call dword [sym.imp.USER32.dll_GetMessagePos]
mov word [0x100d315c], ax
movzx edx, word [0x100d315c]
test edx, edx
je 0x10014380
mov dword [ebp - 0xb4], 0x60
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x530], eax
mov dword [ebp - 0x52c], ecx
mov edx, dword [ebp - 0x530]
or edx, dword [ebp - 0x52c]
jne 0x100141b8
mov dword [ebp - 0x120], 1
jmp 0x100141c2
mov dword [ebp - 0x120], 0
mov eax, dword [0x100d31a4]
mov ecx, dword [0x100d3144]
not ecx
imul ecx, dword [ebp - 0x120]
xor edx, edx
add ecx, dword [0x100d31a0]
adc edx, eax
xor eax, eax
mov esi, dword [0x100d3198]
mov edi, dword [0x100d319c]
add esi, dword [ebp - 0x80]
adc edi, eax
add esi, 0xe8bd
adc edi, 0
not esi
not edi
push edx
push ecx
push edi
push esi
call fcn.100a25b0
mov byte [ebp - 0x11], al
mov ecx, dword [0x100d3140]
xor edx, edx
mov eax, dword [0x100d314c]
push eax
mov eax, dword [0x100d3148]
push eax
push edx
push ecx
call fcn.100a25b0
mov ecx, dword [0x100d3140]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3140], eax
mov edx, dword [ebp - 0x4c]
or edx, dword [ebp - 0x48]
je 0x10014259
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x334], eax
mov dword [ebp - 0x330], ecx
jmp 0x10014270
mov edx, dword [0x100d3188]
mov eax, dword [0x100d318c]
mov dword [ebp - 0x334], edx
mov dword [ebp - 0x330], eax
mov ecx, dword [ebp - 0x334]
mov edx, dword [ebp - 0x330]
mov dword [0x100d3180], ecx
mov dword [0x100d3184], edx
mov eax, dword [0x100d3138]
not eax
mov ecx, dword [0x100d313c]
not ecx
mov edx, dword [ebp - 0x48]
push edx
mov edx, dword [ebp - 0x4c]
push edx
push ecx
push eax
call fcn.100a25b0
mov dword [ebp - 0x538], eax
mov dword [ebp - 0x534], edx
mov eax, dword [ebp - 0x538]
or eax, dword [ebp - 0x534]
jne 0x100142ce
mov ecx, 1
mov word [ebp - 0xaa], cx
jmp 0x100142d7
xor edx, edx
mov word [ebp - 0xaa], dx
mov ax, word [ebp - 0xaa]
mov word [0x100d3178], ax
movsx ecx, word [ebp - 0x28]
mov edx, dword [0x100d3140]
sub edx, ecx
mov dword [0x100d3140], edx
movsx eax, word [ebp - 0x24]
imul ecx, eax, 0xaf7cad3f
mov word [ebp - 0x28], cx
xor edx, edx
mov dword [0x100d3138], 0x9c
mov dword [0x100d313c], edx
mov eax, dword [ebp - 0x64]
push eax
mov ecx, dword [ebp - 0x68]
push ecx
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov ecx, dword [ebp - 0x80]
add ecx, 0xfc16ecee
mov dword [0x100d3170], ecx
push 0
push 0x68
mov edx, dword [0x100d3124]
push edx
mov eax, dword [0x100d3120]
push eax
call fcn.100a25b0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0xb4]
add ecx, 1
mov dword [ebp - 0xb4], ecx
cmp dword [ebp - 0xb4], 0xa2b
jl 0x100142e4
jmp 0x10014458
push 0
push 0x2d07
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x68]
push eax
call fcn.100a25b0
mov ecx, dword [0x100d3170]
sub ecx, eax
mov dword [0x100d3170], ecx
mov edx, dword [0x100d3158]
add edx, 0x2613cf94
jne 0x100143bc
mov dword [ebp - 0x128], 1
jmp 0x100143c6
mov dword [ebp - 0x128], 0
movsx eax, word [0x100d3128]
test eax, eax
jne 0x100143dd
mov dword [ebp - 0x124], 1
jmp 0x100143e7
mov dword [ebp - 0x124], 0
mov ecx, dword [0x100d3134]
not ecx
sub ecx, dword [ebp - 0x124]
mov eax, ecx
imul eax, dword [ebp - 0x128]
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movsx edx, byte [0x100d304e]
movsx eax, word [ebp - 0x1c]
add eax, edx
mov byte [0x100d3026], al
movzx ecx, byte [0x100d3027]
movsx edx, word [0x100d3128]
add edx, ecx
mov word [0x100d3128], dx
movsx eax, word [0x100d3128]
movsx ecx, byte [0x100d304e]
sub ecx, eax
mov byte [0x100d304e], cl
movzx eax, word [ebp - 0x30]
cdq
sub eax, dword [0x100d3188]
mov word [ebp - 0x30], ax
jmp 0x100144c5
mov edx, dword [0x100d3150]
or edx, dword [0x100d3154]
jne 0x10014470
movsx eax, word [ebp - 0x28]
test eax, eax
je 0x100144c5
movzx ecx, word [0x100d315c]
imul eax, ecx, 0x6d0
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
movzx edx, byte [ebp - 0x11]
sub edx, 0x2a
mov eax, dword [0x100d311c]
sub eax, edx
mov dword [0x100d311c], eax
movzx ecx, word [0x100d315c]
add ecx, 0x642294b2
movsx edx, byte [ebp - 0x12]
sub edx, ecx
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x44]
imul eax, dword [ebp - 0x84]
mov ecx, dword [ebp - 0x44]
add ecx, eax
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x318], 0
mov edx, dword [ebp - 0x44]
push edx
push 0
push 0x9b
push 0x65
call fcn.1005a510
add esp, 0x10
movzx eax, ax
mov dword [0x100d3190], eax
cmp dword [0x100d3190], 0
je 0x10014606
movsx ecx, word [ebp - 0x2c]
push ecx
push 0xd9
mov edx, dword [0x100d3158]
push edx
push 0x9a
mov eax, dword [0x100d3168]
push eax
push 0xa8
call fcn.1005c200
add esp, 0x18
mov word [0x100d31b0], ax
cmp dword [0x100d3158], 0
jne 0x1001453d
mov dword [ebp - 0x12c], 1
jmp 0x10014547
mov dword [ebp - 0x12c], 0
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x1001455b
mov dword [ebp - 0x130], 1
jmp 0x10014565
mov dword [ebp - 0x130], 0
mov edx, dword [ebp - 0x12c]
cmp edx, dword [ebp - 0x130]
jle 0x10014601
imul eax, dword [0x100d3134], 0xd2
mov word [ebp - 0x20], ax
mov ecx, 0x66ee
mov word [0x100d3178], cx
movzx edx, word [ebp - 0x30]
test edx, edx
jne 0x100145a5
mov dword [ebp - 0x134], 1
jmp 0x100145af
mov dword [ebp - 0x134], 0
mov ecx, dword [ebp - 0x68]
not ecx
movsx edx, word [0x100d3128]
imul eax, edx, 0x76
cdq
mov esi, eax
add esi, ecx
mov eax, dword [ebp - 0x58]
imul eax, dword [ebp - 0x134]
cdq
add eax, esi
mov dword [0x100d3158], eax
movzx eax, word [ebp - 0x20]
sub eax, 0xf502
mov byte [ebp - 0x13], al
mov ecx, dword [0x100d3170]
sub ecx, 0x4ec7
mov byte [ebp - 0x12], cl
movzx edx, byte [0x100d3063]
sub edx, 0x33877ad0
mov word [ebp - 0x2c], dx
jmp 0x100146f2
movsx eax, word [ebp - 0x24]
test eax, eax
je 0x100146f2
mov eax, dword [ebp - 0x58]
not eax
cdq
mov ecx, dword [ebp - 0x70]
not ecx
mov esi, dword [ebp - 0x6c]
not esi
add ecx, eax
adc esi, edx
mov edx, dword [0x100d311c]
xor edx, 0x95ad8f91
xor eax, eax
sub edx, ecx
sbb eax, esi
mov ecx, dword [ebp - 0x50]
mov esi, dword [0x100d3198]
mov edi, dword [0x100d319c]
add esi, dword [ebp - 0x54]
adc edi, ecx
push eax
push edx
push edi
push esi
call fcn.100a25b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movsx edx, byte [0x100d304e]
test edx, edx
jne 0x10014672
mov dword [ebp - 0x138], 1
jmp 0x1001467c
mov dword [ebp - 0x138], 0
movzx eax, word [0x100d3178]
mov ecx, dword [0x100d3140]
not ecx
add ecx, eax
jne 0x1001469b
mov dword [ebp - 0x13c], 1
jmp 0x100146a5
mov dword [ebp - 0x13c], 0
movzx edx, byte [0x100d3027]
mov eax, dword [0x100d3134]
not eax
imul eax, edx
imul eax, dword [ebp - 0x58]
movzx ecx, byte [0x100d304f]
add ecx, dword [ebp - 0x138]
xor ecx, dword [ebp - 0x13c]
and ecx, eax
mov word [0x100d3178], cx
mov edx, 0xf0df6b2c
sub edx, dword [ebp - 0x38]
mov dword [ebp - 0x58], edx
xor eax, eax
mov dword [0x100d3160], 0xf516
mov dword [0x100d3164], eax
xor ecx, ecx
mov word [ebp - 0xa4], cx
mov edx, 8
mov word [ebp - 0x1c], dx
movsx eax, word [ebp - 0x1c]
not eax
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [0x100d304f]
movzx ecx, word [0x100d3178]
xor eax, ecx
cdq
mov ebx, eax
mov eax, edx
movsx edx, byte [ebp - 0x14]
mov dword [ebp - 0x494], eax
mov eax, edx
cdq
push 0x5aedc
push 0x78eb9562
push edx
push eax
call fcn.100a25b0
add eax, ebx
mov ebx, dword [ebp - 0x494]
adc edx, ebx
push edi
push esi
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3158], eax
movsx eax, word [ebp - 0x1c]
movsx ecx, word [0x100d3128]
sub ecx, 0x5d398458
sub ecx, eax
xor edx, edx
mov dword [0x100d3168], ecx
mov dword [0x100d316c], edx
movsx eax, byte [ebp - 0x12]
movsx ecx, byte [ebp - 0x14]
sub ecx, eax
mov word [0x100d31b0], cx
movsx edx, word [0x100d312c]
test edx, edx
jne 0x100147a5
mov eax, 1
mov word [ebp - 0xa6], ax
jmp 0x100147ae
xor ecx, ecx
mov word [ebp - 0xa6], cx
mov dx, word [ebp - 0xa6]
mov word [0x100d315c], dx
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
mov dword [ebp - 0x540], ecx
mov dword [ebp - 0x53c], esi
mov dword [ebp - 0x548], eax
mov dword [ebp - 0x544], edx
mov edx, dword [ebp - 0x540]
cmp edx, dword [ebp - 0x548]
jne 0x1001480d
mov eax, dword [ebp - 0x53c]
cmp eax, dword [ebp - 0x544]
jne 0x1001480d
mov dword [ebp - 0x140], 1
jmp 0x10014817
mov dword [ebp - 0x140], 0
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x550], ecx
mov dword [ebp - 0x54c], edx
cmp dword [ebp - 0x550], 0x19
jne 0x1001484d
cmp dword [ebp - 0x54c], 0
jne 0x1001484d
mov dword [ebp - 0x144], 1
jmp 0x10014857
mov dword [ebp - 0x144], 0
mov eax, dword [ebp - 0x140]
cmp eax, dword [ebp - 0x144]
je 0x10014d5f
mov dword [ebp - 0xb8], 0
jmp 0x10014884
mov ecx, dword [ebp - 0xb8]
add ecx, 1
mov dword [ebp - 0xb8], ecx
cmp dword [ebp - 0xb8], 0x1a5
jge 0x10014d5a
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x7e0], eax
movzx ecx, dx
push ecx
push 0
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
ja 0x100148c7
cmp dword [ebp - 0x4c], 0
jbe 0x100148d3
mov dword [ebp - 0x148], 1
jmp 0x100148dd
mov dword [ebp - 0x148], 0
cmp dword [ebp - 0x48], 0
ja 0x100148e9
cmp dword [ebp - 0x4c], 0x51
jbe 0x100148f5
mov dword [ebp - 0x14c], 1
jmp 0x100148ff
mov dword [ebp - 0x14c], 0
mov edx, dword [ebp - 0x148]
cmp edx, dword [ebp - 0x14c]
jle 0x10014c7b
movzx eax, word [0x100d3158]
push eax
push 0
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
cmp dword [ebp - 0x48], 0
ja 0x10014a4f
jb 0x10014941
cmp dword [ebp - 0x4c], 0
ja 0x10014a4f
movzx ecx, byte [0x100d3063]
test ecx, ecx
je 0x10014a4a
mov eax, dword [ebp - 0x58]
cdq
push edx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.100a25b0
xor eax, dword [ebp - 0x38]
xor edx, dword [ebp - 0x34]
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
movsx ecx, word [0x100d31b0]
add ecx, 0x25dfb3eb
mov dword [0x100d3144], ecx
movzx edx, byte [0x100d3027]
test edx, edx
je 0x100149a1
movzx eax, word [0x100d3178]
mov dword [ebp - 0x150], eax
jmp 0x100149ad
mov ecx, dword [0x100d3158]
mov dword [ebp - 0x150], ecx
mov dx, word [ebp - 0x150]
mov word [ebp - 0x30], dx
movzx eax, byte [0x100d3027]
cdq
push 0x9f905
push 0x89f62b34
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x1c], ax
mov eax, 4
imul ecx, eax, 0xe
mov edx, dword [ecx + 0x10277858]
mov dword [0x100d3158], edx
imul eax, dword [ebp - 0x5c], 0xf3
not eax
xor ecx, ecx
sub eax, dword [0x100d3150]
sbb ecx, dword [0x100d3154]
mov edx, dword [0x100d3174]
xor esi, esi
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x558], edx
mov dword [ebp - 0x554], esi
mov eax, dword [ebp - 0x558]
or eax, dword [ebp - 0x554]
jne 0x10014a34
mov ecx, 1
mov word [ebp - 0xac], cx
jmp 0x10014a3d
xor edx, edx
mov word [ebp - 0xac], dx
mov ax, word [ebp - 0xac]
mov word [0x100d3128], ax
jmp 0x10014c76
mov ecx, dword [0x100d3140]
cmp ecx, dword [0x100d31b4]
jb 0x10014a69
mov dword [ebp - 0x154], 1
jmp 0x10014a73
mov dword [ebp - 0x154], 0
mov edx, dword [ebp - 0x44]
cmp dword [ebp - 0x154], edx
ja 0x10014ade
movsx eax, word [0x100d3128]
add eax, dword [ebp - 0x5c]
movsx ecx, word [0x100d3128]
sub ecx, eax
mov word [0x100d3128], cx
movzx edx, byte [0x100d304f]
movzx eax, byte [ebp - 0x11]
imul eax, edx
mov byte [ebp - 0x12], al
mov dword [ebp - 0x74], 0x7ee9
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
sub ecx, 0x24cc
sbb edx, 0
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movsx eax, byte [ebp - 0x13]
movsx ecx, byte [ebp - 0x13]
add ecx, eax
movsx edx, byte [ebp - 0x13]
imul edx, ecx
mov byte [ebp - 0x13], dl
jmp 0x10014c76
movsx eax, word [0x100d3128]
cmp eax, dword [0x100d3174]
ja 0x10014b93
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x560], ecx
mov dword [ebp - 0x55c], edx
mov eax, dword [ebp - 0x560]
or eax, dword [ebp - 0x55c]
je 0x10014b1f
mov ecx, dword [0x100d3174]
mov dword [ebp - 0x158], ecx
jmp 0x10014b28
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x158], edx
mov eax, dword [ebp - 0x158]
xor ecx, ecx
mov dword [0x100d3120], eax
mov dword [0x100d3124], ecx
mov edx, dword [0x100d3138]
add edx, 0x4af4352e
mov dword [0x100d3174], edx
mov eax, dword [0x100d3158]
xor ecx, ecx
push 0x12a31
push 0xdcf9c686
push ecx
push eax
call fcn.100a25b0
mov dword [0x100d3170], eax
movzx eax, byte [0x100d304f]
cdq
mov ecx, dword [ebp - 0x38]
sub ecx, eax
mov eax, dword [ebp - 0x34]
sbb eax, edx
mov dword [ebp - 0x38], ecx
mov dword [ebp - 0x34], eax
mov cl, byte [0x100d3c78]
mov byte [0x100d3026], cl
jmp 0x10014c76
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov eax, dword [0x100d3134]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x568], eax
mov dword [ebp - 0x564], edx
mov edx, dword [ebp - 0x568]
or edx, dword [ebp - 0x564]
je 0x10014c76
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x7e4], ecx
mov byte [ebp - 0x12], al
movsx edx, word [0x100d3130]
and edx, 0x9a
mov word [ebp - 0x28], dx
cmp dword [ebp - 0x60], 0
jne 0x10014bf8
mov dword [ebp - 0x15c], 1
jmp 0x10014c02
mov dword [ebp - 0x15c], 0
movzx eax, word [ebp - 0x30]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3160]
sbb esi, dword [0x100d3164]
movzx eax, byte [ebp - 0x15]
cdq
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x50]
sub edi, eax
sbb ebx, edx
movsx eax, word [ebp - 0x24]
and eax, dword [ebp - 0x15c]
cdq
add eax, edi
adc edx, ebx
add eax, ecx
adc edx, esi
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
push 0
push 0x361e0534
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [ebp - 0x14]
cdq
and eax, ecx
mov byte [ebp - 0x14], al
xor edx, edx
mov dword [0x100d3198], 4
mov dword [0x100d319c], edx
jmp 0x10014d46
cmp dword [ebp - 0x74], 0
je 0x10014d46
mov eax, 4
imul ecx, eax, 0x1d
mov eax, dword [ecx + 0x10121f10]
cdq
mov ecx, dword [0x100d3120]
sub ecx, eax
mov eax, dword [0x100d3124]
sbb eax, edx
mov dword [0x100d3120], ecx
mov dword [0x100d3124], eax
cmp dword [0x100d31b4], 0
je 0x10014cc6
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x160], ecx
jmp 0x10014cd3
movsx edx, word [0x100d312c]
mov dword [ebp - 0x160], edx
mov al, byte [ebp - 0x160]
mov byte [0x100d304f], al
movsx ecx, word [ebp - 0x28]
test ecx, ecx
je 0x10014cfc
movsx eax, word [0x100d312c]
cdq
mov dword [ebp - 0x33c], eax
mov dword [ebp - 0x338], edx
jmp 0x10014d0e
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x33c], edx
mov dword [ebp - 0x338], eax
mov ecx, dword [ebp - 0x33c]
mov edx, dword [ebp - 0x338]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
push 0
push 0x5833594f
push ecx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, word [ebp - 0x30]
cdq
add eax, ecx
mov word [ebp - 0x30], ax
mov dl, byte [0x100d3063]
add dl, 1
mov byte [0x100d3063], dl
jmp 0x10014875
jmp 0x10014eaf
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x570], eax
mov dword [ebp - 0x56c], ecx
mov edx, dword [ebp - 0x570]
or edx, dword [ebp - 0x56c]
je 0x10014eaf
movzx eax, word [0x100d315c]
sub eax, dword [ebp - 0x80]
movzx ecx, word [0x100d315c]
or ecx, eax
mov word [0x100d315c], cx
movsx edx, word [0x100d3128]
sar edx, 4
mov byte [ebp - 0x11], dl
movsx eax, byte [ebp - 0x13]
test eax, eax
jne 0x10014dbe
mov dword [ebp - 0x164], 1
jmp 0x10014dc8
mov dword [ebp - 0x164], 0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x578], ecx
mov dword [ebp - 0x574], edx
mov eax, dword [ebp - 0x578]
or eax, dword [ebp - 0x574]
jne 0x10014df4
mov dword [ebp - 0x168], 1
jmp 0x10014dfe
mov dword [ebp - 0x168], 0
mov ecx, dword [ebp - 0x164]
add ecx, dword [ebp - 0x168]
movsx eax, byte [0x100d3026]
sub eax, ecx
cdq
mov ecx, eax
mov esi, edx
movzx eax, word [0x100d3178]
cdq
sub eax, dword [ebp - 0x38]
sbb edx, dword [ebp - 0x34]
add eax, 0xfd4381df
adc edx, 0xffffffff
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x580], eax
mov dword [ebp - 0x57c], edx
mov edx, dword [ebp - 0x580]
or edx, dword [ebp - 0x57c]
jne 0x10014e5a
mov byte [ebp - 0x8d], 1
jmp 0x10014e61
mov byte [ebp - 0x8d], 0
mov al, byte [ebp - 0x8d]
mov byte [0x100d304f], al
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x7e8], edx
mov eax, 4
imul edx, eax, 0x235f
mov dword [edx + 0x101f5ea8], ecx
mov eax, 1
shl eax, 4
movsx ecx, byte [eax + 0x103396e4]
mov edx, dword [ebp - 0x58]
sub edx, ecx
mov dword [ebp - 0x58], edx
mov eax, dword [0x100d3144]
xor eax, 0x21cc
mov dword [0x100d3140], eax
movsx ecx, word [ebp - 0x2c]
mov edx, dword [0x100d3144]
xor edx, ecx
xor eax, eax
mov dword [0x100d31a8], edx
mov dword [0x100d31ac], eax
mov ecx, dword [ebp - 0x84]
sar ecx, 7
mov dword [ebp - 0x5c], ecx
mov dx, word [ebp - 0x2c]
add dx, 1
mov word [ebp - 0x2c], dx
movzx eax, word [0x100d315c]
mov ecx, 4
imul edx, ecx, 0x6b6c
mov dword [edx + 0x101bcef8], eax
xor eax, eax
mov dword [0x100d3188], 0x213c
mov dword [0x100d318c], eax
mov cx, word [0x100d3c78]
mov word [0x100d312c], cx
mov edx, dword [ebp - 0x44]
sub edx, dword [ebp - 0x74]
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x64]
push edx
mov edx, dword [ebp - 0x68]
push edx
push ecx
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], esi
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 7
call fcn.100a25f0
mov byte [ebp - 0x12], al
mov eax, dword [0x100d3134]
cdq
mov ecx, eax
sub ecx, dword [ebp - 0x38]
mov eax, dword [0x100d3134]
cdq
sub eax, ecx
mov dword [0x100d3134], eax
movsx edx, word [ebp - 0x2c]
movsx eax, word [0x100d312c]
lea ecx, [eax + edx - 0xfd10]
mov word [0x100d312c], cx
mov edx, dword [0x100d3174]
xor eax, eax
mov ecx, dword [0x100d3164]
push ecx
mov ecx, dword [0x100d3160]
push ecx
push eax
push edx
call fcn.100a25b0
mov edx, dword [0x100d3174]
add edx, eax
mov dword [0x100d3174], edx
mov eax, dword [ebp - 0x58]
add eax, 0x9985
mov dword [0x100d31b4], eax
movsx eax, word [ebp - 0x1c]
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x84]
cdq
mov edi, dword [ebp - 0x54]
mov ebx, dword [ebp - 0x50]
xor edi, eax
xor ebx, edx
add edi, ecx
adc ebx, esi
mov dword [ebp - 0x38], edi
mov dword [ebp - 0x34], ebx
movzx edx, word [ebp - 0x20]
mov eax, dword [0x100d3190]
sub eax, edx
mov dword [0x100d3190], eax
movsx eax, word [0x100d3130]
cdq
mov ecx, 8
imul ecx, ecx, 0x77bb
mov dword [ecx + 0x10297a08], eax
mov dword [ecx + 0x10297a0c], edx
movzx edx, word [0x100d315c]
movzx eax, byte [ebp - 0x11]
sub eax, edx
mov byte [ebp - 0x11], al
mov ecx, dword [ebp - 0x16c]
add ecx, dword [ebp - 0x170]
mov edx, dword [ebp - 0x16c]
sub edx, dword [ebp - 0x170]
imul edx, ecx
mov eax, 0x102
sub eax, dword [ebp - 0x498]
cmp eax, edx
je 0x10015ffb
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [0x100d313c]
push ecx
mov ecx, dword [0x100d3138]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov eax, dword [ebp - 0x60]
cdq
sub eax, ecx
mov dword [ebp - 0x60], eax
movsx edx, word [ebp - 0x1c]
mov ecx, dword [0x100d3174]
sub ecx, dword [0x100d3140]
sub ecx, edx
movsx edx, byte [ebp - 0x14]
movsx eax, word [0x100d312c]
xor eax, edx
cdq
mov edx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
mov dword [ebp - 0x7ec], esi
sub edx, 0xb619f3c2
add edx, eax
xor edx, ecx
mov dword [0x100d3134], edx
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x7f0], eax
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x7f4], eax
add ecx, edx
mov word [ebp - 0x20], cx
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x588], ecx
mov dword [ebp - 0x584], edx
mov eax, dword [ebp - 0x588]
or eax, dword [ebp - 0x584]
jne 0x10015117
mov ecx, 1
mov word [ebp - 0x9a], cx
jmp 0x10015120
xor edx, edx
mov word [ebp - 0x9a], dx
mov ax, word [ebp - 0x9a]
mov word [ebp - 0x28], ax
mov ecx, dword [ebp - 0x80]
sub ecx, 1
mov dword [ebp - 0x80], ecx
mov edx, 8
imul eax, edx, 0x2e
mov ecx, dword [0x100d3148]
mov edx, dword [0x100d314c]
mov dword [eax + 0x10180ea0], ecx
mov dword [eax + 0x10180ea4], edx
movsx eax, word [0x100d3128]
imul eax, dword [0x100d3134]
or eax, dword [0x100d3134]
mov dword [0x100d3134], eax
movzx ecx, byte [0x100d3027]
imul edx, ecx, 0xc30e4b76
mov dword [0x100d311c], edx
xor eax, eax
mov dword [ebp - 0x68], 0xda
mov dword [ebp - 0x64], eax
mov ecx, dword [0x100d3140]
xor ecx, 0xc7
mov dword [0x100d3134], ecx
cmp dword [ebp + 0xc], 0xffff
ja 0x10015ffb
mov edx, dword [ebp - 0x44]
push edx
push 0
call fcn.1005b280
add esp, 8
mov byte [0x100d3063], al
movzx eax, byte [0x100d3063]
test eax, eax
jg 0x100151d5
mov dword [ebp - 0x174], 1
jmp 0x100151df
mov dword [ebp - 0x174], 0
movzx ecx, byte [0x100d3063]
cmp ecx, 0x14
jg 0x100151f7
mov dword [ebp - 0x178], 1
jmp 0x10015201
mov dword [ebp - 0x178], 0
mov edx, dword [ebp - 0x174]
cmp edx, dword [ebp - 0x178]
jge 0x100153f2
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x590], ecx
mov dword [ebp - 0x58c], esi
mov dword [ebp - 0x598], eax
mov dword [ebp - 0x594], edx
mov edx, dword [ebp - 0x58c]
cmp edx, dword [ebp - 0x594]
jg 0x10015260
jl 0x10015254
mov eax, dword [ebp - 0x590]
cmp eax, dword [ebp - 0x598]
jae 0x10015260
mov dword [ebp - 0x17c], 1
jmp 0x1001526a
mov dword [ebp - 0x17c], 0
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x5a0], ecx
mov dword [ebp - 0x59c], edx
cmp dword [ebp - 0x59c], 0
jg 0x1001529c
jl 0x10015290
cmp dword [ebp - 0x5a0], 0x46
jae 0x1001529c
mov dword [ebp - 0x180], 1
jmp 0x100152a6
mov dword [ebp - 0x180], 0
mov eax, dword [ebp - 0x17c]
cmp eax, dword [ebp - 0x180]
je 0x10015331
movsx ecx, word [0x100d3130]
imul edx, ecx, 0xf7a1
mov byte [0x100d304e], dl
movzx eax, byte [0x100d304f]
imul ecx, eax, 0xffffff85
movsx edx, word [0x100d3128]
mov eax, dword [0x100d3134]
sub eax, edx
add eax, ecx
not eax
mov word [0x100d3178], ax
mov ecx, dword [ebp - 0x5c]
shl ecx, 1
mov dword [ebp - 0x84], ecx
mov edx, dword [0x100d31b4]
mov dword [0x100d3144], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
push 0
push 0xb075
push ecx
push eax
call fcn.100a25b0
mov word [ebp - 0x28], ax
mov dl, byte [0x100d304f]
add dl, 1
mov byte [0x100d304f], dl
jmp 0x100153ed
cmp dword [ebp - 0x80], 0
jne 0x10015343
mov dword [ebp - 0x184], 1
jmp 0x1001534d
mov dword [ebp - 0x184], 0
imul ecx, dword [0x100d31b4], 0x3d
not ecx
add ecx, dword [ebp - 0x184]
xor esi, esi
mov edi, dword [0x100d3198]
mov ebx, dword [0x100d319c]
mov eax, dword [0x100d311c]
cdq
sub eax, edi
sbb edx, ebx
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x60], eax
movzx edx, word [ebp - 0x20]
add edx, 0x9521
movzx eax, byte [0x100d304f]
sub eax, edx
mov byte [0x100d304f], al
movzx eax, byte [0x100d3063]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
sub ecx, eax
sbb esi, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x48]
mov cl, 4
call fcn.100a25f0
mov dword [ebp - 0x74], eax
movsx cx, byte [0x100d3026]
mov word [ebp - 0x28], cx
movsx edx, word [ebp - 0x1c]
mov eax, 4
imul ecx, eax, 0x26
mov dword [ecx + 0x100f9388], edx
jmp 0x1001559b
movzx edx, byte [0x100d3027]
test edx, edx
jne 0x10015407
cmp dword [ebp - 0x58], 0
je 0x1001559b
mov eax, dword [ebp - 0x70]
add eax, dword [0x100d3120]
mov ecx, dword [ebp - 0x6c]
adc ecx, dword [0x100d3124]
push ecx
push eax
mov edx, dword [ebp - 0x6c]
push edx
mov eax, dword [ebp - 0x70]
push eax
call fcn.100a25b0
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [0x100d3170]
xor ecx, 0x6e
movzx edx, word [ebp - 0x30]
xor edx, ecx
mov word [ebp - 0x30], dx
movsx eax, word [0x100d312c]
test eax, eax
jne 0x10015460
xor ecx, ecx
mov dword [ebp - 0x3b4], 1
mov dword [ebp - 0x3b0], ecx
jmp 0x1001546b
xorps xmm0, xmm0
movlpd qword [ebp - 0x3b4], xmm0
mov edx, dword [ebp - 0x3b4]
add edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x3b0]
adc eax, dword [ebp - 0x6c]
add edx, dword [0x100d3148]
adc eax, dword [0x100d314c]
mov dword [ebp - 0x5a8], edx
mov dword [ebp - 0x5a4], eax
mov ecx, dword [ebp - 0x5a8]
or ecx, dword [ebp - 0x5a4]
jne 0x100154b7
xor edx, edx
mov dword [ebp - 0x3bc], 1
mov dword [ebp - 0x3b8], edx
jmp 0x100154c2
xorps xmm0, xmm0
movlpd qword [ebp - 0x3bc], xmm0
movsx eax, word [0x100d312c]
cdq
mov ecx, dword [ebp - 0x44]
xor esi, esi
add ecx, dword [0x100d3188]
adc esi, dword [0x100d318c]
not ecx
not esi
sub ecx, eax
sbb esi, edx
add ecx, dword [ebp - 0x3bc]
adc esi, dword [ebp - 0x3b8]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x50], esi
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x68]
push eax
mov ecx, dword [0x100d3124]
push ecx
mov edx, dword [0x100d3120]
push edx
call fcn.100a25b0
mov dword [ebp - 0x5b0], eax
mov dword [ebp - 0x5ac], edx
mov eax, dword [ebp - 0x5b0]
or eax, dword [ebp - 0x5ac]
jne 0x1001553e
xor ecx, ecx
mov dword [ebp - 0x5b8], 1
mov dword [ebp - 0x5b4], ecx
jmp 0x10015549
xorps xmm0, xmm0
movlpd qword [ebp - 0x5b8], xmm0
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x7f8], edx
mov eax, dword [0x100d3134]
cdq
sub eax, ecx
mov ecx, dword [ebp - 0x5b8]
sub ecx, eax
not ecx
mov word [0x100d3128], cx
movzx edx, word [0x100d3178]
not edx
movsx eax, byte [0x100d304e]
not eax
add eax, edx
mov word [0x100d3178], ax
movzx ecx, byte [ebp - 0x11]
and ecx, 0xb983be69
mov dword [ebp - 0x44], ecx
movsx edx, word [0x100d312c]
movsx eax, word [ebp - 0x1c]
cmp eax, edx
jne 0x10015766
mov dword [ebp - 0xd8], 0
jmp 0x100155c9
mov ecx, dword [ebp - 0xd8]
add ecx, 1
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xd8], 0x247
jge 0x10015761
movsx edx, word [0x100d3128]
test edx, edx
je 0x100156b7
movsx eax, word [0x100d3130]
test eax, eax
jne 0x100155ff
mov dword [ebp - 0x188], 1
jmp 0x10015609
mov dword [ebp - 0x188], 0
cmp dword [0x100d3174], 0
jne 0x1001561e
mov dword [ebp - 0x18c], 1
jmp 0x10015628
mov dword [ebp - 0x18c], 0
mov ecx, dword [ebp - 0x188]
xor ecx, dword [ebp - 0x18c]
mov dword [ebp - 0x84], ecx
movzx eax, word [ebp - 0x30]
cdq
add eax, 0x23156f19
adc edx, 0x1289f
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
movzx edx, byte [ebp - 0x11]
movzx eax, byte [0x100d3063]
sub eax, edx
movzx ecx, byte [0x100d3063]
imul ecx, eax
mov byte [0x100d3063], cl
movzx edx, byte [0x100d3027]
xor edx, dword [0x100d3134]
mov byte [0x100d3027], dl
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
add eax, dword [ebp - 0x4c]
adc ecx, dword [ebp - 0x48]
mov edx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub edx, eax
sbb esi, ecx
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], esi
jmp 0x1001574a
movzx eax, byte [ebp - 0x15]
not eax
test eax, eax
je 0x1001574a
xor ecx, ecx
mov dword [0x100d3150], 8
mov dword [0x100d3154], ecx
movzx eax, byte [ebp - 0x15]
add eax, 0x8840
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
imul edx, dword [0x100d3144], 0
mov eax, dword [ebp - 0x68]
and eax, 0xac2a
add eax, edx
mov byte [ebp - 0x12], al
mov ecx, dword [0x100d3160]
or ecx, dword [0x100d3164]
je 0x1001571a
movzx edx, word [ebp - 0x30]
mov dword [ebp - 0x190], edx
jmp 0x10015724
movsx eax, word [ebp - 0x2c]
mov dword [ebp - 0x190], eax
mov ecx, dword [ebp - 0x190]
mov dword [ebp - 0x80], ecx
push 0xbc7ae
push 0x42d4d9c
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.100a25b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x70]
add ecx, 1
mov edx, dword [ebp - 0x6c]
adc edx, 0
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
jmp 0x100155ba
jmp 0x1001581b
mov eax, dword [ebp - 0x5c]
xor eax, dword [0x100d3160]
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x80]
imul ecx, dword [ebp - 0x84]
mov edx, dword [ebp - 0x80]
add edx, ecx
mov dword [ebp - 0x80], edx
movzx eax, byte [0x100d304f]
add eax, dword [ebp - 0x58]
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x58], eax
movzx ecx, word [0x100d315c]
test ecx, ecx
jne 0x100157ab
mov dword [ebp - 0x194], 1
jmp 0x100157b5
mov dword [ebp - 0x194], 0
mov esi, dword [ebp - 0x54]
mov edi, dword [ebp - 0x50]
xor esi, 0xf61a0bc6
xor edi, 0xb9ad
movzx eax, byte [0x100d304f]
cdq
mov ecx, dword [0x100d316c]
push ecx
mov ecx, dword [0x100d3168]
push ecx
push edx
push eax
call fcn.100a25b0
sub eax, esi
sbb edx, edi
mov ecx, dword [0x100d3170]
imul ecx, dword [ebp - 0x194]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
imul edx, dword [0x100d3134], 0xd3645c0d
mov byte [0x100d304e], dl
mov eax, dword [0x100d3c78]
mov dword [ebp - 0xc0], eax
push 0x100af328
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0xc0]
add edx, 0x5e9
mov dword [ebp - 0x1b8], edx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
push ecx
push eax
mov edx, dword [ebp - 0x64]
push edx
mov eax, dword [ebp - 0x68]
push eax
call fcn.100a25b0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx ecx, byte [0x100d3026]
not ecx
sub ecx, dword [ebp - 0x74]
mov dword [ebp - 0x80], ecx
mov byte [ebp - 0x15], 0x21
movsx eax, word [ebp - 0x1c]
add eax, 0x47
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
movsx ecx, byte [ebp - 0x12]
not ecx
imul ecx, dword [ebp - 0x80]
xor esi, esi
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov edx, dword [ebp - 0x5c]
add edx, dword [0x100d3170]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
mov dword [ebp - 0x7fc], esi
add ecx, edx
xor ecx, eax
mov word [0x100d312c], cx
mov dword [0x100d3158], 0x28
mov edx, dword [ebp - 0xc0]
add edx, 0x595
mov dword [ebp - 0x800], edx
mov eax, dword [0x100d3188]
or eax, dword [0x100d318c]
je 0x1001596e
movzx ecx, byte [ebp - 0x11]
movzx edx, byte [ebp - 0x15]
imul edx, ecx
test edx, edx
jne 0x1001590b
mov dword [ebp - 0x198], 1
jmp 0x10015915
mov dword [ebp - 0x198], 0
mov eax, dword [ebp - 0x74]
not eax
movsx ecx, word [0x100d3128]
add ecx, eax
not ecx
imul ecx, dword [ebp - 0x198]
mov dword [0x100d3170], ecx
mov byte [ebp - 0x11], 0xce
mov eax, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov cl, 3
call fcn.100a25f0
mov byte [ebp - 0x12], al
mov edx, dword [0x100d3160]
sub edx, 0xf9
mov byte [ebp - 0x11], dl
mov eax, dword [0x100d31b4]
shl eax, 1
xor ecx, ecx
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], ecx
jmp 0x10015b9d
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x10015a0a
mov eax, 4
mov word [ebp - 0x28], ax
xor ecx, ecx
mov edx, dword [ebp - 0x4c]
sub edx, dword [0x100d3140]
mov eax, dword [ebp - 0x48]
sbb eax, ecx
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
movsx eax, byte [0x100d304e]
cdq
mov ecx, 8
imul edx, ecx, 0x9e
add eax, dword [edx + 0x1019a3b0]
mov byte [0x100d304e], al
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x804], ecx
sub eax, 0xd707
mov byte [ebp - 0x14], al
mov dx, word [0x100d3c78]
mov word [0x100d3178], dx
movsx eax, word [ebp - 0x24]
test eax, eax
je 0x100159f2
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x19c], ecx
jmp 0x100159fc
movzx edx, word [ebp - 0x30]
mov dword [ebp - 0x19c], edx
mov al, byte [ebp - 0x19c]
mov byte [ebp - 0x12], al
jmp 0x10015b9d
movsx ecx, word [ebp - 0x2c]
test ecx, ecx
jne 0x10015a26
mov edx, dword [ebp - 0x38]
or edx, dword [ebp - 0x34]
je 0x10015a26
mov dword [ebp - 0x1a0], 0
jmp 0x10015a30
mov dword [ebp - 0x1a0], 1
mov eax, dword [ebp - 0x44]
imul eax, dword [0x100d3190]
cmp eax, dword [ebp - 0x1a0]
je 0x10015a4e
mov dword [ebp - 0x1a4], 1
jmp 0x10015a58
mov dword [ebp - 0x1a4], 0
mov ecx, dword [ebp - 0x1a4]
not ecx
test ecx, ecx
je 0x10015af8
mov edx, dword [0x100d3144]
and edx, 0x9450
xor eax, eax
mov dword [0x100d3148], edx
mov dword [0x100d314c], eax
push 0x4a41e
push 0x7b18c0a3
mov ecx, dword [0x100d314c]
push ecx
mov edx, dword [0x100d3148]
push edx
call fcn.100a25b0
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov cl, 8
call fcn.100a2610
mov dword [0x100d3174], eax
movsx eax, word [ebp - 0x1c]
mov ecx, dword [0x100d311c]
add ecx, eax
mov edx, dword [0x100d311c]
add edx, ecx
mov dword [0x100d311c], edx
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov edx, dword [0x100d3198]
mov esi, dword [0x100d319c]
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
jmp 0x10015b9d
cmp dword [ebp - 0x44], 0
je 0x10015b9d
mov eax, dword [ebp - 0x38]
sub eax, 0x6145338e
mov word [0x100d312c], ax
movsx ecx, word [ebp - 0x28]
not ecx
movzx edx, byte [ebp - 0x15]
not edx
and edx, ecx
jne 0x10015b2e
mov eax, 1
mov word [ebp - 0x9c], ax
jmp 0x10015b37
xor ecx, ecx
mov word [ebp - 0x9c], cx
mov dx, word [ebp - 0x9c]
mov word [ebp - 0x1c], dx
mov eax, dword [0x100d3c78]
mov dword [0x100d3190], eax
movsx ecx, byte [0x100d3026]
movsx edx, word [0x100d3128]
sub edx, ecx
add edx, dword [ebp - 0x5c]
not edx
mov word [0x100d31b0], dx
push 0
push 0xf604
mov eax, dword [0x100d316c]
push eax
mov ecx, dword [0x100d3168]
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
mov edx, dword [ebp - 0xc0]
add edx, 0x5d3
mov dword [ebp - 0x49c], edx
mov dword [0x100d3144], 1
movsx eax, word [0x100d312c]
cdq
sub eax, dword [0x100d3148]
mov word [0x100d312c], ax
mov eax, dword [0x100d3188]
add eax, 0x801beab
mov word [0x100d31b0], ax
mov eax, dword [0x100d3168]
mov edx, dword [0x100d316c]
mov cl, 5
call fcn.100a25f0
mov byte [ebp - 0x14], al
movzx ecx, word [0x100d315c]
sar ecx, 5
mov word [ebp - 0x24], cx
mov edx, dword [0x100d3144]
mov dword [ebp - 0x1a8], edx
cmp dword [ebp - 0x1a8], 0
je 0x10015c27
cmp dword [ebp - 0x1a8], 1
je 0x10015cdb
jmp 0x10015d74
mov ax, word [0x100d3c78]
mov word [0x100d3130], ax
mov ecx, dword [0x100d311c]
xor ecx, 0x4425ccfb
mov byte [0x100d3063], cl
movsx edx, word [ebp - 0x24]
test edx, edx
jne 0x10015c59
mov dword [ebp - 0x1ac], 1
jmp 0x10015c63
mov dword [ebp - 0x1ac], 0
movsx eax, byte [ebp - 0x12]
xor eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x84], eax
xor ecx, ecx
mov edx, dword [0x100d3188]
sub edx, dword [0x100d3144]
mov eax, dword [0x100d318c]
sbb eax, ecx
mov dword [0x100d3188], edx
mov dword [0x100d318c], eax
movsx eax, byte [ebp - 0x14]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x4c]
or eax, dword [ebp - 0x48]
je 0x10015cc1
movsx ecx, word [ebp - 0x28]
mov dword [ebp - 0x1b0], ecx
jmp 0x10015ccd
mov edx, dword [0x100d3144]
mov dword [ebp - 0x1b0], edx
mov al, byte [ebp - 0x1b0]
mov byte [ebp - 0x15], al
jmp 0x10015d74
movzx ecx, byte [0x100d3063]
imul ecx, dword [0x100d3170]
mov byte [0x100d3063], cl
mov edx, dword [0x100d31b4]
add edx, dword [0x100d3168]
mov dword [0x100d31b4], edx
mov eax, dword [ebp - 0x38]
or eax, dword [ebp - 0x34]
je 0x10015d18
movzx ecx, byte [0x100d3027]
mov dword [ebp - 0x1b4], ecx
jmp 0x10015d22
movsx edx, word [ebp - 0x2c]
mov dword [ebp - 0x1b4], edx
mov eax, dword [ebp - 0x1b4]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
push 0
push 0x3f0dda8f
push ecx
push eax
call fcn.100a25b0
mov ecx, dword [ebp - 0x5c]
xor esi, esi
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x5c], eax
mov edx, 2
imul eax, edx, 0xe1d
movzx ecx, word [eax + 0x10196a80]
mov edx, dword [0x100d3134]
sub edx, ecx
mov dword [0x100d3134], edx
mov eax, dword [ebp - 0x1b8]
imul eax, dword [ebp - 0x49c]
cmp eax, dword [ebp - 0x1b8]
je 0x10015ffb
movzx ecx, byte [0x100d3063]
movzx edx, byte [ebp - 0x11]
xor edx, ecx
mov al, byte [ebp - 0x11]
mov cl, dl
shl al, cl
mov byte [ebp - 0x11], al
movsx ecx, word [0x100d31b0]
and ecx, dword [0x100d3174]
movsx edx, word [0x100d31b0]
sub edx, ecx
mov word [0x100d31b0], dx
cmp dword [ebp - 0x58], 0
je 0x10015ddb
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x344], eax
mov dword [ebp - 0x340], ecx
jmp 0x10015ded
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x344], edx
mov dword [ebp - 0x340], eax
mov ecx, dword [ebp - 0x344]
mov edx, dword [ebp - 0x340]
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
movsx eax, word [0x100d31b0]
cdq
push 0x4b9fd
push 0x8bc8de4e
push edx
push eax
call fcn.100a25b0
mov word [0x100d31b0], ax
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov edx, dword [0x100d3158]
xor esi, esi
mov dword [ebp - 0x5c0], edx
mov dword [ebp - 0x5bc], esi
mov dword [ebp - 0x5c8], eax
mov dword [ebp - 0x5c4], ecx
mov eax, dword [ebp - 0x5bc]
cmp eax, dword [ebp - 0x5c4]
jl 0x10015e79
jg 0x10015e6d
mov ecx, dword [ebp - 0x5c0]
cmp ecx, dword [ebp - 0x5c8]
jbe 0x10015e79
mov dword [ebp - 0x1bc], 1
jmp 0x10015e83
mov dword [ebp - 0x1bc], 0
cmp dword [0x100d3158], 0x3a
jbe 0x10015e98
mov dword [ebp - 0x1c0], 1
jmp 0x10015ea2
mov dword [ebp - 0x1c0], 0
mov edx, dword [ebp - 0x1bc]
cmp edx, dword [ebp - 0x1c0]
jle 0x10015f92
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
movzx eax, word [ebp - 0x20]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, word [ebp - 0x20]
cdq
add eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x808], eax
sub edx, 0x4411
mov word [ebp - 0x24], dx
movsx ecx, byte [0x100d304e]
imul edx, ecx, 0xbc
mov dword [ebp - 0x84], edx
movzx eax, word [ebp - 0x20]
cdq
sub eax, 0xae982647
sbb edx, 0xfffb8b70
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
xor eax, eax
mov dword [ebp - 0x70], 0x3e4e
mov dword [ebp - 0x6c], eax
movsx eax, byte [ebp - 0x12]
cdq
add eax, dword [ebp - 0x70]
adc edx, dword [ebp - 0x6c]
mov dword [ebp - 0x5d0], eax
mov dword [ebp - 0x5cc], edx
mov ecx, dword [ebp - 0x5d0]
or ecx, dword [ebp - 0x5cc]
jne 0x10015f61
mov dword [ebp - 0x1c4], 1
jmp 0x10015f6b
mov dword [ebp - 0x1c4], 0
mov edx, dword [ebp - 0x58]
not edx
movsx eax, word [ebp - 0x24]
add eax, edx
not eax
mov ecx, dword [ebp - 0x1c4]
sub ecx, eax
not ecx
mov eax, ecx
cdq
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
jmp 0x10015ff0
movsx edx, word [ebp - 0x28]
add edx, 0xe77c
mov dword [0x100d31b4], edx
movsx eax, word [ebp - 0x2c]
shl eax, 8
mov dword [ebp - 0x5c], eax
movsx ecx, word [ebp - 0x2c]
imul edx, ecx, 0xb6aa
mov word [0x100d3128], dx
mov eax, dword [ebp - 0x70]
sub eax, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0x6c]
sbb ecx, dword [ebp - 0x48]
add eax, dword [ebp - 0x70]
adc ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0x995db1ce
sbb edx, 0xc9f5
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov dx, word [ebp + 0xc]
mov word [ebp - 0xa4], dx
jmp 0x1001601f
jmp 0x10016055
jmp 0x10016076
jmp 0x1001608d
jmp 0x1001609d
imul eax, dword [ebp - 0x4a0], 0xc8
mov ecx, dword [ebp - 0x4a4]
imul ecx, eax
mov edx, dword [ebp - 0x1c8]
imul edx, dword [ebp - 0x1c8]
cmp edx, ecx
je 0x1001ac20
mov dword [ebp - 4], 2
mov eax, dword [0x100d3120]
or eax, dword [0x100d3124]
je 0x1001669e
movzx ecx, byte [0x100d3063]
movsx edx, word [ebp - 0x1c]
cmp edx, ecx
jne 0x100160f8
mov dword [ebp - 0x1cc], 1
jmp 0x10016102
mov dword [ebp - 0x1cc], 0
movsx eax, word [ebp - 0x1c]
cmp eax, 0x55
jne 0x10016117
mov dword [ebp - 0x1d0], 1
jmp 0x10016121
mov dword [ebp - 0x1d0], 0
mov ecx, dword [ebp - 0x1cc]
cmp ecx, dword [ebp - 0x1d0]
jne 0x10016520
movzx edx, byte [0x100d304f]
movsx eax, byte [0x100d3026]
cmp eax, edx
jle 0x10016159
xor ecx, ecx
mov dword [ebp - 0x3c4], 1
mov dword [ebp - 0x3c0], ecx
jmp 0x10016164
xorps xmm0, xmm0
movlpd qword [ebp - 0x3c4], xmm0
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x5d8], edx
mov dword [ebp - 0x5d4], eax
mov ecx, dword [ebp - 0x3c0]
cmp ecx, dword [ebp - 0x5d4]
jl 0x100161a5
jg 0x10016199
mov edx, dword [ebp - 0x3c4]
cmp edx, dword [ebp - 0x5d8]
jbe 0x100161a5
mov dword [ebp - 0x1d4], 1
jmp 0x100161af
mov dword [ebp - 0x1d4], 0
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
movzx edx, byte [ebp - 0x15]
mov esi, dword [ebp - 0x80]
imul esi, edx
xor edx, edx
mov dword [ebp - 0x5e0], esi
mov dword [ebp - 0x5dc], edx
mov dword [ebp - 0x5e8], eax
mov dword [ebp - 0x5e4], ecx
mov eax, dword [ebp - 0x5e0]
cmp eax, dword [ebp - 0x5e8]
jne 0x100161fa
mov ecx, dword [ebp - 0x5dc]
cmp ecx, dword [ebp - 0x5e4]
je 0x10016206
mov dword [ebp - 0x1d8], 1
jmp 0x10016210
mov dword [ebp - 0x1d8], 0
mov edx, dword [ebp - 0x1d4]
cmp edx, dword [ebp - 0x1d8]
jge 0x1001648a
movsx eax, word [0x100d3128]
push eax
push 0xba
push 0
push 0
push 0
push 0x96
call fcn.1005c200
add esp, 0x18
mov dword [ebp - 0x4a8], eax
mov eax, dword [ebp - 0x4a8]
cdq
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x5f0], ecx
mov dword [ebp - 0x5ec], edx
mov eax, dword [ebp - 0x5f0]
or eax, dword [ebp - 0x5ec]
je 0x100163c4
movsx ecx, byte [ebp - 0x12]
add ecx, 0x2f
mov dword [ebp - 0x5c], ecx
cmp dword [0x100d311c], 0
jne 0x10016298
mov dword [ebp - 0x1e4], 1
jmp 0x100162a2
mov dword [ebp - 0x1e4], 0
cmp dword [ebp - 0x5c], 0
jne 0x100162b4
mov dword [ebp - 0x1dc], 1
jmp 0x100162be
mov dword [ebp - 0x1dc], 0
movzx edx, word [0x100d315c]
sub edx, dword [ebp - 0x80]
jne 0x100162d6
mov dword [ebp - 0x1e0], 1
jmp 0x100162e0
mov dword [ebp - 0x1e0], 0
mov eax, dword [ebp - 0x1dc]
xor eax, dword [ebp - 0x1e0]
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [ebp - 0x11]
add eax, dword [ebp - 0x1e4]
cdq
mov edi, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x3c]
and edi, eax
and ebx, edx
not edi
not ebx
add edi, ecx
adc ebx, esi
mov dword [0x100d3180], edi
mov dword [0x100d3184], ebx
movzx edx, word [ebp - 0x20]
add edx, 0xb2ca
mov dword [0x100d3174], edx
mov eax, dword [ebp - 0x38]
add eax, dword [0x100d3138]
mov ecx, dword [ebp - 0x34]
adc ecx, dword [0x100d313c]
mov dword [ebp - 0x5f8], eax
mov dword [ebp - 0x5f4], ecx
mov edx, dword [ebp - 0x5f8]
or edx, dword [ebp - 0x5f4]
jne 0x10016362
mov dword [ebp - 0x1e8], 1
jmp 0x1001636c
mov dword [ebp - 0x1e8], 0
mov eax, dword [ebp - 0x60]
cdq
and eax, dword [0x100d3148]
movzx ecx, word [ebp - 0x20]
imul ecx, dword [0x100d3170]
add ecx, eax
mov edx, dword [0x100d3174]
sub edx, dword [0x100d31b4]
sub edx, dword [ebp - 0x1e8]
sub edx, ecx
mov word [ebp - 0x30], dx
mov eax, dword [0x100d31b4]
add eax, 2
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x80c], edx
add ecx, 0xa3bd
mov word [0x100d3178], cx
jmp 0x10016485
mov eax, 0xcc93c307
test eax, eax
je 0x10016485
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jne 0x100163ed
xor edx, edx
mov dword [ebp - 0x3cc], 1
mov dword [ebp - 0x3c8], edx
jmp 0x100163f8
xorps xmm0, xmm0
movlpd qword [ebp - 0x3cc], xmm0
movsx eax, word [ebp - 0x24]
cdq
mov esi, eax
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
push ecx
push eax
mov edx, dword [ebp - 0x3c8]
push edx
mov eax, dword [ebp - 0x3cc]
push eax
call fcn.100a25b0
xor eax, esi
mov dword [0x100d311c], eax
movzx eax, byte [0x100d3027]
cdq
add eax, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov ecx, 1
imul edx, ecx, 0xa244
movzx eax, byte [edx + 0x10277950]
cdq
push edx
push eax
mov eax, dword [0x100d314c]
push eax
mov ecx, dword [0x100d3148]
push ecx
call fcn.100a25b0
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
mov edx, 0xfffff3cf
mov word [ebp - 0x2c], dx
mov eax, dword [ebp - 0x80]
sub eax, 0x1639
xor ecx, ecx
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], ecx
jmp 0x1001651b
imul eax, dword [ebp - 0x58], 0x78c8
cdq
mov ecx, eax
mov esi, edx
movzx eax, byte [0x100d3027]
cdq
or eax, dword [0x100d3120]
or edx, dword [0x100d3124]
xor eax, ecx
xor edx, esi
mov dword [ebp - 0x600], eax
mov dword [ebp - 0x5fc], edx
mov edx, dword [ebp - 0x600]
or edx, dword [ebp - 0x5fc]
je 0x1001651b
cmp dword [0x100d3134], 0
je 0x100164e5
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x3d4], eax
mov dword [ebp - 0x3d0], ecx
jmp 0x100164f6
mov edx, dword [ebp - 0x44]
xor eax, eax
mov dword [ebp - 0x3d4], edx
mov dword [ebp - 0x3d0], eax
mov cl, byte [ebp - 0x3d4]
mov byte [0x100d3026], cl
movsx edx, word [0x100d312c]
imul eax, edx, 0xff44
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
jmp 0x1001669e
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
not ecx
not esi
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x608], eax
mov dword [ebp - 0x604], edx
mov dword [ebp - 0x610], ecx
mov dword [ebp - 0x60c], esi
mov edx, dword [ebp - 0x604]
cmp edx, dword [ebp - 0x60c]
jl 0x1001660b
jg 0x1001656e
mov eax, dword [ebp - 0x608]
cmp eax, dword [ebp - 0x610]
jb 0x1001660b
movsx eax, word [ebp - 0x28]
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
add ecx, eax
adc esi, edx
mov dword [0x100d3198], ecx
mov dword [0x100d319c], esi
mov eax, dword [ebp - 0x74]
cdq
mov ecx, eax
sub ecx, dword [0x100d3160]
mov eax, dword [ebp - 0x74]
cdq
sub eax, ecx
mov dword [ebp - 0x74], eax
xor edx, edx
mov dword [0x100d3180], 2
mov dword [0x100d3184], edx
movsx eax, word [ebp - 0x2c]
cdq
and eax, 0x8a4c6112
mov dword [ebp - 0x5c], eax
cmp dword [ebp - 0x60], 0
je 0x100165dd
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], ecx
jmp 0x100165ef
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x34c], eax
mov dword [ebp - 0x348], edx
mov edx, dword [ebp - 0x34c]
mov eax, dword [ebp - 0x348]
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
jmp 0x1001669e
cmp dword [ebp - 0x44], 0
je 0x1001669e
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
mov eax, dword [0x100d3134]
cdq
mov edi, eax
mov ebx, edx
add edi, ecx
adc ebx, esi
mov eax, dword [0x100d3134]
cdq
push ebx
push edi
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3134], eax
movsx edx, byte [0x100d3026]
imul eax, edx, 0x50
mov word [0x100d3178], ax
mov eax, dword [0x100d311c]
cdq
sub eax, 0x501d37b
mov dword [ebp - 0x60], eax
mov ecx, dword [0x100d3134]
shl ecx, 5
mov word [0x100d3178], cx
mov edx, dword [0x100d3148]
add edx, 0x2d
mov eax, dword [0x100d314c]
adc eax, 0
mov ecx, dword [0x100d3160]
sub ecx, edx
mov edx, dword [0x100d3164]
sbb edx, eax
mov dword [0x100d3160], ecx
mov dword [0x100d3164], edx
jmp 0x100167ba
mov dword [ebp - 4], 0xffffffff
jmp 0x100167ca
movsx eax, byte [0x100d304e]
cdq
add eax, 0xf6843b3f
mov word [ebp - 0x28], ax
mov edx, dword [0x100d3c78]
mov dword [0x100d31b4], edx
mov eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x618], ecx
mov dword [ebp - 0x614], esi
mov edx, dword [ebp - 0x618]
or edx, dword [ebp - 0x614]
jne 0x1001681f
mov eax, 1
mov word [ebp - 0x9e], ax
jmp 0x10016828
xor ecx, ecx
mov word [ebp - 0x9e], cx
mov dx, word [ebp - 0x9e]
mov word [ebp - 0x1c], dx
push 0
push 0x18
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, byte [0x100d304f]
sar eax, 4
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
cmp dword [ebp + 8], 0
je 0x1001ac20
mov eax, dword [ebp - 0x84]
shl eax, 8
cdq
mov dword [0x100d3160], eax
mov dword [0x100d3164], edx
xor edx, edx
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add ecx, dword [ebp - 0x44]
adc esi, edx
movsx eax, byte [ebp - 0x12]
cdq
sub eax, ecx
sbb edx, esi
mov ecx, dword [ebp - 0x58]
sub ecx, dword [ebp - 0x58]
movsx esi, byte [ebp - 0x13]
add esi, dword [ebp - 0x5c]
add esi, ecx
xor ecx, ecx
push edx
push eax
push ecx
push esi
call fcn.100a25b0
mov byte [0x100d3026], al
movsx edx, word [0x100d312c]
sub edx, 0x7cf7
mov byte [0x100d3063], dl
imul eax, dword [0x100d3174], 0xd1f55e76
mov word [ebp - 0x24], ax
imul ecx, dword [0x100d3140], 0xa2
xor edx, edx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x3c], edx
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov eax, dword [ebp - 0x60]
cdq
mov dword [ebp - 0x620], eax
mov dword [ebp - 0x61c], edx
mov dword [ebp - 0x628], ecx
mov dword [ebp - 0x624], esi
mov edx, dword [ebp - 0x61c]
cmp edx, dword [ebp - 0x624]
jg 0x10016bb5
jl 0x1001692a
mov eax, dword [ebp - 0x620]
cmp eax, dword [ebp - 0x628]
ja 0x10016bb5
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x630], ecx
mov dword [ebp - 0x62c], edx
mov eax, dword [ebp - 0x34]
cmp eax, dword [ebp - 0x62c]
ja 0x10016b15
jb 0x10016962
mov ecx, dword [ebp - 0x38]
cmp ecx, dword [ebp - 0x630]
jae 0x10016b15
mov byte [ebp - 0x13], 0
mov edx, dword [0x100d3134]
sub edx, 0x9df3
mov word [0x100d31b0], dx
movsx eax, byte [0x100d304e]
imul eax, dword [ebp - 0x80]
mov byte [0x100d304e], al
movsx eax, word [ebp - 0x24]
cdq
sub eax, 0xb73688ca
mov byte [ebp - 0x12], al
movzx eax, word [0x100d3178]
cdq
add eax, dword [0x100d3148]
adc edx, dword [0x100d314c]
movsx ecx, byte [ebp - 0x13]
add ecx, dword [ebp - 0x44]
xor esi, esi
sub ecx, eax
sbb esi, edx
add ecx, dword [ebp - 0x70]
adc esi, dword [ebp - 0x6c]
mov dword [ebp - 0x4c], ecx
mov dword [ebp - 0x48], esi
movzx eax, byte [0x100d3063]
not eax
cdq
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
xor ecx, dword [0x100d3150]
xor esi, dword [0x100d3154]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d311c], eax
mov dl, byte [ebp - 0x13]
mov byte [ebp - 0x4ac], dl
cmp byte [ebp - 0x4ac], 0
je 0x10016a04
jmp 0x10016b10
mov dword [0x100d3140], 0xc219
mov eax, dword [ebp - 0x68]
add eax, 0xee62
mov ecx, dword [ebp - 0x64]
adc ecx, 0
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 [ebp - 0x84]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x638], eax
mov dword [ebp - 0x634], edx
mov edx, dword [ebp - 0x638]
or edx, dword [ebp - 0x634]
jne 0x10016a75
mov dword [ebp - 0x1f8], 1
jmp 0x10016a7f
mov dword [ebp - 0x1f8], 0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movsx eax, word [0x100d3130]
cdq
add eax, ecx
adc edx, esi
mov dword [ebp - 0x640], eax
mov dword [ebp - 0x63c], edx
mov edx, dword [ebp - 0x640]
or edx, dword [ebp - 0x63c]
jne 0x10016ab7
mov dword [ebp - 0x1f4], 1
jmp 0x10016ac1
mov dword [ebp - 0x1f4], 0
movsx eax, byte [0x100d3026]
movsx ecx, byte [ebp - 0x14]
imul ecx, eax
mov edx, dword [ebp - 0x1f4]
sub edx, ecx
movsx eax, byte [ebp - 0x12]
xor eax, dword [ebp - 0x1f8]
not eax
add eax, edx
mov byte [ebp - 0x15], al
movzx ecx, word [ebp - 0x20]
imul edx, ecx, 0xbd8cb5a0
xor eax, eax
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
movsx ecx, word [ebp - 0x1c]
add ecx, 0x49566ca9
mov word [0x100d31b0], cx
jmp 0x10016bb3
cmp dword [ebp - 0x68], 0xe47e01e2
jne 0x10016b30
cmp dword [ebp - 0x64], 0
jne 0x10016b30
mov dword [ebp - 0x1fc], 1
jmp 0x10016b3a
mov dword [ebp - 0x1fc], 0
movsx edx, byte [ebp - 0x13]
cmp edx, 0x16
jl 0x10016b4f
mov dword [ebp - 0x200], 1
jmp 0x10016b59
mov dword [ebp - 0x200], 0
mov eax, dword [ebp - 0x1fc]
cmp eax, dword [ebp - 0x200]
jge 0x10016bb3
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
and ecx, dword [0x100d3150]
and edx, dword [0x100d3154]
mov dword [0x100d3150], ecx
mov dword [0x100d3154], edx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [0x100d3138], eax
mov dword [0x100d313c], ecx
mov edx, 1
mov word [ebp - 0x2c], dx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], ecx
jmp 0x10016c16
movzx edx, word [ebp - 0x20]
mov eax, 4
imul ecx, eax, 0x57c
mov dword [ecx + 0x101bcef8], edx
movzx edx, byte [0x100d3027]
mov eax, 4
imul ecx, eax, 0x4a80
mov dword [ecx + 0x1019a8f0], edx
imul edx, dword [ebp - 0x84], 0x91
mov dword [0x100d3144], edx
mov eax, dword [ebp - 0x4c]
sub eax, 0x40d762d0
mov dword [ebp - 0x58], eax
xor ecx, ecx
mov dword [0x100d3150], 0x15
mov dword [0x100d3154], ecx
mov byte [0x100d304f], 0x60
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xc4], edx
movsx eax, word [0x100d3128]
movsx ecx, byte [0x100d3026]
imul ecx, eax
mov byte [0x100d3026], cl
imul edx, dword [ebp - 0x58], 0xd99885a2
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100d3120]
add ecx, 0xffff7e72
mov esi, dword [0x100d3124]
adc esi, 0xffffffff
mov eax, dword [ebp - 0x58]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x74], eax
movsx edx, word [0x100d3128]
or edx, 0xffffdbcf
imul eax, edx, 0xc8c4
test eax, eax
jne 0x10016c98
xor ecx, ecx
mov dword [ebp - 0x3e4], 1
mov dword [ebp - 0x3e0], ecx
jmp 0x10016ca3
xorps xmm0, xmm0
movlpd qword [ebp - 0x3e4], xmm0
mov edx, dword [ebp - 0x5c]
xor eax, eax
add edx, dword [ebp - 0x68]
adc eax, dword [ebp - 0x64]
movsx ecx, byte [ebp - 0x14]
add ecx, dword [ebp - 0x5c]
xor esi, esi
xor ecx, edx
xor esi, eax
mov edx, dword [ebp - 0x3e0]
push edx
mov eax, dword [ebp - 0x3e4]
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movsx ecx, word [0x100d3130]
movzx edx, byte [0x100d3063]
imul edx, ecx
mov byte [0x100d3063], dl
movsx eax, word [ebp - 0x24]
not eax
movzx ecx, byte [ebp - 0x11]
add eax, ecx
cdq
push edx
push eax
mov edx, dword [0x100d3164]
push edx
mov eax, dword [0x100d3160]
push eax
call fcn.100a25b0
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0xc4]
add ecx, 0x4dc
mov dword [ebp - 0x810], ecx
push 0
movsx dx, byte [0x100d304e]
movzx eax, dx
push eax
push 0x49
push 0
call fcn.1005c780
add esp, 0x10
mov byte [ebp - 0x11], al
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jge 0x10016d59
mov dword [ebp - 0x204], 1
jmp 0x10016d63
mov dword [ebp - 0x204], 0
movzx edx, byte [ebp - 0x11]
cmp edx, 0x37
jge 0x10016d78
mov dword [ebp - 0x208], 1
jmp 0x10016d82
mov dword [ebp - 0x208], 0
mov eax, dword [ebp - 0x204]
cmp eax, dword [ebp - 0x208]
jle 0x10016f19
push 0x8e
movzx cx, byte [0x100d3063]
movzx edx, cx
push edx
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
cmp dword [0x100d3154], 0
ja 0x10016dda
jb 0x10016dce
cmp dword [0x100d3150], 0
ja 0x10016dda
mov dword [ebp - 0x20c], 1
jmp 0x10016de4
mov dword [ebp - 0x20c], 0
cmp dword [0x100d3154], 0
ja 0x10016e04
jb 0x10016df8
cmp dword [0x100d3150], 0x12
ja 0x10016e04
mov dword [ebp - 0x210], 1
jmp 0x10016e0e
mov dword [ebp - 0x210], 0
mov eax, dword [ebp - 0x20c]
cmp eax, dword [ebp - 0x210]
jg 0x10016e86
movsx eax, byte [0x100d304e]
cdq
sub eax, 0x607e2daf
mov dword [0x100d3158], eax
mov ecx, dword [0x100d31ac]
mov edx, dword [ebp - 0x68]
sub edx, dword [0x100d31a8]
mov eax, dword [ebp - 0x64]
sbb eax, ecx
mov ecx, dword [ebp - 0x68]
sub ecx, edx
mov edx, dword [ebp - 0x64]
sbb edx, eax
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
mov al, byte [0x100d3c78]
mov byte [ebp - 0x13], al
movsx ecx, byte [0x100d304e]
sub ecx, 0x39e57dc0
not ecx
xor edx, edx
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
mov ax, word [0x100d3150]
mov word [ebp - 0x20], ax
jmp 0x10016f14
movzx ecx, word [ebp - 0x20]
not ecx
test ecx, ecx
je 0x10016f14
movsx edx, word [0x100d3128]
imul eax, edx, 0x43d8
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x814], ecx
add eax, 0xd8
mov dword [0x100d3144], eax
movzx edx, word [0x100d315c]
mov eax, dword [ebp - 0x74]
xor eax, edx
cdq
mov ecx, eax
movsx eax, byte [0x100d3026]
cdq
sub eax, dword [0x100d3138]
sub eax, ecx
mov word [0x100d3178], ax
imul edx, dword [ebp - 0x5c], 0x26
mov word [ebp - 0x1c], dx
mov eax, dword [0x100d3c78]
xor ecx, ecx
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
imul edx, dword [ebp - 0x80], 0xee04
mov dword [0x100d3170], edx
jmp 0x10016fab
mov dword [0x100d3158], 4
cmp dword [ebp - 0x84], 0
jne 0x10016f38
mov dword [ebp - 0x214], 1
jmp 0x10016f42
mov dword [ebp - 0x214], 0
mov eax, dword [ebp - 0x74]
not eax
mov ecx, dword [ebp - 0x214]
sub ecx, eax
mov byte [ebp - 0x13], cl
movsx edx, word [0x100d31b0]
movzx eax, byte [0x100d304f]
sub eax, edx
cdq
mov ecx, eax
mov esi, edx
movsx eax, byte [0x100d304e]
cdq
mov edi, dword [0x100d3138]
not edi
mov ebx, dword [0x100d313c]
not ebx
add edi, eax
adc ebx, edx
push esi
push ecx
push ebx
push edi
call fcn.100a25b0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movzx edx, byte [ebp - 0x11]
imul eax, edx, 0x3d57
mov dword [0x100d3140], eax
mov ecx, dword [0x100d311c]
mov word [ebp - 0x20], cx
mov edx, dword [ebp - 0xc4]
add edx, 0x7c5
mov dword [ebp - 0x2c0], edx
movzx eax, word [0x100d3178]
cdq
add eax, dword [0x100d3150]
adc edx, dword [0x100d3154]
add eax, dword [0x100d3150]
adc edx, dword [0x100d3154]
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx eax, byte [0x100d304f]
cdq
sub eax, dword [ebp - 0x38]
sbb edx, dword [ebp - 0x34]
mov dword [ebp - 0x648], eax
mov dword [ebp - 0x644], edx
mov ecx, dword [ebp - 0x648]
or ecx, dword [ebp - 0x644]
jne 0x1001703a
mov dword [ebp - 0x218], 1
jmp 0x10017044
mov dword [ebp - 0x218], 0
movzx edx, word [0x100d3178]
or edx, dword [ebp - 0x218]
mov byte [ebp - 0x12], dl
mov eax, dword [0x100d3120]
or eax, dword [0x100d3124]
je 0x1001707b
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x3ec], ecx
mov dword [ebp - 0x3e8], edx
jmp 0x1001708b
mov eax, dword [ebp - 0x74]
cdq
mov dword [ebp - 0x3ec], eax
mov dword [ebp - 0x3e8], edx
mov ax, word [ebp - 0x3ec]
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x100170aa
mov dword [ebp - 0x21c], 1
jmp 0x100170b4
mov dword [ebp - 0x21c], 0
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x650], edx
mov dword [ebp - 0x64c], eax
mov ecx, dword [ebp - 0x650]
or ecx, dword [ebp - 0x64c]
jne 0x100170e5
mov dword [ebp - 0x220], 1
jmp 0x100170ef
mov dword [ebp - 0x220], 0
mov edx, dword [ebp - 0x21c]
xor edx, dword [ebp - 0x220]
mov eax, dword [0x100d3140]
add eax, dword [ebp - 0x60]
add eax, edx
mov word [0x100d31b0], ax
mov ecx, dword [ebp - 0xc4]
add ecx, 0x681
mov dword [ebp - 0x46c], ecx
push 0
push 0
call fcn.1005b280
add esp, 8
cwde
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
mov dword [ebp - 0x658], edx
mov dword [ebp - 0x654], eax
cmp dword [ebp - 0x654], 0
jl 0x1001716d
jg 0x10017161
cmp dword [ebp - 0x658], 0
jbe 0x1001716d
mov dword [ebp - 0x224], 1
jmp 0x10017177
mov dword [ebp - 0x224], 0
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x660], ecx
mov dword [ebp - 0x65c], edx
cmp dword [ebp - 0x65c], 0
jl 0x100171af
jg 0x100171a3
cmp dword [ebp - 0x660], 0x32
jbe 0x100171af
mov dword [ebp - 0x228], 1
jmp 0x100171b9
mov dword [ebp - 0x228], 0
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x228]
jg 0x100172c0
mov eax, dword [0x100d3134]
cdq
push edx
push eax
mov ecx, dword [0x100d3124]
push ecx
mov edx, dword [0x100d3120]
push edx
call fcn.100a25b0
add eax, dword [0x100d3120]
adc edx, dword [0x100d3124]
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
imul eax, dword [0x100d3158], 0x9d3b32f
mov dword [ebp - 0x58], eax
movzx eax, word [ebp - 0x20]
not eax
cdq
mov ecx, dword [ebp - 0x5c]
xor esi, esi
sub ecx, dword [0x100d3188]
sbb esi, dword [0x100d318c]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x668], ecx
mov dword [ebp - 0x664], esi
mov edx, dword [ebp - 0x668]
or edx, dword [ebp - 0x664]
jne 0x1001724c
mov dword [ebp - 0x22c], 1
jmp 0x10017256
mov dword [ebp - 0x22c], 0
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x60], eax
mov byte [ebp - 0x15], 4
mov ecx, dword [0x100d3120]
or ecx, dword [0x100d3124]
jne 0x10017285
xor edx, edx
mov dword [ebp - 0x670], 1
mov dword [ebp - 0x66c], edx
jmp 0x10017290
xorps xmm0, xmm0
movlpd qword [ebp - 0x670], xmm0
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
mov dword [ebp - 0x818], ecx
add eax, dword [ebp - 0x670]
mov edx, dword [0x100d3174]
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x81c], esi
sub ecx, edx
not ecx
and ecx, eax
mov byte [0x100d3027], cl
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xc8], edx
movsx eax, word [0x100d31b0]
test eax, eax
je 0x10017494
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x678], eax
mov dword [ebp - 0x674], esi
mov dword [ebp - 0x680], ecx
mov dword [ebp - 0x67c], edx
mov ecx, dword [ebp - 0x678]
cmp ecx, dword [ebp - 0x680]
jne 0x10017325
mov edx, dword [ebp - 0x674]
cmp edx, dword [ebp - 0x67c]
je 0x1001748f
movsx eax, word [0x100d312c]
movsx ecx, word [ebp - 0x24]
cmp ecx, eax
jne 0x10017340
mov dword [ebp - 0x230], 1
jmp 0x1001734a
mov dword [ebp - 0x230], 0
movsx edx, word [ebp - 0x24]
cmp edx, 0x1f
jne 0x1001735f
mov dword [ebp - 0x234], 1
jmp 0x10017369
mov dword [ebp - 0x234], 0
mov eax, dword [ebp - 0x230]
cmp eax, dword [ebp - 0x234]
jl 0x1001748f
movsx ecx, word [0x100d3130]
cmp ecx, dword [ebp - 0x44]
je 0x1001748f
push 0
push 0xa931
mov edx, dword [0x100d3124]
push edx
mov eax, dword [0x100d3120]
push eax
call fcn.100a25b0
mov dword [0x100d3170], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x688], ecx
mov dword [ebp - 0x684], edx
mov eax, dword [ebp - 0x688]
or eax, dword [ebp - 0x684]
jne 0x100173d5
mov dword [ebp - 0x238], 1
jmp 0x100173df
mov dword [ebp - 0x238], 0
mov ecx, dword [0x100d3144]
add ecx, dword [ebp - 0x238]
mov byte [ebp - 0x12], cl
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
add ecx, eax
adc esi, edx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
add edx, ecx
adc eax, esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub edx, dword [ebp - 0x40]
sbb eax, ecx
mov ecx, dword [ebp - 0x84]
sub ecx, dword [0x100d3144]
xor esi, esi
add ecx, edx
adc esi, eax
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x68c], esi
mov edx, dword [ebp - 0x690]
or edx, dword [ebp - 0x68c]
jne 0x10017452
mov dword [ebp - 0x23c], 1
jmp 0x1001745c
mov dword [ebp - 0x23c], 0
mov eax, dword [0x100d3158]
add eax, dword [0x100d3134]
mov ecx, dword [ebp - 0x74]
or ecx, eax
imul ecx, dword [ebp - 0x23c]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
push 0
push 0xc450
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3170], eax
jmp 0x100176b4
movzx eax, word [ebp - 0x20]
cdq
mov ecx, eax
mov esi, edx
add ecx, dword [0x100d3150]
adc esi, dword [0x100d3154]
movzx eax, word [ebp - 0x30]
cdq
mov dword [ebp - 0x698], eax
mov dword [ebp - 0x694], edx
mov dword [ebp - 0x6a0], ecx
mov dword [ebp - 0x69c], esi
mov edx, dword [ebp - 0x698]
cmp edx, dword [ebp - 0x6a0]
jne 0x100174e2
mov eax, dword [ebp - 0x694]
cmp eax, dword [ebp - 0x69c]
je 0x100174ee
mov dword [ebp - 0x240], 1
jmp 0x100174f8
mov dword [ebp - 0x240], 0
mov ecx, dword [ebp - 0x240]
not ecx
test ecx, ecx
je 0x1001761e
movsx edx, byte [0x100d3026]
movsx eax, byte [ebp - 0x13]
imul eax, edx
mov dword [0x100d3174], eax
mov ecx, dword [0x100d31b4]
sub ecx, 0x3d8cf40e
mov word [0x100d31b0], cx
movsx edx, word [ebp - 0x28]
test edx, edx
jne 0x10017542
mov dword [ebp - 0x244], 1
jmp 0x1001754c
mov dword [ebp - 0x244], 0
mov eax, dword [0x100d3190]
cdq
mov esi, eax
xor esi, dword [0x100d3148]
mov eax, dword [ebp - 0x84]
not eax
add eax, dword [ebp - 0x244]
cdq
mov ecx, eax
mov edi, edx
mov eax, dword [ebp - 0x58]
cdq
xor eax, dword [0x100d3138]
xor edx, dword [0x100d313c]
push edi
push ecx
push edx
push eax
call fcn.100a25b0
sub eax, esi
mov dword [0x100d31b4], eax
movsx eax, word [ebp - 0x2c]
sar eax, 4
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
movzx edx, word [ebp - 0x20]
movzx eax, word [0x100d315c]
add eax, edx
jne 0x100175bb
mov dword [ebp - 0x248], 1
jmp 0x100175c5
mov dword [ebp - 0x248], 0
movzx esi, byte [0x100d3063]
imul esi, dword [ebp - 0x5c]
add esi, dword [ebp - 0x248]
not esi
xor edi, edi
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100d314c]
push ecx
mov ecx, dword [0x100d3148]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
mov ebx, edx
mov edx, dword [ebp - 0x58]
not edx
movzx eax, byte [ebp - 0x15]
not eax
sub eax, edx
cdq
add eax, ecx
adc edx, ebx
sub eax, esi
sbb edx, edi
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
jmp 0x100176b4
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
not eax
not ecx
mov dword [ebp - 0x6a8], eax
mov dword [ebp - 0x6a4], ecx
mov edx, dword [ebp - 0x6a8]
or edx, dword [ebp - 0x6a4]
je 0x100176b4
movsx eax, word [ebp - 0x2c]
shl eax, 6
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx eax, byte [0x100d3027]
xor eax, 0xd2
movzx ecx, word [ebp - 0x30]
sub ecx, eax
mov word [ebp - 0x30], cx
movsx edx, word [0x100d3130]
shl edx, 8
mov byte [0x100d3063], dl
movzx eax, word [0x100d3178]
cdq
mov ecx, eax
sub ecx, 0xa84cc97f
movzx eax, word [ebp - 0x20]
cdq
sub eax, ecx
mov word [ebp - 0x20], ax
mov edx, dword [ebp - 0x38]
sub edx, dword [0x100d3138]
mov eax, dword [ebp - 0x34]
sbb eax, dword [0x100d313c]
add edx, dword [ebp - 0x38]
adc eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0xc8]
add ecx, 0x779
mov dword [ebp - 0x2f8], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0xd3340
push 0x20a3fbf7
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x820], edx
xor ecx, 0x364a
mov byte [0x100d304e], cl
mov eax, dword [0x100d3140]
shl eax, 8
mov dword [0x100d31b4], eax
mov ecx, 0xa21
mov word [ebp - 0x2c], cx
movsx edx, word [ebp - 0x28]
mov eax, 4
imul ecx, eax, 0xd5
mov dword [ecx + 0x103392e8], edx
mov edx, dword [ebp - 0xc8]
add edx, 0x5e7
mov dword [ebp - 0x480], edx
call dword [sym.imp.USER32.dll_GetMessageTime]
mov byte [0x100d3026], al
movsx eax, byte [0x100d3026]
test eax, eax
jge 0x100178c2
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x100177fa
movsx edx, byte [ebp - 0x14]
sub edx, 0x681a1dcb
mov dword [0x100d3158], edx
mov eax, 1
imul ecx, eax, 0x12
movsx edx, byte [ecx + 0x103396e4]
mov eax, dword [0x100d311c]
or eax, edx
mov dword [0x100d311c], eax
mov cx, word [0x100d3168]
mov word [0x100d3178], cx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0x5214
push eax
push edx
call fcn.100a25b0
mov dword [0x100d3158], eax
movzx ecx, word [0x100d3178]
sub ecx, dword [ebp - 0x5c]
movzx edx, word [0x100d3178]
or edx, ecx
mov word [0x100d3178], dx
movzx eax, byte [ebp - 0x11]
cdq
push edx
push eax
mov eax, dword [ebp - 0x48]
push eax
mov ecx, dword [ebp - 0x4c]
push ecx
call fcn.100a25b0
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x100178bd
movsx eax, word [0x100d312c]
cdq
add eax, 0xcfc185ea
mov word [ebp - 0x20], ax
movzx eax, word [0x100d315c]
not eax
cdq
mov dword [0x100d31a8], eax
mov dword [0x100d31ac], edx
mov edx, dword [0x100d3148]
or edx, dword [0x100d314c]
jne 0x1001783a
mov dword [ebp - 0x24c], 1
jmp 0x10017844
mov dword [ebp - 0x24c], 0
mov eax, dword [ebp - 0x74]
add eax, dword [ebp - 0x24c]
jne 0x1001785b
mov dword [ebp - 0x250], 1
jmp 0x10017865
mov dword [ebp - 0x250], 0
movzx eax, byte [0x100d3063]
xor eax, dword [ebp - 0x250]
cdq
mov dword [0x100d3120], eax
mov dword [0x100d3124], edx
mov ecx, 4
imul edx, ecx, 0x1a
mov eax, dword [0x100d31b4]
mov dword [edx + 0x10121db8], eax
mov ecx, dword [ebp - 0x84]
sub ecx, 0x5bf3
mov word [ebp - 0x30], cx
push 0
push 0x51
mov edx, dword [0x100d318c]
push edx
mov eax, dword [0x100d3188]
push eax
call fcn.100a25b0
mov word [0x100d3178], ax
jmp 0x100179c0
movsx ecx, word [0x100d3128]
test ecx, ecx
jne 0x100178d9
mov dword [ebp - 0x254], 1
jmp 0x100178e3
mov dword [ebp - 0x254], 0
cmp dword [ebp - 0x254], 0x144ae2fb
jae 0x100178fb
mov dword [ebp - 0x25c], 1
jmp 0x10017905
mov dword [ebp - 0x25c], 0
movzx edx, byte [ebp - 0x11]
test edx, edx
jne 0x10017921
xor eax, eax
mov dword [ebp - 0x3f4], 1
mov dword [ebp - 0x3f0], eax
jmp 0x1001792c
xorps xmm0, xmm0
movlpd qword [ebp - 0x3f4], xmm0
cmp dword [ebp - 0x3f0], 0xffffbc05
jl 0x10017952
jg 0x10017946
cmp dword [ebp - 0x3f4], 0xf1656959
jb 0x10017952
mov dword [ebp - 0x258], 1
jmp 0x1001795c
mov dword [ebp - 0x258], 0
mov ecx, dword [ebp - 0x258]
not ecx
cmp dword [ebp - 0x25c], ecx
jne 0x100179c0
movsx eax, word [0x100d3128]
cdq
mov ecx, dword [0x100d3164]
push ecx
mov ecx, dword [0x100d3160]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d3128]
cdq
sub eax, ecx
mov word [0x100d3128], ax
movsx edx, word [ebp - 0x2c]
movzx eax, word [0x100d3178]
add eax, edx
movzx ecx, word [0x100d3178]
imul ecx, eax
mov word [0x100d3178], cx
mov dword [ebp - 0x60], 0x94d52316
mov edx, dword [ebp - 0xc8]
add edx, 0x68f
mov dword [ebp - 0x47c], edx
mov dword [ebp - 0x5c], 2
movsx eax, byte [ebp - 0x14]
xor eax, 0xf4cd
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x80]
add eax, 0x2ac8
mov word [0x100d3130], ax
movsx ecx, byte [0x100d3026]
imul edx, ecx, 0xf51f655a
mov dword [ebp - 0x5c], edx
movsx eax, byte [ebp - 0x12]
cdq
sub eax, dword [0x100d3148]
mov byte [ebp - 0x12], al
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
sub eax, dword [0x100d3160]
sbb ecx, dword [0x100d3164]
mov edx, dword [0x100d3170]
xor esi, esi
sub edx, eax
sbb esi, ecx
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], esi
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
je 0x10017a66
cmp dword [ebp - 0xcc], 1
je 0x10017ac5
cmp dword [ebp - 0xcc], 2
je 0x10017bc2
jmp 0x10017cd5
mov cx, word [0x100d3170]
mov word [ebp - 0x2c], cx
movsx edx, byte [ebp - 0x13]
mov dword [0x100d3170], edx
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, 8
imul ecx, ecx, 0x641
mov dword [ecx + 0x101815a8], eax
mov dword [ecx + 0x101815ac], edx
mov eax, dword [ebp - 0x58]
cdq
mov edx, 8
shl edx, 0
sub eax, dword [edx + 0x101bcef0]
mov dword [ebp - 0x58], eax
mov eax, 8
imul ecx, eax, 0x6a
mov edx, dword [ecx + 0x10175cb8]
mov dword [0x100d3134], edx
jmp 0x10017cd5
mov ecx, dword [ebp - 0x5c]
sub ecx, 0x63c647e0
movzx eax, byte [0x100d3027]
cdq
and eax, ecx
mov byte [0x100d3027], al
mov edx, 4
imul eax, edx, 0x17aa
mov ecx, dword [ebp - 0x58]
imul ecx, dword [eax + 0x1022c100]
mov dword [ebp - 0x58], ecx
cmp dword [0x100d31b4], 0
je 0x10017b14
mov edx, dword [0x100d3158]
xor eax, eax
mov dword [ebp - 0x3fc], edx
mov dword [ebp - 0x3f8], eax
jmp 0x10017b2c
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x3fc], ecx
mov dword [ebp - 0x3f8], edx
mov eax, dword [ebp - 0x3fc]
mov dword [ebp - 0x60], eax
movzx ecx, word [0x100d315c]
shl ecx, 4
mov dword [ebp - 0x84], ecx
movzx edx, word [0x100d3178]
test edx, edx
jne 0x10017b5c
mov dword [ebp - 0x260], 1
jmp 0x10017b66
mov dword [ebp - 0x260], 0
mov eax, dword [ebp - 0x260]
sub eax, dword [0x100d3158]
jne 0x10017b88
xor ecx, ecx
mov dword [ebp - 0x404], 1
mov dword [ebp - 0x400], ecx
jmp 0x10017b93
xorps xmm0, xmm0
movlpd qword [ebp - 0x404], xmm0
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
movsx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
sub eax, dword [ebp - 0x404]
sbb edx, dword [ebp - 0x400]
not eax
not edx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
jmp 0x10017cd5
movsx edx, word [ebp - 0x2c]
add edx, dword [0x100d3170]
not edx
mov word [0x100d31b0], dx
movzx eax, byte [0x100d3063]
movzx ecx, byte [ebp - 0x11]
add ecx, eax
movsx edx, word [0x100d31b0]
add edx, ecx
jne 0x10017c01
xor eax, eax
mov dword [ebp - 0x40c], 1
mov dword [ebp - 0x408], eax
jmp 0x10017c0c
xorps xmm0, xmm0
movlpd qword [ebp - 0x40c], xmm0
movsx ecx, word [ebp - 0x1c]
mov esi, dword [ebp - 0x44]
add esi, ecx
xor ecx, ecx
movsx eax, byte [ebp - 0x14]
cdq
xor eax, dword [ebp - 0x38]
xor edx, dword [ebp - 0x34]
add eax, esi
adc edx, ecx
mov ecx, dword [ebp - 0x408]
push ecx
mov ecx, dword [ebp - 0x40c]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3158], eax
mov edx, dword [ebp - 0x44]
add edx, 0x33
mov word [0x100d3128], dx
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x824], edx
mov eax, dword [ebp - 0x84]
cdq
sub eax, ecx
mov ecx, dword [ebp - 0x74]
imul ecx, dword [0x100d3158]
not ecx
sub ecx, eax
mov esi, dword [0x100d3158]
xor esi, dword [ebp - 0x68]
mov edi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x828], edx
movzx eax, byte [ebp - 0x11]
cdq
or eax, edi
xor eax, esi
not eax
sub eax, ecx
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x82c], ecx
mov edx, 1
imul ecx, edx, 0x2f9f
mov byte [ecx + 0x101221e0], al
mov edx, dword [0x100d31a8]
mov eax, dword [0x100d31ac]
push 0
push 0xf1
push eax
push edx
call fcn.100a25b0
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x3c]
add edx, dword [ebp + 8]
mov dword [ebp - 0x4b0], edx
movzx eax, word [0x100d3178]
add eax, 0x1a
mov byte [ebp - 0x15], al
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x830], edx
add ecx, 0x8959b39
movsx eax, byte [ebp - 0x13]
cdq
add eax, ecx
mov byte [ebp - 0x13], al
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
movzx edx, word [0x100d315c]
not edx
movsx eax, byte [ebp - 0x13]
add eax, edx
not eax
cdq
mov edi, eax
mov ebx, edx
sub edi, ecx
sbb ebx, esi
movzx eax, byte [ebp - 0x11]
not eax
imul ecx, eax, 0x4a
movsx edx, word [ebp - 0x1c]
not edx
movsx eax, word [ebp - 0x28]
add eax, edx
sub eax, ecx
cdq
sub eax, edi
sbb edx, ebx
not eax
not edx
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movsx eax, byte [ebp - 0x13]
movzx ecx, byte [0x100d304f]
imul ecx, eax
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x4b0]
mov eax, dword [edx + 0x78]
add eax, dword [ebp + 8]
mov dword [ebp - 0x94], eax
mov ecx, dword [ebp - 0x44]
xor edx, edx
mov dword [ebp - 0x6b0], ecx
mov dword [ebp - 0x6ac], edx
mov eax, dword [ebp - 0x70]
cmp eax, dword [ebp - 0x6b0]
jne 0x10017da9
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x6ac]
je 0x10017db5
mov dword [ebp - 0x264], 1
jmp 0x10017dbf
mov dword [ebp - 0x264], 0
cmp dword [ebp - 0x70], 0x64
jne 0x10017dcb
cmp dword [ebp - 0x6c], 0
je 0x10017dd7
mov dword [ebp - 0x268], 1
jmp 0x10017de1
mov dword [ebp - 0x268], 0
mov edx, dword [ebp - 0x264]
cmp edx, dword [ebp - 0x268]
jge 0x10018006
mov eax, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x78]
mov dword [ebp - 0x6b8], eax
mov dword [ebp - 0x6b4], ecx
mov edx, dword [ebp - 0x6b4]
cmp edx, dword [0x100d318c]
ja 0x10017e2f
jb 0x10017e23
mov eax, dword [ebp - 0x6b8]
cmp eax, dword [0x100d3188]
ja 0x10017e2f
mov dword [ebp - 0x26c], 1
jmp 0x10017e39
mov dword [ebp - 0x26c], 0
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x6c0], ecx
mov dword [ebp - 0x6bc], edx
cmp dword [ebp - 0x6bc], 0
jg 0x10017e6b
jl 0x10017e5f
cmp dword [ebp - 0x6c0], 0xf
ja 0x10017e6b
mov dword [ebp - 0x270], 1
jmp 0x10017e75
mov dword [ebp - 0x270], 0
mov eax, dword [ebp - 0x26c]
cmp eax, dword [ebp - 0x270]
jne 0x10017ee0
mov ecx, dword [str.Errorsavingdownloa]
mov dword [ebp - 0x7bc], ecx
mov edx, dword [0x100af37c]
mov dword [ebp - 0x7b8], edx
mov eax, dword [0x100af380]
mov dword [ebp - 0x7b4], eax
mov ecx, dword [0x100af384]
mov dword [ebp - 0x7b0], ecx
mov dx, word [0x100af388]
mov word [ebp - 0x7ac], dx
mov al, byte [0x100af38a]
mov byte [ebp - 0x7aa], al
lea ecx, [ebp - 0x7bc]
push ecx
call dword [sym.imp.KERNEL32.dll_lstrlenA]
mov dword [ebp - 0x60], eax
jmp 0x10018006
cmp dword [0x100d311c], 0
je 0x10018006
movsx edx, word [ebp - 0x28]
test edx, edx
je 0x10018006
cmp dword [ebp - 0x44], 0
jne 0x10017f0b
mov dword [ebp - 0x274], 1
jmp 0x10017f15
mov dword [ebp - 0x274], 0
mov eax, dword [ebp - 0x274]
mov dword [0x100d3190], eax
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
movzx eax, word [ebp - 0x30]
cdq
sub eax, ecx
sbb edx, esi
mov dword [ebp - 0x6c8], eax
mov dword [ebp - 0x6c4], edx
mov edx, dword [ebp - 0x6c8]
or edx, dword [ebp - 0x6c4]
jne 0x10017f63
xor eax, eax
mov dword [ebp - 0x41c], 1
mov dword [ebp - 0x418], eax
jmp 0x10017f6e
xorps xmm0, xmm0
movlpd qword [ebp - 0x41c], xmm0
movzx ecx, byte [0x100d304f]
test ecx, ecx
jne 0x10017f8d
xor edx, edx
mov dword [ebp - 0x414], 1
mov dword [ebp - 0x410], edx
jmp 0x10017f98
xorps xmm0, xmm0
movlpd qword [ebp - 0x414], xmm0
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp - 0x50]
xor eax, dword [ebp - 0x414]
xor ecx, dword [ebp - 0x410]
mov edx, dword [ebp - 0x41c]
sub edx, eax
mov eax, dword [ebp - 0x418]
sbb eax, ecx
not edx
not eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movsx eax, word [0x100d3130]
add eax, 0x71243c04
cdq
mov dword [0x100d3198], eax
mov dword [0x100d319c], edx
mov ecx, 0xe6d82
mov dword [0x100d3120], 0x493c348b
mov dword [0x100d3124], ecx
mov edx, dword [ebp - 0x4c]
add edx, 0x7955
mov eax, dword [ebp - 0x48]
adc eax, 0
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x94]
mov edx, dword [ecx + 0x20]
add edx, dword [ebp + 8]
mov dword [ebp - 0x470], edx
mov dword [ebp - 0xd0], 0x7b
jmp 0x10018033
mov eax, dword [ebp - 0xd0]
sub eax, 1
mov dword [ebp - 0xd0], eax
cmp dword [ebp - 0xd0], 0
jle 0x10018104
push 0xbb
push 0x66
push 0
mov ecx, dword [ebp - 0x44]
push ecx
push 0x50
movsx edx, word [ebp - 0x2c]
push edx
call fcn.1005c200
add esp, 0x18
mov word [ebp - 0x1c], ax
movsx eax, word [ebp - 0x1c]
test eax, eax
je 0x100180f0
movsx ecx, byte [0x100d3026]
sub ecx, 0x2643
mov byte [ebp - 0x14], cl
mov edx, dword [0x100d3170]
not edx
add edx, dword [0x100d3190]
mov dword [0x100d311c], edx
mov eax, dword [0x100d3138]
add eax, 0x6047
mov ecx, dword [0x100d313c]
adc ecx, 0
mov edx, dword [ebp - 0x4c]
sub edx, eax
mov eax, dword [ebp - 0x48]
sbb eax, ecx
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, dword [0x100d311c]
mov dword [ebp - 0x60], ecx
movsx edx, byte [ebp - 0x14]
add edx, 0x32a78b7c
xor eax, eax
mov ecx, dword [0x100d3188]
sub ecx, edx
mov edx, dword [0x100d318c]
sbb edx, eax
mov dword [0x100d3188], ecx
mov dword [0x100d318c], edx
xor eax, eax
mov dword [ebp - 0x68], 0x6d
mov dword [ebp - 0x64], eax
mov ecx, dword [0x100d3174]
add ecx, 1
mov dword [0x100d3174], ecx
jmp 0x10018024
mov edx, dword [ebp - 0x94]
mov eax, dword [edx + 0x24]
add eax, dword [ebp + 8]
mov dword [ebp - 0x474], eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x834], edx
push ecx
call dword [sym.imp.USER32.dll_IsWindow]
mov word [ebp - 0x30], ax
movzx eax, byte [0x100d304f]
test eax, eax
jne 0x1001814c
movsx ecx, word [ebp - 0x28]
test ecx, ecx
jne 0x1001814c
mov dword [ebp - 0x278], 0
jmp 0x10018156
mov dword [ebp - 0x278], 1
movsx edx, word [ebp - 0x1c]
test edx, edx
jne 0x1001818a
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x6d0], eax
mov dword [ebp - 0x6cc], ecx
mov edx, dword [ebp - 0x6d0]
or edx, dword [ebp - 0x6cc]
jne 0x1001818a
mov dword [ebp - 0x27c], 0
jmp 0x10018194
mov dword [ebp - 0x27c], 1
mov eax, dword [ebp - 0x278]
cmp eax, dword [ebp - 0x27c]
jl 0x100184a1
push 0x7e
movzx ecx, word [ebp - 0x30]
push ecx
push 0xa2
push 0
call fcn.1005c780
add esp, 0x10
movsx edx, ax
mov dword [0x100d31b4], edx
cmp dword [0x100d31b4], 0
je 0x100181e4
movzx eax, byte [0x100d3063]
push eax
call dword [sym.imp.KERNEL32.dll_IsValidCodePage]
mov byte [ebp - 0x14], al
jmp 0x1001849c
cmp dword [ebp - 0x80], 0x94eb
jae 0x100181f9
mov dword [ebp - 0x280], 1
jmp 0x10018203
mov dword [ebp - 0x280], 0
mov eax, dword [ebp - 0x280]
not eax
cdq
mov dword [ebp - 0x6d8], eax
mov dword [ebp - 0x6d4], edx
mov ecx, dword [0x100d313c]
cmp ecx, dword [ebp - 0x6d4]
ja 0x100183ca
jb 0x1001823e
mov edx, dword [0x100d3138]
cmp edx, dword [ebp - 0x6d8]
jae 0x100183ca
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x78]
mov dword [ebp - 0x838], edx
mov eax, dword [ebp - 0x74]
cdq
sub eax, ecx
mov dword [ebp - 0x74], eax
movsx eax, byte [ebp - 0x14]
test eax, eax
jne 0x10018267
mov dword [ebp - 0x284], 1
jmp 0x10018271
mov dword [ebp - 0x284], 0
movsx eax, byte [ebp - 0x12]
cdq
mov ecx, eax
mov esi, edx
xor ecx, dword [0x100d3168]
xor esi, dword [0x100d316c]
movzx eax, byte [ebp - 0x15]
cdq
mov edi, eax
mov ebx, edx
sub edi, dword [ebp - 0x70]
sbb ebx, dword [ebp - 0x6c]
add edi, ecx
adc ebx, esi
mov eax, dword [ebp - 0x284]
xor eax, dword [0x100d3134]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
or ecx, eax
or esi, edx
sub ecx, edi
sbb esi, ebx
mov dword [0x100d3160], ecx
mov dword [0x100d3164], esi
mov eax, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov cl, 8
call fcn.100a25f0
mov dword [ebp - 0x60], eax
movsx eax, word [ebp - 0x24]
add eax, 0x45
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
movsx edx, word [ebp - 0x28]
sub edx, 0x7d325b5b
jne 0x10018303
xor eax, eax
mov dword [ebp - 0x424], 1
mov dword [ebp - 0x420], eax
jmp 0x1001830e
xorps xmm0, xmm0
movlpd qword [ebp - 0x424], xmm0
movsx eax, byte [0x100d3026]
cdq
add eax, dword [ebp - 0x4c]
adc edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x420]
push ecx
mov ecx, dword [ebp - 0x424]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x6e0], eax
mov dword [ebp - 0x6dc], edx
mov edx, dword [ebp - 0x6e0]
or edx, dword [ebp - 0x6dc]
jne 0x1001835f
xor eax, eax
mov dword [ebp - 0x42c], 1
mov dword [ebp - 0x428], eax
jmp 0x1001836a
xorps xmm0, xmm0
movlpd qword [ebp - 0x42c], xmm0
movzx ecx, word [ebp - 0x20]
test ecx, ecx
jne 0x1001837e
mov dword [ebp - 0x288], 1
jmp 0x10018388
mov dword [ebp - 0x288], 0
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, eax
mov esi, edx
sub ecx, dword [0x100d3188]
sbb esi, dword [0x100d318c]
mov eax, dword [0x100d3134]
imul eax, dword [ebp - 0x288]
cdq
add eax, ecx
adc edx, esi
add eax, dword [ebp - 0x42c]
adc edx, dword [ebp - 0x428]
mov dword [0x100d3180], eax
mov dword [0x100d3184], edx
jmp 0x1001849c
mov edx, dword [ebp - 0x44]
cmp dword [0x100d3170], edx
jbe 0x1001840e
mov eax, 0x97
mov word [0x100d3128], ax
imul ecx, dword [0x100d3170], 0x91ea
mov byte [ebp - 0x12], cl
mov edx, dword [0x100d3168]
add edx, 0x19b6ad16
mov eax, dword [0x100d316c]
adc eax, 0x49ef5
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
jmp 0x1001849c
movzx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x1001849c
mov eax, dword [ebp - 0x60]
cdq
mov ecx, eax
add ecx, dword [0x100d3188]
mov eax, dword [ebp - 0x60]
cdq
sub eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [0x100d3c78]
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
movsx ecx, byte [ebp - 0x12]
xor ecx, 0xb06fb6b0
xor edx, edx
mov eax, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
push edx
push ecx
push esi
push eax
call fcn.100a25b0
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
movzx ecx, word [ebp - 0x20]
test ecx, ecx
je 0x10018479
mov edx, dword [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x434], edx
mov dword [ebp - 0x430], eax
jmp 0x10018491
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov dword [ebp - 0x434], ecx
mov dword [ebp - 0x430], edx
mov eax, dword [ebp - 0x434]
mov dword [0x100d3144], eax
jmp 0x10018562
movsx ecx, word [ebp - 0x1c]
movzx edx, byte [ebp - 0x15]
cmp edx, ecx
jne 0x10018562
movzx eax, byte [0x100d304f]
cdq
mov ecx, eax
and ecx, 0xa1642efe
movzx eax, byte [0x100d3027]
cdq
sub eax, ecx
mov byte [0x100d3027], al
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x83c], eax
sub edx, 0xc696
mov dword [ebp - 0x74], edx
movzx ecx, byte [ebp - 0x11]
xor ecx, 0x8276f6e8
mov dword [0x100d3140], ecx
movzx edx, byte [0x100d3063]
test edx, edx
jne 0x10018519
xor eax, eax
mov dword [ebp - 0x43c], 1
mov dword [ebp - 0x438], eax
jmp 0x10018524
xorps xmm0, xmm0
movlpd qword [ebp - 0x43c], xmm0
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
sub ecx, dword [ebp - 0x43c]
sbb edx, dword [ebp - 0x438]
sub ecx, 0xfd79dd40
sbb edx, 0
mov dword [0x100d3120], ecx
mov dword [0x100d3124], edx
movsx eax, word [ebp - 0x2c]
mov ecx, dword [ebp - 0x60]
add ecx, eax
mov edx, dword [ebp - 0x60]
sub edx, ecx
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x1c]
add ecx, dword [ebp + 8]
mov dword [ebp - 0x478], ecx
mov edx, dword [0x100d3148]
sub edx, 0x7b17b65a
mov word [0x100d3178], dx
movsx eax, byte [0x100d304e]
imul ecx, eax, 0xce
mov byte [ebp - 0x14], cl
mov eax, dword [0x100d3190]
add eax, 0x72cb2623
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
mov edx, 0xffffaeff
mov word [ebp - 0x24], dx
mov eax, dword [ebp - 0x60]
shl eax, 8
mov dword [0x100d3170], eax
mov eax, dword [0x100d311c]
cdq
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], edx
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x94]
mov eax, dword [ecx + 0x18]
cmp eax, dword [edx + 0x14]
jbe 0x10018b2b
jmp 0x100185f6
jmp 0x1001863d
jmp 0x10018664
jmp 0x10018684
jmp 0x100186bd
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, dword [0x100d313c]
push ecx
mov ecx, dword [0x100d3138]
push ecx
push edx
push eax
call fcn.100a25b0
not eax
not edx
mov dword [ebp - 0x6e8], eax
mov dword [ebp - 0x6e4], edx
mov edx, dword [ebp - 0x6e8]
or edx, dword [ebp - 0x6e4]
je 0x10018a6c
mov dword [0x100d31b4], 3
mov eax, 4
imul ecx, eax, 0x3b8
mov edx, dword [0x100d3134]
sub edx, dword [ecx + 0x1022c100]
mov dword [0x100d3134], edx
movsx eax, byte [ebp - 0x12]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
push 0
push 0x914de3b3
push ecx
push eax
call fcn.100a25b0
mov ecx, eax
mov ebx, edx
xor ecx, esi
xor ebx, edi
movzx edx, byte [0x100d3063]
imul esi, edx, 0xaa646545
xor edi, edi
mov eax, dword [0x100d3120]
not eax
mov edx, dword [0x100d3124]
not edx
mov dword [ebp - 0x4bc], ecx
movsx ecx, word [0x100d31b0]
mov dword [ebp - 0x4b4], eax
mov eax, ecx
mov dword [ebp - 0x4b8], edx
cdq
mov ecx, dword [ebp - 0x4b4]
sub eax, ecx
mov ecx, dword [ebp - 0x4b8]
sbb edx, ecx
add eax, esi
adc edx, edi
not eax
not edx
push ebx
mov ecx, dword [ebp - 0x4bc]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x58], eax
movzx edx, byte [0x100d304f]
add edx, dword [0x100d3174]
mov byte [ebp - 0x14], dl
mov eax, dword [0x100d31a0]
mov ecx, dword [0x100d31a4]
mov dword [ebp - 0x840], ecx
add eax, 0xd029d81e
mov dword [ebp - 0x44], eax
mov edx, dword [0x100d31b4]
mov dword [ebp - 0x28c], edx
cmp dword [ebp - 0x28c], 3
ja case.default.0x100187f6
mov eax, dword [ebp - 0x28c]
jmp dword [eax*4 + 0x1001acb8]
mov cx, word [ebp - 0x28]
add cx, 1
mov word [ebp - 0x28], cx
xor edx, edx
mov dword [ebp - 0x70], 0x1536359d
mov dword [ebp - 0x6c], edx
movzx eax, word [0x100d315c]
mov dword [ebp - 0x60], eax
movsx eax, word [0x100d3128]
cdq
mov esi, dword [0x100d3120]
not esi
mov edi, dword [0x100d3124]
not edi
xor esi, eax
xor edi, edx
movsx eax, word [ebp - 0x2c]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
mov ebx, eax
mov eax, edx
xor ebx, esi
xor eax, edi
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x5c]
xor esi, esi
sub edx, dword [ebp - 0x7c]
sbb esi, ecx
mov ecx, dword [0x100d3198]
mov edi, dword [0x100d319c]
push esi
push edx
push edi
push ecx
mov dword [ebp - 0x4c0], eax
call fcn.100a25b0
not eax
not edx
add eax, ebx
mov esi, dword [ebp - 0x4c0]
adc edx, esi
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
mov edx, dword [ebp - 0x48]
push edx
mov eax, dword [ebp - 0x4c]
push eax
mov ecx, dword [0x100d316c]
push ecx
mov edx, dword [0x100d3168]
push edx
call fcn.100a25b0
or eax, dword [0x100d3168]
or edx, dword [0x100d316c]
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
movzx eax, byte [ebp - 0x11]
cdq
add eax, dword [0x100d3168]
mov byte [ebp - 0x11], al
jmp case.default.0x100187f6
mov byte [ebp - 0x13], 0xf8
mov eax, dword [ebp - 0x68]
sub eax, 0x8e
mov ecx, dword [ebp - 0x64]
sbb ecx, 0
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], ecx
movsx eax, word [0x100d3128]
cdq
mov ecx, dword [0x100d3148]
sub ecx, eax
mov eax, dword [0x100d314c]
sbb eax, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], eax
mov cl, byte [ebp - 0x58]
mov byte [ebp - 0x14], cl
mov dword [ebp - 0x60], 0x735e02c8
jmp case.default.0x100187f6
mov edx, dword [ebp - 0x44]
add edx, 0x2a67687
xor eax, eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], eax
mov ecx, dword [0x100d311c]
sar ecx, 4
mov dword [ebp - 0x80], ecx
movsx edx, byte [0x100d3026]
sub edx, 0x33317241
movzx eax, byte [ebp - 0x15]
sub eax, edx
mov byte [ebp - 0x15], al
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x6f0], ecx
mov dword [ebp - 0x6ec], edx
mov eax, dword [ebp - 0x6f0]
or eax, dword [ebp - 0x6ec]
je 0x1001898a
movsx eax, word [ebp - 0x1c]
cdq
mov dword [ebp - 0x444], eax
mov dword [ebp - 0x440], edx
jmp 0x100189a2
mov ecx, dword [0x100d3150]
mov edx, dword [0x100d3154]
mov dword [ebp - 0x444], ecx
mov dword [ebp - 0x440], edx
mov ax, word [ebp - 0x444]
mov word [ebp - 0x1c], ax
movzx ecx, byte [ebp - 0x11]
test ecx, ecx
jne 0x100189c1
mov dword [ebp - 0x290], 1
jmp 0x100189cb
mov dword [ebp - 0x290], 0
movzx edx, byte [ebp - 0x15]
imul edx, dword [ebp - 0x290]
mov eax, dword [0x100d31b4]
not eax
sub eax, dword [ebp - 0x80]
add eax, edx
sub eax, dword [0x100d31b4]
mov byte [ebp - 0x13], al
jmp case.default.0x100187f6
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
movsx eax, byte [ebp - 0x13]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
movzx eax, word [ebp - 0x20]
cdq
push 0x5955c
push 0x6d829357
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3174], eax
mov edx, dword [0x100d3140]
add edx, 0xa235
xor eax, eax
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], eax
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0x5ca32b44
mov byte [0x100d304f], al
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
mov dword [ebp - 0x844], edx
add ecx, 0x269f9666
mov word [0x100d31b0], cx
jmp 0x10018b17
movzx eax, word [ebp - 0x20]
test eax, eax
je 0x10018b17
movzx ecx, word [0x100d3178]
add ecx, 0xf8d8
mov word [0x100d312c], cx
movsx edx, byte [0x100d304e]
test edx, edx
jne 0x10018aa3
mov dword [ebp - 0x294], 1
jmp 0x10018aad
mov dword [ebp - 0x294], 0
imul eax, dword [ebp - 0x294], 0
movsx ecx, word [0x100d3128]
and ecx, 0
add ecx, eax
not ecx
mov dword [0x100d3140], ecx
mov eax, dword [ebp - 0x58]
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
mov dword [ebp - 0x74], 1
mov byte [0x100d3026], 0xf5
mov edx, dword [ebp - 0x44]
sub edx, 0xebe0d5e4
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x2a0], ecx
jmp 0x10018c23
call dword [sym.imp.USER32.dll_GetFocus]
mov dword [ebp - 0x298], eax
mov dword [ebp - 0x4c8], 0
cmp dword [ebp - 0x298], 0
je 0x10018b75
mov dword [ebp - 0x4c4], 1
mov edx, dword [ebp - 0x4c4]
push edx
mov eax, dword [ebp - 0x4c8]
push eax
mov ecx, dword [ebp - 0x298]
push ecx
call dword [sym.imp.USER32.dll_GetUpdateRect]
mov dword [ebp - 0x848], eax
cmp dword [ebp - 0x80], 0
je 0x10018c14
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x84c], eax
and edx, 0xeab1
mov dword [ebp - 0x74], edx
mov ecx, dword [0x100d3150]
or ecx, dword [0x100d3154]
jne 0x10018bb3
mov dword [ebp - 0x29c], 1
jmp 0x10018bbd
mov dword [ebp - 0x29c], 0
mov edx, dword [0x100d311c]
or edx, dword [0x100d3190]
movzx eax, byte [ebp - 0x11]
sub eax, dword [ebp - 0x29c]
add eax, edx
cdq
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx eax, word [ebp - 0x24]
imul eax, dword [0x100d3134]
movsx ecx, word [ebp - 0x24]
sub ecx, eax
mov word [ebp - 0x24], cx
movzx edx, byte [ebp - 0x15]
movsx eax, word [ebp - 0x28]
imul eax, edx
movsx ecx, word [ebp - 0x28]
sub ecx, eax
mov word [ebp - 0x28], cx
movsx edx, byte [ebp - 0x12]
imul edx, dword [0x100d3134]
mov byte [ebp - 0x12], dl
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax + 0x14]
mov dword [ebp - 0x2a0], ecx
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x850], eax
and edx, 0xae03ccd6
mov word [ebp - 0x30], dx
movsx eax, word [0x100d31b0]
cdq
push 0x6b191
push 0xc74180d8
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x2c], ax
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov dword [ebp - 0x60], 1
xor ecx, ecx
mov word [ebp - 0x88], cx
jmp 0x10018c85
mov dx, word [ebp - 0x88]
add dx, 1
mov word [ebp - 0x88], dx
movzx eax, word [ebp - 0x88]
cmp eax, dword [ebp - 0x2a0]
jae 0x1001ac20
mov ecx, dword [ebp - 0x60]
cmp dword [0x100d3158], ecx
jbe 0x10018caf
mov dword [ebp - 0x2a4], 1
jmp 0x10018cb9
mov dword [ebp - 0x2a4], 0
cmp dword [0x100d3158], 0x43
jbe 0x10018cce
mov dword [ebp - 0x2a8], 1
jmp 0x10018cd8
mov dword [ebp - 0x2a8], 0
mov edx, dword [ebp - 0x2a4]
cmp edx, dword [ebp - 0x2a8]
jg 0x10018d0c
jmp 0x10018cf2
jmp 0x10018cf9
jmp 0x10018d0a
jmp 0x10018d82
movsx eax, word [ebp - 0x24]
not eax
test eax, eax
je 0x10018d82
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
jne 0x10018d2a
mov dword [ebp - 0x2ac], 1
jmp 0x10018d34
mov dword [ebp - 0x2ac], 0
mov eax, dword [ebp - 0x2ac]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
add ecx, eax
adc esi, edx
not ecx
not esi
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
mov edx, dword [ebp - 0x4c]
add edx, 1
mov eax, dword [ebp - 0x48]
adc eax, 0
mov dword [ebp - 0x4c], edx
mov dword [ebp - 0x48], eax
mov ecx, 0x90
mov word [0x100d315c], cx
mov edx, dword [ebp - 0x70]
add edx, 0xb227
mov dword [0x100d3158], edx
mov dword [ebp - 0xd4], 0
jmp 0x10018d9d
mov eax, dword [ebp - 0xd4]
add eax, 1
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0x3d9
jge 0x10018dc3
call dword [sym.imp.USER32.dll_GetForegroundWindow]
mov dword [ebp - 0x58], eax
mov cl, byte [0x100d304e]
add cl, 1
mov byte [0x100d304e], cl
jmp 0x10018d8e
mov edx, dword [0x100d3c78]
mov dword [ebp - 0xf4], edx
movzx eax, byte [0x100d3063]
push eax
call dword [sym.imp.USER32.dll_GetWindowTextLengthA]
mov word [ebp - 0x24], ax
movsx eax, byte [ebp - 0x14]
cdq
mov ecx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x6f8], ecx
mov dword [ebp - 0x6f4], esi
mov dword [ebp - 0x700], eax
mov dword [ebp - 0x6fc], edx
mov edx, dword [ebp - 0x6f4]
cmp edx, dword [ebp - 0x6fc]
jl 0x10018e2e
jg 0x10018e22
mov eax, dword [ebp - 0x6f8]
cmp eax, dword [ebp - 0x700]
jb 0x10018e2e
mov dword [ebp - 0x2b0], 1
jmp 0x10018e38
mov dword [ebp - 0x2b0], 0
mov ecx, dword [ebp - 0x4c]
or ecx, dword [ebp - 0x48]
jne 0x10018e57
movsx edx, byte [0x100d304e]
test edx, edx
jne 0x10018e57
mov dword [ebp - 0x2b4], 0
jmp 0x10018e61
mov dword [ebp - 0x2b4], 1
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x2b0]
cmp eax, dword [ebp - 0x2b4]
jge 0x10018f4d
mov ecx, dword [0x100d3170]
xor edx, edx
add ecx, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movzx eax, byte [ebp - 0x11]
movzx ecx, word [0x100d3178]
add ecx, eax
mov word [0x100d3178], cx
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [ebp - 0x4c]
not ecx
mov esi, dword [ebp - 0x48]
not esi
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov ecx, eax
mov eax, dword [ebp - 0x74]
cdq
xor eax, ecx
mov dword [0x100d3134], eax
cmp dword [0x100d31b4], 0
je 0x10018edf
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x44c], edx
mov dword [ebp - 0x448], eax
jmp 0x10018ef3
movzx eax, word [0x100d315c]
cdq
mov dword [ebp - 0x44c], eax
mov dword [ebp - 0x448], edx
mov cx, word [ebp - 0x44c]
mov word [0x100d315c], cx
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
movsx eax, word [0x100d312c]
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d312c]
cdq
add eax, ecx
mov word [0x100d312c], ax
movzx edx, byte [0x100d3063]
imul eax, edx, 0x42e03033
cdq
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], esi
jmp 0x10018fce
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x708], edx
mov dword [ebp - 0x704], eax
cmp dword [ebp - 0x704], 0
jg 0x10018fce
jl 0x10018f76
cmp dword [ebp - 0x708], 0xa8
jae 0x10018fce
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x854], eax
add edx, ecx
mov byte [ebp - 0x13], dl
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [0x100d3180], ecx
mov dword [0x100d3184], edx
mov eax, 4
imul ecx, eax, 0x3e
mov eax, dword [ecx + 0x103392e8]
cdq
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
xor edx, edx
mov dword [0x100d3148], 0xa9d5
mov dword [0x100d314c], edx
mov eax, dword [ebp - 0xf4]
add eax, 0x774
mov dword [ebp - 0x858], eax
mov ecx, dword [0x100d3150]
add ecx, 0x22
mov dword [ebp - 0x60], ecx
mov edx, 1
imul eax, edx, 0xb9a3
movsx eax, byte [eax + 0x1023abe0]
cdq
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push edx
push eax
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, byte [0x100d3027]
test edx, edx
jne 0x1001902a
mov dword [ebp - 0x2b8], 1
jmp 0x10019034
mov dword [ebp - 0x2b8], 0
mov eax, dword [ebp - 0x2b8]
sub eax, dword [ebp - 0x84]
cdq
mov esi, eax
mov edi, edx
mov eax, dword [ebp - 0x5c]
not eax
xor ecx, ecx
mov edx, dword [0x100d3154]
push edx
mov edx, dword [0x100d3150]
push edx
push ecx
push eax
call fcn.100a25b0
mov ebx, eax
mov eax, edx
not ebx
not eax
add ebx, esi
adc eax, edi
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
movzx edx, byte [0x100d3063]
mov edi, dword [ebp - 0x84]
add edi, edx
mov dword [ebp - 0x4cc], eax
mov eax, edi
cdq
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov esi, dword [ebp - 0x4cc]
push esi
push ebx
push edx
push eax
call fcn.100a25b0
not eax
mov word [ebp - 0x20], ax
mov eax, dword [0x100d311c]
cdq
mov ecx, dword [0x100d316c]
push ecx
mov ecx, dword [0x100d3168]
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [0x100d311c], eax
mov edx, dword [0x100d3158]
add edx, dword [0x100d3168]
mov eax, dword [0x100d3158]
and eax, edx
mov dword [0x100d3158], eax
mov ecx, dword [ebp - 0xf4]
add ecx, 0x72f
mov dword [ebp - 0x4d0], ecx
mov byte [0x100d304e], 0xb0
mov edx, dword [ebp - 0x4c]
add edx, 0xdc
mov eax, dword [ebp - 0x48]
adc eax, 0
mov dword [0x100d3120], edx
mov dword [0x100d3124], eax
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
add ecx, 1
adc edx, 0
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], edx
mov eax, dword [ebp - 0x44]
sub eax, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x44]
xor ecx, eax
mov dword [ebp - 0x44], ecx
mov dx, word [0x100d3c78]
mov word [0x100d3128], dx
mov eax, dword [ebp - 0xf4]
add eax, 0x770
mov dword [ebp - 0x468], eax
movzx eax, byte [0x100d3063]
cdq
mov ecx, eax
add ecx, dword [0x100d3138]
movzx eax, byte [0x100d3063]
cdq
add eax, ecx
mov byte [0x100d3063], al
mov dword [0x100d3158], 0x6b
mov edx, dword [0x100d3148]
and edx, 0x98a3631c
mov eax, dword [0x100d314c]
and eax, 0x86bf8
mov dword [ebp - 0x54], edx
mov dword [ebp - 0x50], eax
movzx ecx, word [ebp - 0x30]
add ecx, 0x1c5443d
and ecx, dword [0x100d3170]
mov dword [0x100d3170], ecx
movsx eax, word [ebp - 0x28]
cdq
sub eax, dword [0x100d3188]
mov word [ebp - 0x28], ax
mov edx, dword [ebp - 0x4d0]
sub edx, dword [ebp - 0x468]
cmp edx, 0x3ac
je 0x1001ac1b
push 0
push 0x92
mov eax, dword [ebp - 0x60]
push eax
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x85c], edx
push ecx
mov eax, dword [0x100d3138]
push eax
push 0
call fcn.1005c200
add esp, 0x18
mov word [ebp - 0x1c], ax
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
jge 0x1001927f
movsx edx, byte [0x100d304e]
imul eax, edx, 0x61fa9765
movzx ecx, byte [ebp - 0x11]
add ecx, eax
mov byte [ebp - 0x11], cl
mov edx, dword [0x100d3174]
xor eax, eax
add edx, dword [ebp - 0x70]
adc eax, dword [ebp - 0x6c]
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], eax
mov cl, byte [0x100d304e]
sub cl, 1
mov byte [0x100d304e], cl
movsx edx, byte [0x100d3026]
imul eax, edx, 0x57b
mov byte [ebp - 0x11], al
movzx eax, word [0x100d3178]
sar eax, 5
cdq
mov dword [0x100d31a0], eax
mov dword [0x100d31a4], edx
jmp 0x1001931c
movsx ecx, word [ebp - 0x1c]
not ecx
test ecx, ecx
je 0x1001931c
mov edx, 0xffffcd8a
mov word [ebp - 0x28], dx
mov eax, dword [0x100d3180]
mov ecx, dword [0x100d3184]
push 0
push 0x74
push ecx
push eax
call fcn.100a25b0
mov byte [ebp - 0x13], al
mov edx, dword [0x100d3138]
sub edx, 0xeaae9a0c
mov eax, dword [0x100d313c]
sbb eax, 0
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
sub ecx, edx
sbb esi, eax
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], esi
movzx edx, byte [ebp - 0x15]
mov eax, dword [ebp - 0x5c]
lea ecx, [edx + eax + 1]
movzx edx, word [ebp - 0x30]
sub edx, 0x98c5
movzx eax, byte [0x100d3063]
movsx esi, word [0x100d312c]
add esi, eax
imul esi, edx
imul esi, ecx
mov dword [0x100d3158], esi
mov eax, dword [ebp - 0x60]
cdq
mov ecx, dword [ebp - 0x68]
not ecx
mov esi, dword [ebp - 0x64]
not esi
add ecx, eax
adc esi, edx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], esi
mov dword [ebp - 4], 4
movsx eax, word [0x100d31b0]
cdq
add eax, 0x27aceda5
mov byte [0x100d304f], al
mov edx, dword [ebp - 0x5c]
xor edx, 9
mov dword [0x100d3174], edx
mov eax, dword [ebp - 0x60]
cdq
mov ecx, eax
mov esi, edx
movsx eax, word [ebp - 0x1c]
cdq
xor eax, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x48]
xor eax, ecx
xor edx, esi
mov ecx, dword [ebp - 0x74]
imul ecx, dword [0x100d3158]
movzx esi, byte [ebp - 0x15]
movsx edi, byte [ebp - 0x14]
sub edi, esi
add edi, ecx
xor ecx, ecx
push edx
push eax
push ecx
push edi
call fcn.100a25b0
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
movsx edx, byte [ebp - 0x13]
not edx
mov eax, 0x81597a2c
sub eax, edx
mov ecx, dword [0x100d3190]
and ecx, dword [0x100d3144]
imul ecx, eax
movsx edx, word [0x100d312c]
movsx eax, word [0x100d3128]
not eax
add eax, edx
sub eax, ecx
not eax
mov dword [0x100d3158], eax
mov ecx, 0x5dc6
mov word [ebp - 0x30], cx
jmp 0x100194ac
mov dword [ebp - 4], 0xffffffff
jmp 0x100194bc
mov ecx, dword [ebp - 0x2c0]
mov edx, dword [ebp - 0x2c0]
lea eax, [edx + ecx + 0x292]
cmp eax, dword [ebp - 0x46c]
je 0x1001a0a9
push 0
push 0xd5
call fcn.100597c0
add esp, 8
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x718], ecx
mov dword [ebp - 0x714], edx
mov eax, dword [ebp - 0x718]
or eax, dword [ebp - 0x714]
je 0x10019729
mov ecx, dword [0x100d3170]
xor edx, edx
mov dword [ebp - 0x720], ecx
mov dword [ebp - 0x71c], edx
mov eax, dword [0x100d314c]
cmp eax, dword [ebp - 0x71c]
jl 0x100195de
jg 0x1001954d
mov ecx, dword [0x100d3148]
cmp ecx, dword [ebp - 0x720]
jb 0x100195de
mov edx, 4
shl edx, 0
mov eax, dword [ebp - 0x58]
mov dword [edx + 0x100d3c7c], eax
xor ecx, ecx
mov dword [ebp - 0x68], 0x20ae48ce
mov dword [ebp - 0x64], ecx
movsx edx, word [ebp - 0x24]
add edx, 0x7bbc169a
mov word [0x100d3128], dx
movzx eax, byte [0x100d3063]
cdq
mov ecx, dword [0x100d3124]
push ecx
mov ecx, dword [0x100d3120]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, byte [0x100d3063]
cdq
and eax, ecx
mov byte [0x100d3063], al
mov edx, 4
imul eax, edx, 0x46
mov ecx, dword [eax + 0x10339700]
xor edx, edx
add ecx, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], ecx
mov dword [ebp - 0x64], edx
movzx eax, word [ebp - 0x30]
sub eax, 0xf376
or eax, dword [0x100d3134]
mov dword [0x100d3134], eax
jmp 0x10019724
movsx ecx, word [ebp - 0x1c]
test ecx, ecx
je 0x10019724
mov edx, dword [0x100d3168]
or edx, dword [0x100d316c]
jne 0x10019724
cmp dword [ebp - 0x44], 0
jne 0x10019616
xor eax, eax
mov dword [ebp - 0x454], 1
mov dword [ebp - 0x450], eax
jmp 0x10019621
xorps xmm0, xmm0
movlpd qword [ebp - 0x454], xmm0
mov ecx, dword [0x100d31a0]
mov edx, dword [0x100d31a4]
mov dword [ebp - 0x728], ecx
mov dword [ebp - 0x724], edx
mov eax, dword [ebp - 0x724]
cmp eax, dword [ebp - 0x450]
jl 0x10019724
jg 0x1001965f
mov ecx, dword [ebp - 0x728]
cmp ecx, dword [ebp - 0x454]
jbe 0x10019724
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
mov dword [ebp - 0x730], edx
mov dword [ebp - 0x72c], eax
mov ecx, dword [ebp - 0x730]
or ecx, dword [ebp - 0x72c]
jne 0x10019690
mov dword [ebp - 0x2c4], 1
jmp 0x1001969a
mov dword [ebp - 0x2c4], 0
movsx edx, word [0x100d312c]
not edx
sub edx, dword [0x100d3190]
jne 0x100196b7
mov dword [ebp - 0x2c8], 1
jmp 0x100196c1
mov dword [ebp - 0x2c8], 0
mov eax, dword [0x100d3134]
not eax
sub eax, dword [ebp - 0x2c4]
add eax, dword [ebp - 0x2c8]
cdq
mov dword [0x100d3168], eax
mov dword [0x100d316c], edx
mov eax, dword [0x100d3134]
sar eax, 4
mov word [ebp - 0x24], ax
mov ecx, dword [0x100d3180]
mov edx, dword [0x100d3184]
sub ecx, 0xaf76
sbb edx, 0
or ecx, dword [0x100d3150]
or edx, dword [0x100d3154]
mov dword [0x100d3150], ecx
mov dword [0x100d3154], edx
mov eax, 0x7003
mov word [0x100d312c], ax
jmp 0x100197f4
movsx ecx, byte [ebp - 0x12]
test ecx, ecx
je 0x100197f4
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x860], edx
add ecx, dword [0x100d3138]
mov eax, dword [0x100d311c]
add eax, dword [0x100d311c]
cdq
sub eax, ecx
not eax
mov word [ebp - 0x30], ax
mov eax, dword [ebp - 0x74]
cdq
push edx
push eax
mov eax, dword [0x100d314c]
push eax
mov ecx, dword [0x100d3148]
push ecx
call fcn.100a25b0
and eax, dword [0x100d3148]
and edx, dword [0x100d314c]
mov dword [0x100d3148], eax
mov dword [0x100d314c], edx
movzx eax, byte [0x100d3063]
cdq
push 0x8d99a
push 0xa0015a2e
push edx
push eax
call fcn.100a25b0
add eax, dword [ebp - 0x68]
adc edx, dword [ebp - 0x64]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x64], edx
mov edx, dword [ebp - 0x44]
shl edx, 7
xor eax, eax
mov dword [0x100d3188], edx
mov dword [0x100d318c], eax
movzx eax, byte [0x100d3027]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
add ecx, eax
adc esi, edx
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
sub edx, ecx
sbb eax, esi
mov dword [0x100d31a0], edx
mov dword [0x100d31a4], eax
jmp 0x100197fd
jmp 0x10019814
movzx ecx, word [ebp - 0x88]
mov edx, dword [ebp - 0x94]
cmp ecx, dword [edx + 0x14]
jae 0x10019df0
movsx eax, word [ebp - 0x24]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
xor ecx, eax
xor esi, edx
mov edx, dword [0x100d3180]
mov eax, dword [0x100d3184]
sub edx, ecx
sbb eax, esi
mov dword [0x100d3180], edx
mov dword [0x100d3184], eax
push 0
push 0xdc757bbd
mov ecx, dword [0x100d318c]
push ecx
mov edx, dword [0x100d3188]
push edx
call fcn.100a25b0
mov word [ebp - 0x28], ax
movsx eax, byte [ebp - 0x12]
sub eax, 0xd
mov ecx, dword [ebp - 0x74]
add ecx, eax
mov dword [ebp - 0x74], ecx
cmp dword [0x100d3174], 0
je 0x1001989e
movsx edx, word [0x100d312c]
mov dword [ebp - 0x2cc], edx
jmp 0x100198a9
mov eax, dword [0x100d3174]
mov dword [ebp - 0x2cc], eax
mov cl, byte [ebp - 0x2cc]
mov byte [0x100d304f], cl
mov edx, dword [0x100d31a0]
mov eax, dword [0x100d31a4]
mov dword [ebp - 0x864], eax
mov dword [ebp - 0x74], edx
push 0
push 0x9b5032a7
mov ecx, dword [ebp - 0x48]
push ecx
mov edx, dword [ebp - 0x4c]
push edx
call fcn.100a25b0
mov ecx, eax
movsx eax, word [0x100d3130]
cdq
sub eax, ecx
mov word [0x100d3130], ax
movzx eax, word [0x100d315c]
sar eax, 1
cdq
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x84]
not eax
cdq
sub eax, 0x98d06686
mov word [ebp - 0x30], ax
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, eax
add ecx, dword [ebp - 0x38]
movsx eax, byte [ebp - 0x13]
cdq
or eax, ecx
mov byte [ebp - 0x13], al
mov edx, dword [ebp - 0x74]
not edx
mov dword [0x100d3170], edx
movzx eax, word [ebp - 0x88]
mov ecx, dword [ebp - 0x470]
mov edx, dword [ecx + eax*4]
add edx, dword [ebp + 8]
mov dword [ebp - 0xe0], edx
movsx eax, byte [0x100d304e]
movsx ecx, word [ebp - 0x2c]
cmp ecx, eax
jle 0x10019964
mov dword [ebp - 0x2d0], 1
jmp 0x1001996e
mov dword [ebp - 0x2d0], 0
movsx edx, word [ebp - 0x2c]
cmp edx, 0x32
jle 0x10019983
mov dword [ebp - 0x2d4], 1
jmp 0x1001998d
mov dword [ebp - 0x2d4], 0
mov eax, dword [ebp - 0x2d0]
cmp eax, dword [ebp - 0x2d4]
je 0x10019dd3
mov ecx, dword [0x100d3144]
xor edx, edx
push edx
push ecx
call fcn.100597c0
add esp, 8
mov byte [ebp - 0x14], al
movsx eax, byte [ebp - 0x14]
test eax, eax
je 0x100199c8
mov dword [ebp - 0x2d8], 1
jmp 0x100199d2
mov dword [ebp - 0x2d8], 0
movsx ecx, byte [ebp - 0x14]
cmp ecx, 0x1e
je 0x100199e7
mov dword [ebp - 0x2dc], 1
jmp 0x100199f1
mov dword [ebp - 0x2dc], 0
mov edx, dword [ebp - 0x2d8]
cmp edx, dword [ebp - 0x2dc]
jge 0x10019ba9
xorps xmm0, xmm0
movlpd qword [0x100d3168], xmm0
movsx eax, byte [0x100d304e]
movzx ecx, word [0x100d3178]
add ecx, eax
movzx edx, word [0x100d3178]
add edx, ecx
mov word [0x100d3178], dx
imul eax, dword [ebp - 0x60], 0x29
mov dword [0x100d3190], eax
movsx ecx, byte [ebp - 0x12]
movzx edx, byte [ebp - 0x11]
imul edx, ecx
movzx eax, byte [ebp - 0x11]
add eax, edx
mov byte [ebp - 0x11], al
movsx eax, word [ebp - 0x24]
cdq
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
mov ecx, dword [0x100d3198]
mov edx, dword [0x100d319c]
mov dword [ebp - 0x738], ecx
mov dword [ebp - 0x734], edx
mov eax, dword [ebp - 0x738]
or eax, dword [ebp - 0x734]
jne 0x10019a90
xor ecx, ecx
mov dword [ebp - 0x740], 1
mov dword [ebp - 0x73c], ecx
jmp 0x10019a9b
xorps xmm0, xmm0
movlpd qword [ebp - 0x740], xmm0
mov ecx, dword [0x100d3120]
and ecx, dword [ebp - 0x740]
mov eax, 0x56db
sub eax, dword [ebp - 0x58]
cdq
add eax, ecx
not eax
mov word [0x100d312c], ax
movsx eax, byte [0x100d3026]
cdq
mov ecx, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x70]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movsx eax, byte [0x100d3026]
cdq
sub eax, ecx
mov byte [0x100d3026], al
mov edx, dword [0x100d3168]
mov eax, dword [0x100d316c]
mov dword [ebp - 0x748], edx
mov dword [ebp - 0x744], eax
mov ecx, dword [ebp - 0x748]
or ecx, dword [ebp - 0x744]
je 0x10019b0c
jmp 0x10019ba4
mov dword [0x100d3134], 0x119c
mov edx, dword [ebp - 0x38]
sub edx, 0xfbe24ff6
mov eax, dword [ebp - 0x34]
sbb eax, 0x40dc2
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
mov ecx, dword [0x100d3174]
xor edx, edx
add ecx, 0x62006fdd
adc edx, 0x8852c
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
movzx eax, word [ebp - 0x20]
cdq
mov ecx, dword [ebp - 0x64]
push ecx
mov ecx, dword [ebp - 0x68]
push ecx
push edx
push eax
call fcn.100a25b0
mov word [ebp - 0x20], ax
movzx eax, byte [0x100d3027]
cdq
mov ecx, dword [ebp - 0x6c]
push ecx
mov ecx, dword [ebp - 0x70]
push ecx
push edx
push eax
call fcn.100a25b0
mov ecx, eax
movzx eax, byte [0x100d3027]
cdq
add eax, ecx
mov byte [0x100d3027], al
movsx edx, word [ebp - 0x24]
imul edx, dword [0x100d3134]
or edx, dword [0x100d3134]
mov dword [0x100d3134], edx
jmp 0x10019dd3
movsx eax, byte [0x100d3026]
test eax, eax
jne 0x10019bc0
mov dword [ebp - 0x2e0], 1
jmp 0x10019bca
mov dword [ebp - 0x2e0], 0
mov ecx, dword [0x100d3174]
cmp ecx, dword [ebp - 0x2e0]
jae 0x10019be4
mov dword [ebp - 0x2e4], 1
jmp 0x10019bee
mov dword [ebp - 0x2e4], 0
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov dword [ebp - 0x750], edx
mov dword [ebp - 0x74c], eax
mov ecx, dword [ebp - 0x750]
or ecx, dword [ebp - 0x74c]
jne 0x10019c22
xor edx, edx
mov dword [ebp - 0x45c], 1
mov dword [ebp - 0x458], edx
jmp 0x10019c2d
xorps xmm0, xmm0
movlpd qword [ebp - 0x45c], xmm0
mov eax, dword [ebp - 0x45c]
cmp eax, dword [0x100d3150]
jne 0x10019c49
mov ecx, dword [ebp - 0x458]
cmp ecx, dword [0x100d3154]
je 0x10019c55
mov dword [ebp - 0x2e8], 1
jmp 0x10019c5f
mov dword [ebp - 0x2e8], 0
mov edx, dword [ebp - 0x2e4]
cmp edx, dword [ebp - 0x2e8]
jl 0x10019d1e
movzx eax, word [ebp - 0x88]
mov ecx, dword [ebp - 0x474]
mov dx, word [ecx + eax*2]
mov word [ebp - 0x98], dx
jmp 0x1001a0a9
push 0x100af38c
call dword [sym.imp.KERNEL32.dll_GetModuleHandleA]
xor ecx, ecx
mov dword [0x100d3120], eax
mov dword [0x100d3124], ecx
movzx edx, word [ebp - 0x30]
mov eax, 4
imul ecx, eax, 0x85ae
mov dword [ecx + 0x100fae60], edx
mov dx, word [ebp - 0x28]
mov byte [ebp - 0x11], dl
movzx eax, byte [ebp - 0x11]
xor eax, dword [0x100d31b4]
movzx ecx, byte [ebp - 0x11]
and ecx, eax
mov byte [ebp - 0x11], cl
movsx eax, word [ebp - 0x1c]
cdq
sub eax, 0x607e46e5
mov dword [0x100d3144], eax
xor edx, edx
mov eax, dword [ebp - 0x4c]
sub eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
sbb ecx, edx
add eax, dword [ebp - 0x4c]
adc ecx, dword [ebp - 0x48]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0xe0], 0
movzx edx, word [ebp - 0x5c]
push edx
push 0
mov eax, dword [ebp - 0x74]
push eax
movzx ecx, word [ebp - 0x58]
push ecx
call fcn.1005c780
add esp, 0x10
cwde
cdq
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
cmp dword [ebp - 0x34], 0
ja 0x10019fb2
jb 0x10019e9f
cmp dword [ebp - 0x38], 0
ja 0x10019fb2
mov dword [ebp - 4], 6
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
push eax
push edx
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
movzx edx, word [ebp - 0x20]
imul edx, dword [0x100d3190]
movzx eax, word [ebp - 0x20]
add eax, edx
mov word [ebp - 0x20], ax
mov eax, dword [0x100d3138]
mov edx, dword [0x100d313c]
mov cl, 1
call fcn.100a26c0
mov byte [ebp - 0x12], al
movzx ecx, byte [0x100d3027]
test ecx, ecx
je 0x10019f1e
movzx edx, byte [ebp - 0x15]
mov dword [ebp - 0x2ec], edx
jmp 0x10019f28
movsx eax, word [ebp - 0x24]
mov dword [ebp - 0x2ec], eax
mov eax, dword [ebp - 0x2ec]
cdq
mov dword [0x100d3150], eax
mov dword [0x100d3154], edx
jmp 0x10019f9d
mov dword [ebp - 4], 0xffffffff
jmp 0x10019fad
jmp 0x1001a09b
movzx eax, byte [ebp - 0x15]
sub eax, dword [0x100d311c]
je 0x1001a019
mov ecx, dword [ebp - 0x70]
add ecx, dword [0x100d3120]
mov edx, dword [ebp - 0x6c]
adc edx, dword [0x100d3124]
mov eax, dword [ebp - 0x70]
sub eax, ecx
mov ecx, dword [ebp - 0x6c]
sbb ecx, edx
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x6c], ecx
movsx edx, byte [ebp - 0x12]
sar edx, 7
mov dword [ebp - 0x60], edx
mov eax, 0x54db
mov word [ebp - 0x30], ax
mov byte [ebp - 0x12], 0x57
movsx eax, word [0x100d3130]
cdq
push edx
push eax
mov ecx, dword [ebp - 0x34]
push ecx
mov edx, dword [ebp - 0x38]
push edx
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
jmp 0x1001a09b
cmp dword [ebp - 0x58], 0x8c1d
jne 0x1001a09b
mov eax, dword [ebp - 0x40]
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x870], ecx
add eax, 0x833e
mov dword [0x100d3144], eax
movsx edx, word [ebp - 0x24]
shl edx, 1
mov byte [0x100d304f], dl
movzx eax, word [0x100d3178]
movsx ecx, word [ebp - 0x28]
add ecx, eax
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x64]
je 0x1001a070
movzx eax, byte [ebp - 0x11]
cdq
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], edx
jmp 0x1001a087
mov eax, dword [0x100d3138]
mov ecx, dword [0x100d313c]
mov dword [ebp - 0x464], eax
mov dword [ebp - 0x460], ecx
mov dl, byte [ebp - 0x464]
mov byte [ebp - 0x14], dl
mov eax, 0x39
mov word [0x100d3178], ax
mov cx, word [ebp - 0x88]
mov word [ebp - 0x98], cx
mov dword [ebp - 4], 8
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
sub edx, 1
sbb eax, 0
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], eax
movzx ecx, byte [0x100d3063]
imul eax, ecx, 0xf310
cdq
push edx
push eax
mov edx, dword [ebp - 0x34]
push edx
mov eax, dword [ebp - 0x38]
push eax
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
mov cl, byte [0x100d3c78]
mov byte [0x100d304f], cl
mov edx, dword [0x100d3198]
mov eax, dword [0x100d319c]
xor edx, 0x3d9b22cd
xor eax, 0
mov dword [0x100d3150], edx
mov dword [0x100d3154], eax
mov ecx, dword [0x100d31b4]
movsx edx, word [0x100d312c]
movzx eax, word [0x100d3178]
sub eax, edx
cdq
add eax, dword [0x100d3150]
xor eax, ecx
mov dword [ebp - 0x74], eax
mov eax, dword [0x100d31ac]
mov ecx, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
sub ecx, dword [0x100d31a8]
sbb edx, eax
mov dword [0x100d31a8], ecx
mov dword [0x100d31ac], edx
jmp 0x1001a213
mov dword [ebp - 4], 0xffffffff
jmp 0x1001a223
movzx eax, word [ebp - 0x98]
mov ecx, dword [ebp - 0x478]
mov edx, dword [ecx + eax*4]
add edx, dword [ebp + 8]
mov dword [ebp - 0x484], edx
movzx eax, word [0x100d315c]
test eax, eax
jne 0x1001a253
mov dword [ebp - 0x2f0], 1
jmp 0x1001a25d
mov dword [ebp - 0x2f0], 0
mov ecx, 0x421b
sub ecx, dword [ebp - 0x2f0]
jne 0x1001a276
mov dword [ebp - 0x2f4], 1
jmp 0x1001a280
mov dword [ebp - 0x2f4], 0
mov eax, dword [ebp - 0x60]
sub eax, dword [ebp - 0x2f4]
cdq
add eax, dword [0x100d3150]
mov byte [0x100d3027], al
movsx eax, byte [0x100d304e]
cdq
push 0x73274
push 0xb593b00c
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3134], eax
movzx eax, word [0x100d315c]
cdq
sub eax, 0xaedc7c0b
mov dword [0x100d31b4], eax
movzx eax, byte [ebp - 0x11]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub ecx, eax
sbb esi, edx
mov dword [0x100d31a0], ecx
mov dword [0x100d31a4], esi
mov dword [0x100d311c], 8
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x87c], edx
not ecx
movsx eax, word [ebp - 0x2c]
mov edx, dword [ebp - 0x60]
not edx
imul eax, edx
cdq
add eax, ecx
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x47c]
sub eax, 0x17
mov ecx, dword [ebp - 0x2f8]
add ecx, 0x364
imul ecx, eax
mov edx, dword [ebp - 0x2f8]
imul edx, dword [ebp - 0x480]
cmp edx, ecx
je 0x1001ac1b
movzx eax, word [0x100d3178]
cdq
mov ecx, dword [0x100d3180]
mov esi, dword [0x100d3184]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x768], ecx
mov dword [ebp - 0x764], esi
mov edx, dword [ebp - 0x768]
cmp edx, dword [0x100d3168]
jne 0x1001a49b
mov eax, dword [ebp - 0x764]
cmp eax, dword [0x100d316c]
jne 0x1001a49b
cmp dword [ebp - 0x60], 0
je 0x1001a404
movsx ecx, word [ebp - 0x24]
imul edx, ecx, 0xec53
mov byte [ebp - 0x15], dl
mov eax, dword [0x100d3198]
mov ecx, dword [0x100d319c]
push 0
push 0x590927c4
push ecx
push eax
call fcn.100a25b0
mov word [ebp - 0x2c], ax
movsx eax, word [0x100d31b0]
cdq
add eax, 0x8d18898e
mov byte [0x100d3027], al
mov edx, dword [0x100d3170]
sub edx, 0xcf28
xor eax, eax
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
or ecx, edx
or esi, eax
mov dword [0x100d3198], ecx
mov dword [0x100d319c], esi
movsx edx, byte [ebp - 0x12]
movsx eax, word [ebp - 0x24]
xor eax, edx
mov word [ebp - 0x24], ax
jmp 0x1001a496
mov ecx, dword [0x100d3150]
or ecx, dword [0x100d3154]
je 0x1001a496
mov edx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x880], eax
sub edx, 0x44767214
mov word [0x100d3130], dx
mov dword [ebp - 0x58], 8
mov ecx, dword [ebp - 0x4c]
sub ecx, 0x2fde048
movsx eax, word [0x100d3128]
cdq
add eax, ecx
mov word [0x100d3128], ax
mov eax, dword [ebp - 0x74]
cdq
push edx
push eax
mov edx, dword [0x100d313c]
push edx
mov eax, dword [0x100d3138]
push eax
call fcn.100a25b0
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov cx, word [ebp - 0x28]
sub cx, 1
mov word [ebp - 0x28], cx
movsx edx, word [0x100d312c]
mov eax, 4
imul ecx, eax, 0x5664
mov dword [ecx + 0x10155458], edx
jmp 0x1001a7be
mov edx, dword [ebp - 0x68]
or edx, dword [ebp - 0x64]
je 0x1001a5dc
movsx eax, word [0x100d312c]
not eax
cdq
mov ecx, dword [ebp - 0x54]
mov edx, dword [ebp - 0x50]
mov dword [ebp - 0x884], edx
sub ecx, eax
mov byte [0x100d3063], cl
movsx eax, word [0x100d3128]
cdq
sub eax, 0x43be4336
mov dword [0x100d31b4], eax
movzx eax, byte [0x100d3063]
add eax, dword [ebp - 0x80]
movzx ecx, byte [0x100d3063]
xor ecx, eax
mov byte [0x100d3063], cl
mov dword [0x100d31b4], 0xa1b16028
movsx eax, byte [0x100d304e]
cdq
mov ecx, dword [0x100d31a0]
mov esi, dword [0x100d31a4]
sub ecx, eax
sbb esi, edx
mov dword [ebp - 0x770], ecx
mov dword [ebp - 0x76c], esi
mov edx, dword [ebp - 0x770]
or edx, dword [ebp - 0x76c]
jne 0x1001a540
xor eax, eax
mov dword [ebp - 0x778], 1
mov dword [ebp - 0x774], eax
jmp 0x1001a54b
xorps xmm0, xmm0
movlpd qword [ebp - 0x778], xmm0
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [ebp - 0x4c]
sub ecx, eax
sub ecx, dword [ebp - 0x778]
mov word [ebp - 0x20], cx
cmp dword [0x100d3174], 0
jne 0x1001a574
mov dword [ebp - 0x2fc], 1
jmp 0x1001a57e
mov dword [ebp - 0x2fc], 0
movzx eax, byte [0x100d3027]
cdq
mov ecx, dword [0x100d3198]
mov esi, dword [0x100d319c]
add ecx, eax
adc esi, edx
movsx edx, byte [0x100d304e]
not edx
add edx, dword [0x100d3158]
xor eax, eax
push esi
push ecx
push eax
push edx
call fcn.100a25b0
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0x2fc]
imul esi, dword [0x100d3170], 0
not esi
imul esi, ecx
not esi
xor ecx, ecx
push edx
push eax
push ecx
push esi
call fcn.100a25b0
not eax
mov byte [ebp - 0x14], al
jmp 0x1001a7be
movsx edx, word [ebp - 0x2c]
movsx eax, byte [0x100d3026]
add eax, edx
jne 0x1001a5f7
mov dword [ebp - 0x300], 1
jmp 0x1001a601
mov dword [ebp - 0x300], 0
cmp dword [ebp - 0x300], 0xb8
jl 0x1001a653
mov cx, word [0x100d3c78]
mov word [0x100d315c], cx
movsx eax, word [ebp - 0x1c]
cdq
add eax, 0xfc083354
adc edx, 0x2d32f
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x78], edx
mov edx, 4
mov word [0x100d315c], dx
movsx eax, word [0x100d312c]
movsx ecx, word [ebp - 0x2c]
sub ecx, eax
mov word [ebp - 0x2c], cx
jmp 0x1001a7be
movsx eax, byte [0x100d3026]
cdq
mov ecx, dword [0x100d31a8]
mov esi, dword [0x100d31ac]
mov dword [ebp - 0x780], ecx
mov dword [ebp - 0x77c], esi
mov dword [ebp - 0x788], eax
mov dword [ebp - 0x784], edx
mov edx, dword [ebp - 0x77c]
cmp edx, dword [ebp - 0x784]
jl 0x1001a7be
jg 0x1001a6a5
mov eax, dword [ebp - 0x780]
cmp eax, dword [ebp - 0x788]
jb 0x1001a7be
movsx ecx, byte [ebp - 0x14]
test ecx, ecx
je 0x1001a6bb
mov edx, dword [0x100d31b4]
mov dword [ebp - 0x304], edx
jmp 0x1001a6c8
movsx eax, byte [0x100d3026]
mov dword [ebp - 0x304], eax
mov cl, byte [ebp - 0x304]
mov byte [ebp - 0x13], cl
movzx eax, word [ebp - 0x30]
cdq
mov edx, dword [0x100d3198]
mov ecx, dword [0x100d319c]
mov dword [ebp - 0x888], ecx
add edx, eax
mov dword [0x100d31b4], edx
mov edx, dword [0x100d3134]
imul edx, dword [0x100d3158]
mov eax, dword [0x100d3134]
sub eax, edx
mov dword [0x100d3134], eax
mov ecx, dword [0x100d3c78]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x58]
add edx, 0x3732
mov eax, dword [ebp - 0x44]
imul eax, edx
mov dword [ebp - 0x44], eax
mov ecx, dword [0x100d3168]
or ecx, dword [0x100d316c]
jne 0x1001a73e
mov dword [ebp - 0x308], 1
jmp 0x1001a748
mov dword [ebp - 0x308], 0
movzx edx, byte [ebp - 0x11]
movzx eax, word [ebp - 0x20]
sub eax, edx
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [ebp - 0x58]
cdq
mov edi, dword [0x100d31a8]
mov ebx, dword [0x100d31ac]
add edi, eax
adc ebx, edx
sub edi, ecx
sbb ebx, esi
mov edx, dword [ebp - 0x308]
add edx, 0x7c7d7f9b
imul edx, dword [0x100d3158]
xor eax, eax
sub edx, edi
sbb eax, ebx
mov dword [ebp - 0x790], edx
mov dword [ebp - 0x78c], eax
mov ecx, dword [ebp - 0x790]
or ecx, dword [ebp - 0x78c]
jne 0x1001a7ab
mov byte [ebp - 0x8c], 1
jmp 0x1001a7b2
mov byte [ebp - 0x8c], 0
mov dl, byte [ebp - 0x8c]
mov byte [0x100d3063], dl
mov eax, 2
mov word [ebp - 0x24], ax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x798], ecx
mov dword [ebp - 0x794], edx
mov eax, dword [ebp - 0x798]
or eax, dword [ebp - 0x794]
jne 0x1001a7f3
mov dword [ebp - 0x30c], 1
jmp 0x1001a7fd
mov dword [ebp - 0x30c], 0
mov ecx, dword [0x100d311c]
sub ecx, dword [ebp - 0x30c]
mov dword [ebp - 0x80], ecx
push 0
push 0
mov edx, dword [0x100d316c]
push edx
mov eax, dword [0x100d3168]
push eax
call fcn.100a25b0
mov dword [ebp - 0x7a0], eax
mov dword [ebp - 0x79c], edx
mov ecx, dword [ebp - 0x7a0]
or ecx, dword [ebp - 0x79c]
jne 0x1001a850
xor edx, edx
mov dword [ebp - 0x7a8], 1
mov dword [ebp - 0x7a4], edx
jmp 0x1001a85b
xorps xmm0, xmm0
movlpd qword [ebp - 0x7a8], xmm0
mov eax, dword [0x100d31a8]
mov ecx, dword [0x100d31ac]
mov edx, dword [ebp - 0x54]
mov esi, dword [ebp - 0x50]
push ecx
push eax
push esi
push edx
call fcn.100a25b0
mov esi, dword [ebp - 0x7a8]
sub esi, eax
movzx eax, byte [0x100d3027]
xor eax, 0x248b
cdq
mov edi, eax
movzx eax, byte [0x100d304f]
cdq
push edx
push eax
mov eax, dword [0x100d3164]
push eax
mov ecx, dword [0x100d3160]
push ecx
call fcn.100a25b0
xor eax, edi
sub eax, esi
not eax
mov dword [ebp - 0x5c], eax
movsx eax, word [0x100d3128]
cdq
push 0xa1ed6
push 0x858ef6ab
push edx
push eax
call fcn.100a25b0
mov dword [0x100d3158], eax
movsx edx, word [0x100d312c]
imul eax, edx, 0x6f
mov dword [ebp - 0x58], eax
movzx eax, byte [ebp - 0x11]
cdq
add eax, 0xc0aa3241
adc edx, 0x90c14
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movsx ecx, word [ebp - 0x24]
mov dword [ebp - 0xe4], ecx
cmp dword [ebp - 0xe4], 0
je 0x1001a920
cmp dword [ebp - 0xe4], 1
je 0x1001a975
cmp dword [ebp - 0xe4], 2
je 0x1001aa08
jmp 0x1001aa8f
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
add edx, dword [ebp - 0x4c]
adc eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x40]
mov esi, dword [ebp - 0x3c]
push eax
push edx
push esi
push ecx
call fcn.100a25b0
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], edx
movzx edx, byte [ebp - 0x11]
imul eax, edx, 0x56b7
cdq
mov dword [0x100d3138], eax
mov dword [0x100d313c], edx
mov eax, dword [0x100d3174]
sub eax, 1
mov dword [0x100d3174], eax
xor ecx, ecx
mov dword [ebp - 0x38], 8
mov dword [ebp - 0x34], ecx
jmp 0x1001aa8f
mov eax, dword [0x100d3160]
mov edx, dword [0x100d3164]
mov cl, 7
call fcn.100a26c0
mov word [ebp - 0x1c], ax
movsx eax, byte [ebp - 0x14]
cdq
add eax, dword [0x100d3168]
mov byte [ebp - 0x14], al
mov edx, dword [0x100d31a4]
mov ecx, dword [0x100d3174]
xor esi, esi
add ecx, dword [0x100d31a0]
adc esi, edx
movsx eax, word [ebp - 0x24]
cdq
and eax, 0x3dd33154
and edx, 0xf68d7
push esi
push ecx
push edx
push eax
call fcn.100a25b0
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x34], edx
movzx edx, byte [0x100d3063]
add edx, dword [ebp - 0x44]
movzx eax, byte [0x100d3063]
and eax, edx
mov byte [0x100d3063], al
mov eax, dword [0x100d31a8]
mov edx, dword [0x100d31ac]
mov cl, 6
call fcn.100a25f0
mov dword [0x100d3188], eax
mov dword [0x100d318c], edx
jmp 0x1001aa8f
mov ecx, dword [0x100d311c]
sar ecx, 5
mov word [ebp - 0x28], cx
mov edx, dword [ebp - 0x44]
imul edx, dword [ebp - 0x58]
mov dword [ebp - 0x58], edx
xor eax, eax
mov ecx, dword [0x100d3148]
sub ecx, dword [ebp - 0x44]
mov edx, dword [0x100d314c]
sbb edx, eax
and ecx, dword [0x100d3148]
and edx, dword [0x100d314c]
mov dword [0x100d3148], ecx
mov dword [0x100d314c], edx
mov eax, dword [0x100d3144]
add eax, dword [ebp - 0x58]
not eax
mov esi, dword [ebp - 0x58]
sub esi, eax
not esi
movsx eax, byte [ebp - 0x13]
cdq
mov ecx, dword [0x100d314c]
push ecx
mov ecx, dword [0x100d3148]
push ecx
push edx
push eax
call fcn.100a25b0
and eax, esi
mov byte [ebp - 0x14], al
mov edx, dword [0x100d3190]
xor edx, 0x4ffa552f
movzx eax, byte [ebp - 0x15]
add eax, edx
mov byte [ebp - 0x15], al
movzx ecx, word [ebp - 0x98]
mov edx, dword [ebp - 0x94]
add ecx, dword [edx + 0x10]
movzx eax, word [ebp - 0xa4]
cmp eax, ecx
je 0x1001aad8
cmp dword [ebp - 0xe0], 0
je 0x1001ac1b
mov ecx, dword [ebp + 0xc]
push ecx
mov edx, dword [ebp - 0xe0]
push edx
push 0
push 0
call fcn.10001320
add esp, 8
call eax
test eax, eax
jne 0x1001ac1b
mov eax, dword [0x100d3188]
sub eax, 0x4ee3
mov ecx, dword [0x100d318c]
sbb ecx, 0
mov dword [0x100d3150], eax
mov dword [0x100d3154], ecx
mov edx, dword [0x100d3c78]
mov dword [ebp - 0x80], edx
movsx eax, word [ebp - 0x2c]
cdq
mov ecx, 8
imul ecx, ecx, 0xa
mov dword [ecx + 0x10122118], eax
mov dword [ecx + 0x1012211c], edx
mov eax, dword [ebp - 0x84]
cdq
mov ecx, eax
sub ecx, 0xfead4f69
mov eax, dword [0x100d3134]
cdq
sub eax, ecx
mov dword [0x100d3134], eax
mov dx, word [0x100d3c78]
mov word [0x100d3128], dx
movsx eax, byte [ebp - 0x14]
imul eax, eax, 0x4741884a
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx eax, byte [ebp - 0x12]
cdq
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], edx
movsx ecx, word [ebp - 0x1c]
mov dword [ebp - 0x84], ecx
movzx edx, word [ebp - 0x20]
sar edx, 4
mov word [ebp - 0x2c], dx
cmp dword [0x100d3174], 0
jne 0x1001ab88
mov dword [ebp - 0x310], 1
jmp 0x1001ab92
mov dword [ebp - 0x310], 0
mov eax, 0xbc
sub eax, dword [0x100d311c]
movzx ecx, word [ebp - 0x20]
imul ecx, eax
movsx edx, word [0x100d3130]
movsx eax, word [0x100d3128]
imul eax, edx
mov edx, dword [0x100d311c]
not edx
sub edx, dword [ebp - 0x310]
imul edx, eax
add edx, ecx
jne 0x1001abd6
mov dword [ebp - 0x314], 1
jmp 0x1001abe0
mov dword [ebp - 0x314], 0
mov eax, dword [ebp - 0x314]
mov dword [ebp - 0x44], eax
mov ecx, dword [ebp - 0x44]
sub ecx, 0x5b9b2f7a
mov dword [ebp - 0x74], ecx
mov edx, 2
imul eax, edx, 0x2c
movsx ecx, word [eax + 0x100d3c80]
movzx edx, byte [ebp - 0x15]
or edx, ecx
mov byte [ebp - 0x15], dl
mov eax, dword [ebp - 0x484]
mov dword [ebp - 0x318], eax
jmp 0x1001ac20
jmp 0x10018c73
movsx ecx, word [ebp - 0x1c]
sub ecx, 0xc28a
mov word [ebp - 0x2c], cx
mov eax, dword [ebp - 0x70]
mov edx, dword [ebp - 0x6c]
mov cl, 7
call fcn.100a26c0
mov word [0x100d3128], ax
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x48]
push ecx
mov ecx, dword [ebp - 0x4c]
push ecx
push eax
push edx
call fcn.100a25b0
mov ecx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x78]
add ecx, eax
adc esi, edx
mov dword [ebp - 0x7c], ecx
mov dword [ebp - 0x78], esi
mov edx, dword [ebp - 0x40]
mov eax, dword [ebp - 0x3c]
push 0
push 0xda7ccef1
push eax
push edx
call fcn.100a25b0
mov word [0x100d3128], ax
mov ecx, 8
mov word [ebp - 0x1c], cx
mov eax, dword [ebp - 0x318]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8