Function at 0x100829c0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x118
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp + 0x24]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x30], eax
mov al, byte [ebp + 0x1c]
mov byte [ebp - 0x29], al
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x28], eax
lea eax, [ebp + 0x10]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x20], eax
mov eax, esp
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x10], 0xffffffff
lea eax, [ebp - 0x18]
mov dword [ebp - 0x14], 0x10096ad0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov bl, byte [ebp - 0x29]
mov eax, dword [0x10284024]
mov ecx, dword [0x10284028]
xor edx, edx
div ecx
mov ecx, eax
not ecx
mov edx, eax
and edx, 0x3a09feb8
and ecx, 0xc5f60147
imul ecx, edx
mov edx, eax
and edx, 0xc5f60147
or eax, 0xc5f60147
imul eax, edx
add eax, ecx
mov ecx, 0x5b47a817
mul ecx
mov eax, edx
shr eax, 0x19
or eax, 0x2dbd1900
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [ebp - 0x48], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x50], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x4c], ecx
push eax
mov edi, esp
mov dword [ebp - 0xb4], edi
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0xb0], esi
push eax
mov esi, esp
mov dword [ebp - 0xac], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0xa8], esi
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0xa4], esi
push eax
mov esi, esp
mov dword [ebp - 0xa0], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x9c], esi
sub esp, 0x18
mov esi, esp
mov dword [ebp - 0x98], esi
push eax
mov esi, esp
mov dword [ebp - 0x94], esi
push eax
mov esi, esp
mov dword [ebp - 0x90], esi
push eax
mov esi, esp
mov dword [ebp - 0x8c], esi
push eax
mov esi, esp
mov dword [ebp - 0x88], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x84], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x80], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x7c], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x78], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x74], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x70], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x6c], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x68], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x64], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x60], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x5c], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x58], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0x54], esi
mov esi, dword [ebp - 0x3c]
mov dword [edx], esi
mov esi, dword [ebp - 0x34]
mov edx, dword [ebp - 0x48]
mov dword [edx], esi
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x50]
mov dword [edx], esi
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x4c]
mov byte [edx], bl
mov ebx, dword [ebp - 0x28]
mov edx, dword [ebp - 0x48]
mov dword [edi], ebx
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x44], ecx
xor ecx, ecx
cmp ecx, dword [edx]
setb cl
mov byte [ebp - 0x3d], cl
cmp eax, 0x1b2a2cac
jb 0x10082a1f
mov cl, byte [ebp - 0x3d]
xor eax, eax
test cl, 1
mov byte [ebp - 0xb5], al
jne 0x10082bba
jmp 0x10082d36
mov ecx, dword [0x1028402c]
mov eax, dword [0x10284030]
xor ecx, 0xffffffff
xor eax, 0xffffffff
or ecx, eax
xor ecx, 0xffffffff
add ecx, 0x8d8c7d4b
mov eax, ecx
and eax, 0x3c146659
or ecx, 0x3c146659
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xa819b1a5
and eax, 0x57e64e5a
sub eax, ecx
cmp eax, 0x50d3da68
ja 0x10083e38
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
movsx ecx, byte [eax]
mov al, 1
cmp ecx, 0x2b
mov byte [ebp - 0xb6], al
je 0x10082ccd
mov ecx, dword [0x1028403c]
sub ecx, dword [0x10284040]
xor eax, eax
sub eax, ecx
add eax, 0x12df0359
xor ecx, ecx
sub ecx, eax
mov eax, ecx
and eax, 0xc6dfa934
xor ecx, 0xc6dfa934
or eax, ecx
add eax, 0x8ff498f
cmp eax, 0x32545a94
je 0x10083e3d
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x10284044]
mov edx, dword [0x10284048]
mov edi, eax
xor edi, 0xffffffff
mov esi, edx
and esi, edi
xor edx, 0xffffffff
and eax, edx
or esi, eax
xor esi, 0x905631b8
mov edx, esi
xor edx, 0xffffffff
mov eax, edx
and eax, 0xcaa2656e
and esi, 0x355d9a91
or eax, esi
xor eax, 0x6c5b8d57
or edx, 0x590617c6
xor edx, 0xffffffff
or eax, edx
add eax, 0xbdee7139
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
cmp ecx, 0x2d
sete cl
mov byte [ebp - 0xb7], cl
cmp eax, 0xb38619ce
jbe 0x10083e3d
mov al, byte [ebp - 0xb7]
mov byte [ebp - 0xb6], al
jmp 0x10082ccd
mov al, byte [ebp - 0xb6]
mov byte [ebp - 0xb8], al
mov eax, dword [0x10284054]
xor eax, dword [0x10284058]
mov ecx, 0x1d6f62f0
xor edx, edx
div ecx
mov ecx, eax
xor ecx, 0x121a03e1
xor ecx, 0xffffffff
and ecx, 0x121a03e1
shl ecx, 1
sub ecx, 0x121a03e1
sub eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xf02a9a12
and eax, 0xfd565ed
sub eax, ecx
cmp eax, 0x9a6eee96
jae 0x10083e42
mov al, byte [ebp - 0xb8]
mov byte [ebp - 0xb5], al
jmp 0x10082d36
mov al, byte [ebp - 0xb5]
mov byte [ebp - 0xb9], al
mov eax, dword [0x1028405c]
xor eax, dword [0x10284060]
mov ecx, 0xeb125503
xor edx, edx
div ecx
xor eax, 0x88416ce1
mov ecx, eax
xor ecx, 0xbd4e308e
and eax, 0x42b1cf71
shl eax, 1
sub eax, ecx
cmp eax, 0x2c052ddc
jb 0x10083e47
mov ecx, dword [ebp - 0xb0]
mov eax, dword [0x10284064]
or eax, dword [0x10284068]
mov esi, 0xa3cea326
xor edx, edx
div esi
mov dl, byte [ebp - 0xb9]
mov esi, eax
mov eax, dword [ebp - 0xb4]
and esi, 0xb2e7a1a1
add esi, 0xd43be24f
mov dword [ebp - 0xc0], esi
and dl, 1
movzx edx, dl
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1004a3a0
mov ecx, eax
mov eax, dword [ebp - 0xc0]
mov edx, ecx
add edx, 1
xor ecx, 0xffffffff
or ecx, 0xe00
add ecx, edx
cmp ecx, 0x800
sete cl
mov byte [ebp - 0xba], cl
cmp eax, 0xa572083f
jbe 0x10082d77
mov al, byte [ebp - 0xba]
test al, 1
jne 0x10082e05
jmp 0x10082fc0
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
mov edx, eax
and edx, 2
shl edx, 1
xor eax, 2
add eax, edx
cmp eax, dword [ecx]
ja 0x10082fc0
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov ecx, dword [ecx]
movsx eax, byte [eax + ecx]
cmp eax, 0x30
jne 0x10082fc0
mov ecx, dword [0x1028407c]
mov edx, dword [str.vYU9]
mov eax, ecx
xor eax, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
or eax, esi
and eax, edx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
or eax, 0x88f6ac80
imul eax, eax, 0x73e7f496
xor ecx, ecx
sub ecx, eax
add ecx, 0x494cab7d
xor eax, eax
sub eax, ecx
cmp eax, 0x9d6e089
jb 0x10083e6d
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x10284084]
xor edx, edx
div dword [0x10284088]
mov esi, 0xab41ca43
xor edx, edx
div esi
mov edx, dword [ebp - 0xb0]
sub eax, 0x1eb0db7e
mov edi, eax
and edi, 0xb8912889
mov esi, eax
or esi, 0xb8912889
xor esi, 0xffffffff
imul esi, edi
mov edi, eax
and edi, 0x476ed776
or eax, 0x476ed776
imul eax, edi
add eax, esi
mov ecx, dword [ecx]
mov edx, dword [edx]
movsx ecx, byte [ecx + edx + 1]
cmp ecx, 0x78
sete cl
mov byte [ebp - 0xc1], cl
cmp eax, 0xe873cfe0
ja 0x10083e6d
mov al, byte [ebp - 0xc1]
test al, 1
jne 0x10082fa0
jmp 0x10082f08
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x50]
mov esi, dword [0x10284094]
mov edi, dword [0x10284098]
mov ebx, edi
xor ebx, 0xffffffff
mov eax, esi
or eax, ebx
xor esi, 0xffffffff
or esi, edi
xor eax, 0xffffffff
xor esi, 0xffffffff
or eax, esi
sub eax, 0x5e116d81
mov edi, eax
and edi, 0xd9777175
mov esi, eax
or esi, 0xd9777175
xor esi, 0xffffffff
imul esi, edi
mov edi, eax
and edi, 0x26888e8a
or eax, 0x26888e8a
imul eax, edi
add eax, esi
add eax, 0xf388a31a
mov ecx, dword [ecx]
xor esi, esi
sub esi, dword [edx]
add esi, 0xffffffff
xor edx, edx
sub edx, esi
movsx ecx, byte [ecx + edx]
cmp ecx, 0x58
sete cl
mov byte [ebp - 0xc2], cl
cmp eax, 0xcebf0aeb
jbe 0x10082f08
mov al, byte [ebp - 0xc2]
test al, 1
jne 0x10082fa0
jmp 0x10082fc0
mov eax, dword [ebp - 0xb0]
mov ecx, dword [eax]
add ecx, 0xdce95845
add ecx, 2
sub ecx, 0xdce95845
mov dword [eax], ecx
mov dword [ebp - 0x10], 0
mov edx, dword [ebp - 0xa8]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.1003e3f0
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.1003de40
add esp, 4
mov dword [ebp - 0xc8], eax
jmp 0x10083001
mov esi, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [str.H2D]
mov edi, dword [0x102840a8]
mov eax, edx
and eax, edi
shl eax, 1
add edx, edi
sub edx, eax
mov eax, edx
xor eax, 0x7d4508f2
and eax, edx
add eax, 0x78c395f0
sub eax, 0x4f551308
sub eax, 0x78c395f0
xor edx, edx
sub edx, eax
add edx, 0xb19a34d3
xor eax, eax
sub eax, edx
mov dword [ebp - 0xd8], eax
call fcn.10027aa0
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa4]
mov dword [eax], edx
mov eax, dword [esi]
mov dword [ebp - 0x10], 0xffffffff
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10084280
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xac]
mov eax, dword [eax]
mov dword [ebp - 0xdc], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov ecx, dword [ebp - 0x50]
mov edx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], edx
mov edx, dword [ecx]
add edx, dword [esi]
mov dword [ebp - 0xd0], edx
mov ecx, dword [ecx]
mov dword [ebp - 0xcc], ecx
cmp eax, 0xe16600e3
jae 0x10083e72
mov ecx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0xd4]
mov dword [ebp - 0x10], 1
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], esi
mov dword [eax], edx
call fcn.100844f0
jmp 0x1008310c
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [0x102840b4]
xor edx, dword [0x102840b8]
xor edx, 0xffffffff
or edx, 0x7c3b4e39
xor edx, 0xffffffff
add edx, 0x7aa357f6
mov esi, edx
and esi, 0x6bb326e6
xor esi, 0xffffffff
add edx, 0x6bb326e6
add edx, 1
add edx, esi
mov dword [ebp - 0xe0], edx
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
mov eax, dword [ebp - 0xe0]
cmp eax, 0x396f4891
jb 0x10083ec7
mov ecx, dword [ebp - 0x9c]
mov dword [ebp - 0x10], 3
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10084890
add esp, 4
mov dword [ebp - 0xe4], eax
jmp 0x10083197
mov eax, dword [0x102840bc]
mov esi, dword [0x102840c0]
mov edx, esi
xor edx, 0xffffffff
mov ecx, eax
and ecx, edx
mov edx, eax
xor edx, esi
add eax, edx
sub eax, ecx
sub eax, 0x7f796f13
xor eax, 0xb5ec9ee7
xor ecx, ecx
sub ecx, eax
add ecx, 0x890b043d
xor eax, eax
sub eax, ecx
cmp eax, 0x9d06b8a6
je 0x10083ee5
mov ecx, dword [ebp - 0x9c]
mov eax, dword [0x102840c4]
xor edx, edx
div dword [0x102840c8]
mov edx, eax
xor edx, 0x8f0ff854
xor edx, 0xffffffff
and edx, 0x8f0ff854
shl edx, 1
sub edx, 0x8f0ff854
sub eax, edx
xor eax, 0x3beb8e14
sub eax, 0x5788039b
mov dword [ebp - 0xec], eax
call fcn.10027aa0
mov edx, dword [ebp - 0xe4]
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0xec]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [ebp - 0xe8], ecx
cmp eax, 0x83d42d3b
je 0x10083ee5
mov ecx, dword [ebp - 0xe8]
mov edx, dword [ebp - 0x98]
mov dword [ebp - 0x10], 1
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10084c30
jmp 0x10083264
mov eax, dword [0x102840cc]
mov ecx, dword [0x102840d0]
add eax, 0xe8ecc5c9
sub eax, ecx
sub eax, 0xe8ecc5c9
mov ecx, eax
xor ecx, 0x6f08b933
and eax, 0x90f746cc
shl eax, 1
sub eax, ecx
and eax, 0x7b5cd2fe
or eax, 0x129735e2
cmp eax, 0xccf1558d
ja 0x10083f03
mov ecx, dword [ebp - 0x98]
mov eax, dword [0x102840d4]
mov esi, dword [0x102840d8]
mov edx, eax
and edx, esi
shl edx, 1
add eax, esi
sub eax, edx
mov edx, eax
and edx, 0x1c00e9f
mov esi, eax
xor esi, 0xfe3ff160
add eax, esi
sub eax, edx
add eax, 0x595be304
add eax, 1
imul eax, eax, 0xb32ac342
mov dword [ebp - 0xf4], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.10063640
mov ecx, dword [ebp - 0x94]
mov edx, eax
mov eax, dword [ebp - 0xf4]
mov dword [ecx], edx
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
cmp ecx, 0x7f
setne cl
mov byte [ebp - 0xed], cl
cmp eax, 0x60d0de7c
jb 0x100832a1
mov al, byte [ebp - 0xed]
test al, 1
jne 0x10083334
jmp 0x10083685
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
movsx ecx, byte [eax]
xor eax, eax
cmp eax, ecx
jge 0x10083685
mov dword [ebp - 0x10], 2
mov eax, dword [ebp - 0xa0]
mov ecx, dword [eax]
call fcn.10084c60
mov byte [ebp - 0xf5], al
jmp 0x10083368
mov eax, dword [0x102840ec]
xor eax, dword [0x102840f0]
or eax, 0x3eebe389
mov ecx, 0x7e440835
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x4450fed4
shl ecx, 1
add eax, 0x4450fed4
sub eax, ecx
cmp eax, 0xc5ed611a
jae 0x10083f29
mov ecx, dword [ebp - 0x90]
mov eax, dword [0x102840f4]
sub eax, dword [0x102840f8]
add eax, 0x346f16d2
mov esi, 0xd342379f
xor edx, edx
div esi
mov dl, byte [ebp - 0xf5]
or eax, 0x3c820b06
mov byte [ecx], dl
cmp eax, 0xf026200d
ja 0x10083f29
jmp 0x100833d9
mov ecx, dword [0x102840fc]
mov edx, dword [0x10284100]
mov eax, ecx
xor eax, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
or eax, esi
and eax, edx
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
mov ecx, 0x15650c60
xor edx, edx
div ecx
imul eax, eax, 0x99651923
mov ecx, eax
and ecx, 0xaa1ec0f
shl ecx, 1
xor eax, 0xaa1ec0f
add eax, ecx
cmp eax, 0x8fbb9817
je 0x10083f3c
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
movsx ecx, byte [eax]
xor eax, eax
cmp ecx, 0x7f
mov byte [ebp - 0xf6], al
je 0x10083481
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
movsx edx, byte [eax]
xor eax, eax
xor ecx, ecx
cmp ecx, edx
mov byte [ebp - 0xf6], al
jge 0x10083481
mov edx, dword [ebp - 0xb0]
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
movsx eax, byte [eax]
mov ecx, dword [ecx]
sub ecx, dword [edx]
cmp eax, ecx
setb al
mov byte [ebp - 0xf6], al
mov al, byte [ebp - 0xf6]
mov byte [ebp - 0xf7], al
mov eax, dword [0x1028410c]
or eax, dword [0x10284110]
xor eax, 0x8ac72b7d
sub eax, 0xcdb16a
mov ecx, eax
and ecx, 0x553e1c21
mov edx, eax
xor edx, 0xaac1e3de
add eax, edx
sub eax, ecx
cmp eax, 0x35741c2a
jbe 0x10083f41
mov eax, dword [0x10284114]
or eax, dword [0x10284118]
xor eax, 0xe94a0a25
imul eax, eax, 0x2b227884
xor eax, 0x131d1866
cmp eax, 0x8b54a63a
jbe 0x100834c1
mov al, byte [ebp - 0xf7]
test al, 1
jne 0x100834fa
jmp 0x10083680
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x48]
mov edx, dword [ebp - 0x90]
mov esi, dword [ebp - 0x94]
mov esi, dword [esi]
movsx edi, byte [esi]
mov esi, dword [eax]
sub esi, edi
mov dword [eax], esi
movsx esi, byte [edx]
mov edx, dword [eax]
mov dword [ebp - 0x10], 2
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax], edx
mov dword [eax + 4], 1
call fcn.10084db0
jmp 0x10083541
mov eax, dword [0x1028411c]
xor eax, dword [0x10284120]
xor eax, 0xffffffff
or eax, 0x1c4b081b
xor eax, 0xffffffff
mov ecx, 0x2def5290
xor edx, edx
div ecx
add eax, 0x94bb3664
cmp eax, 0x66ec19b5
jb 0x10083f46
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x10284124]
sub eax, dword [0x10284128]
mov esi, eax
and esi, 0x43831848
mov edx, eax
or edx, 0x43831848
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0xbc7ce7b7
or eax, 0xbc7ce7b7
imul eax, esi
add eax, edx
or eax, 0xda575f83
mov esi, eax
and esi, 0xc66aa8f7
mov edx, eax
or edx, 0xc66aa8f7
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0x39955708
or eax, 0x39955708
imul eax, esi
add eax, edx
mov ecx, dword [ecx]
movsx edx, byte [ecx + 1]
xor ecx, ecx
cmp ecx, edx
setl cl
mov byte [ebp - 0xf8], cl
cmp eax, 0xdd7593e1
jae 0x10083f46
mov al, byte [ebp - 0xf8]
test al, 1
jne 0x10083607
jmp 0x1008367b
mov eax, dword [0x1028412c]
mov ecx, dword [0x10284130]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0xa57660f2
add eax, 0xe04111a4
and eax, 0xcbf4633e
cmp eax, 0xe9ddbc5e
jae 0x10083f4b
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x10284134]
mov edx, dword [0x10284138]
add eax, 0xe9d7b49b
sub eax, edx
sub eax, 0xe9d7b49b
sub eax, 0xcbcbbecf
sub eax, 0xec23f630
xor eax, 0x33a23ed0
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0xb6dc96f3
jb 0x10083f4b
jmp 0x1008367b
jmp 0x100833d9
jmp 0x10083685
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x10284144]
mov esi, dword [0x10284148]
xor edx, edx
div esi
imul edx, eax, 0xae41858e
mov eax, edx
xor eax, 0xb91fd145
and edx, 0xb91fd144
or eax, edx
xor eax, 0xf12685f1
mov dword [ebp - 0x100], eax
call fcn.10046ff0
mov ecx, dword [ebp - 0x48]
mov edx, eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, eax
mov eax, dword [ebp - 0x100]
sub ecx, 1
sbb edx, 0
setl cl
mov byte [ebp - 0xf9], cl
cmp eax, 0x53667d97
ja 0x10083f5d
mov al, byte [ebp - 0xf9]
test al, 1
jne 0x100837ea
jmp 0x10083708
mov eax, dword [0x1028414c]
xor edx, edx
div dword [0x10284150]
mov ecx, 0xcb1efd5
xor edx, edx
div ecx
mov ecx, eax
mov edx, ecx
xor edx, 0xffffffff
and edx, 0x23698355
mov eax, ecx
and eax, 0xdc967caa
imul eax, edx
mov edx, ecx
and edx, 0x23698355
or ecx, 0x23698355
imul ecx, edx
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, 0xc8c2b593
and ecx, 0xc8c2b593
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
cmp eax, 0xb8a38c7c
jae 0x10083f81
mov eax, dword [0x10284154]
mov ecx, dword [0x10284158]
xor edx, edx
div ecx
mov ecx, 0x9ad35ef3
mul ecx
mov eax, dword [ebp - 0xb4]
mov ecx, edx
shr ecx, 0x1d
mov edx, ecx
xor edx, 0x4849374d
or ecx, 2
and ecx, edx
imul ecx, ecx, 0xe4feb5e8
mov dword [ebp - 0x108], ecx
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, eax
mov eax, dword [ebp - 0x108]
mov edx, dword [ebp - 0x48]
cmp ecx, dword [edx]
setbe cl
mov byte [ebp - 0x101], cl
cmp eax, 0x8f67a21b
jae 0x10083775
mov al, byte [ebp - 0x101]
test al, 1
jne 0x100837ea
jmp 0x100837fb
mov eax, dword [ebp - 0x8c]
mov dword [eax], 0
jmp 0x10083817
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, eax
mov eax, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x48]
sub ecx, dword [edx]
mov dword [eax], ecx
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
call fcn.1004a3a0
mov ecx, eax
mov eax, dword [ebp - 0x88]
and ecx, 0x1c0
mov dword [eax], ecx
cmp dword [eax], 0x40
je 0x10083975
mov eax, dword [ebp - 0x88]
cmp dword [eax], 0x100
je 0x10083975
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x80]
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x8c]
mov edi, dword [edi]
movsx esi, byte [esi]
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
mov dword [ebp - 0x10], 2
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085130
add esp, 0x18
jmp 0x100838a1
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x84]
movsd xmm0, qword [esi]
movsd qword [ebx], xmm0
mov dword [edx], 0
mov edi, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], 0
call fcn.100846f0
mov edx, dword [ebp - 0x7c]
mov ecx, dword [ebp - 0x44]
mov esi, eax
mov eax, dword [ebp - 0x78]
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085580
add esp, 0x18
jmp 0x10083915
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x7c]
mov eax, dword [0x10284184]
mov esi, dword [0x10284188]
sub eax, 0x47f03f5b
add eax, esi
add eax, 0x47f03f5b
mov esi, eax
xor esi, 0x53716559
xor esi, 0xffffffff
or eax, 0x53716559
and eax, esi
add eax, 0x77bd664c
mov esi, eax
xor esi, 0xffffffff
and esi, 0xc6a837b
and eax, 0xf3957c84
sub eax, esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xa7ada835
ja 0x10083915
jmp 0x10083b6e
mov ecx, dword [ebp - 0x88]
mov esi, dword [0x10284194]
and esi, dword [0x10284198]
mov edx, esi
xor edx, 0xffffffff
mov eax, edx
and eax, 0xad65d63c
and esi, 0x529a29c3
or eax, esi
xor eax, 0x28e3fbdb
or edx, 0x7a79d218
xor edx, 0xffffffff
or eax, edx
xor edx, edx
sub edx, eax
add edx, 0x67e75a11
xor eax, eax
sub eax, edx
sub eax, 0x496e8e0b
cmp dword [ecx], 0x100
sete cl
mov byte [ebp - 0x109], cl
cmp eax, 0xd62f511b
je 0x10083975
mov al, byte [ebp - 0x109]
test al, 1
jne 0x100839eb
jmp 0x10083af8
mov dword [ebp - 0x10], 2
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb0]
mov edi, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], 0
call fcn.100846f0
mov edx, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x44]
mov esi, eax
mov eax, dword [ebp - 0x70]
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085580
add esp, 0x18
jmp 0x10083a4c
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x74]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x68]
movsd qword [ebx], xmm0
mov edi, dword [edi]
movsx esi, byte [esi]
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085130
add esp, 0x18
jmp 0x10083a9f
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x24]
mov esi, dword [ebp - 0x6c]
mov edi, dword [0x102841b4]
mov eax, dword [0x102841b8]
or edi, eax
or edi, 0x6336f3af
mov eax, edi
and eax, 0xadaf093e
or edi, 0xadaf093e
add eax, edi
xor eax, 0xffffffff
or eax, 0x8baa5e29
xor eax, 0xffffffff
mov edi, dword [esi]
mov dword [edx], edi
mov esi, dword [esi + 4]
mov dword [edx + 4], esi
mov dword [ecx], 0
cmp eax, 0x938f272d
ja 0x10083a9f
jmp 0x10083b69
mov ebx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb0]
mov edi, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], 0
call fcn.100846f0
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x44]
mov esi, eax
mov eax, dword [ebp - 0x60]
movsd xmm0, qword [ebx]
movsd qword [eax], xmm0
mov dword [ebp - 0x10], 2
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085580
add esp, 0x18
jmp 0x10083b59
mov eax, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x64]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10083b6e
mov ecx, dword [0x102841bc]
xor ecx, dword [0x102841c0]
mov eax, ecx
or eax, 0xc894b2
and ecx, 0xc894b2
xor ecx, 0xffffffff
and eax, ecx
xor eax, 0xffffffff
xor eax, 0xf72bb096
add eax, 0x7b1a95a3
cmp eax, 0xebc1312c
ja 0x10083f93
mov ecx, dword [ebp - 0xa4]
mov eax, dword [0x102841c4]
and eax, dword [0x102841c8]
mov esi, eax
xor esi, 0xffffffff
and esi, 0x7e3c7869
mov edx, eax
and edx, 0x81c38796
imul edx, esi
mov esi, eax
and esi, 0x7e3c7869
or eax, 0x7e3c7869
imul eax, esi
add eax, edx
mov esi, 0x3f35551f
xor edx, edx
div esi
mov edx, dword [ebp - 0x48]
mov ebx, eax
mov eax, dword [ebp - 0xb0]
mov edi, ebx
xor edi, 0xffffffff
mov esi, edi
and esi, 0xb7a1cb9c
and ebx, 0x485e3463
or esi, ebx
xor esi, 0x41593d0c
or edi, 0x907096f
xor edi, 0xffffffff
or esi, edi
mov dword [ebp - 0x114], esi
mov edx, dword [edx]
sub edx, dword [eax]
mov dword [ebp - 0x118], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100846f0
mov edx, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x58]
mov esi, eax
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x110], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xec67e007
jb 0x10083f93
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x5c]
mov esi, dword [ebp - 0x110]
mov edi, dword [ebp - 0x118]
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], 2
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], edi
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085580
add esp, 0x18
jmp 0x10083c9f
mov eax, dword [0x102841cc]
mov ecx, dword [0x102841d0]
sub eax, 0x78c11ba8
sub eax, ecx
add eax, 0x78c11ba8
mov ecx, 0xe8c9280
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
xor eax, 0xffffffff
or eax, 0x5fdea001
xor ecx, 0xffffffff
or ecx, 0xa0215ffe
and eax, ecx
xor eax, 0xffffffff
add eax, 0x4e405f05
cmp eax, 0x63268e3b
jbe 0x10083fc1
mov esi, dword [ebp - 0x4c]
mov edi, dword [ebp - 0x8c]
mov eax, dword [0x102841d4]
mov ebx, dword [0x102841d8]
mov edx, eax
xor edx, ebx
xor edx, 0xffffffff
mov ecx, ebx
and ecx, edx
mov edx, dword [ebp - 0x5c]
shl ecx, 1
sub ecx, ebx
sub eax, ecx
or eax, 0x87cf2e4
mov ebx, eax
and ebx, 0xbc18696e
xor eax, 0xffffffff
and eax, 0x43e79691
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
mov ecx, ebx
and ecx, 0x5b262d8d
mov eax, ebx
or eax, 0x5b262d8d
xor eax, 0xffffffff
imul eax, ecx
mov ecx, ebx
and ecx, 0xa4d9d272
or ebx, 0xa4d9d272
imul ebx, ecx
mov ecx, dword [ebp - 0x24]
add ebx, eax
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0x124], ebx
mov ebx, dword [edx]
mov dword [ecx], ebx
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 0
call fcn.1007f1c0
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x124]
mov edx, dword [ebp - 0x24]
mov edi, dword [edi]
mov dword [ebp - 0x120], edi
mov bl, byte [esi]
mov byte [ebp - 0x119], bl
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0x9c240a3f
jae 0x10083fc1
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x3c]
mov bl, byte [ebp - 0x119]
mov esi, dword [ebp - 0x120]
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x10], 2
sub esp, 0x18
movsd xmm0, qword [eax]
mov eax, esp
movsd qword [eax + 8], xmm0
mov dword [eax + 0x14], esi
movsx esi, bl
mov dword [eax + 0x10], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.10085130
add esp, 0x18
jmp 0x10083e08
jmp 0x10083e0d
mov ecx, dword [ebp - 0x98]
call fcn.100061b0
mov ecx, dword [ebp - 0xa4]
call fcn.100061b0
mov eax, dword [ebp - 0x38]
mov ecx, dword [ebp - 0x18]
mov dword fs:[0], ecx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp 0x10082c02
jmp 0x10082c53
jmp 0x10082cd9
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xb0]
mov dl, byte [ebp - 0xb9]
and dl, 1
movzx edx, dl
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1004a3a0
jmp 0x10082d77
jmp 0x10082e89
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xa8]
call fcn.10027aa0
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0xa4]
mov dword [edx], esi
mov eax, dword [eax]
xor edx, edx
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0
call fcn.10084280
mov ecx, dword [ebp - 0xa4]
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
jmp 0x10083001
mov eax, dword [ebp - 0x9c]
mov ecx, dword [ebp - 0xb4]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
jmp 0x1008310c
mov ecx, dword [ebp - 0x9c]
call fcn.10027aa0
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xa0]
mov dword [eax], ecx
jmp 0x100831d6
mov ecx, dword [ebp - 0x98]
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.10063640
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov dword [eax], ecx
jmp 0x100832a1
mov eax, dword [ebp - 0x90]
mov cl, byte [ebp - 0xf5]
mov byte [eax], cl
jmp 0x1008339d
jmp 0x10083425
jmp 0x100834c1
jmp 0x10083570
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x10083638
mov ecx, dword [ebp - 0xa4]
call fcn.10046ff0
mov ecx, dword [ebp - 0x48]
mov edx, eax
mov eax, dword [ebp - 0xb4]
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1007eb20
jmp 0x10083685
mov eax, dword [ebp - 0xb4]
mov ecx, dword [eax]
call fcn.1007eb20
jmp 0x10083775
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0xb0]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100846f0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x58]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10083ba4
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0xb4]
mov edx, dword [ebp - 0x5c]
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov ecx, dword [eax]
sub esp, 8
mov eax, esp
mov dword [eax + 4], 0
mov dword [eax], 0
call fcn.1007f1c0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x54]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10083cf3