Function at 0x1008c730
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x144
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp + 8]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x38], eax
mov al, byte [ebp + 0x24]
mov byte [ebp - 0x31], al
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp + 0x1c]
mov dword [ebp - 0x2c], eax
mov al, byte [ebp + 0x18]
mov byte [ebp - 0x25], al
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24], eax
lea eax, [ebp + 0xc]
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], 0x10096b90
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x1028483c]
mov ecx, dword [0x10284840]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
and eax, 0x864c1b93
mov ecx, eax
xor ecx, 0xd802cdbc
xor ecx, 0xffffffff
and ecx, 0xd802cdbc
shl ecx, 1
sub ecx, 0xd802cdbc
sub eax, ecx
sub eax, 0x14888723
cmp eax, 0xf3d8795
je 0x1008e25c
mov edi, dword [ebp - 0x24]
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
push eax
mov ebx, esp
mov dword [ebp - 0xd0], ebx
push eax
mov esi, esp
mov dword [ebp - 0xcc], esi
push eax
mov eax, esp
push eax
mov edx, esp
mov dword [ebp - 0xc8], edx
push eax
mov edx, esp
mov dword [ebp - 0xc4], edx
push eax
mov edx, esp
mov dword [ebp - 0xc0], edx
push eax
mov edx, esp
mov dword [ebp - 0xbc], edx
push eax
mov edx, esp
mov dword [ebp - 0xb8], edx
push eax
mov edx, esp
mov dword [ebp - 0xb4], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0xb0], edx
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0xac], edx
push eax
mov edx, esp
mov dword [ebp - 0xa8], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0xa4], edx
sub esp, 0x18
mov edx, esp
mov dword [ebp - 0xa0], edx
push eax
mov edx, esp
mov dword [ebp - 0x9c], edx
push eax
mov edx, esp
mov dword [ebp - 0x98], edx
push eax
mov edx, esp
mov dword [ebp - 0x94], edx
push eax
mov edx, esp
mov dword [ebp - 0x90], edx
push eax
mov edx, esp
mov dword [ebp - 0x8c], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x88], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x84], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x80], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x7c], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x78], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x74], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x70], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x6c], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x68], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x64], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x60], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x5c], edx
sub esp, 8
mov edx, esp
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x3c]
mov dword [ecx], edx
mov dl, byte [ebp - 0x31]
mov ecx, dword [ebp - 0x54]
and dl, 1
mov byte [ecx], dl
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
mov dword [ecx], edx
mov edx, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x50]
mov dword [ecx], edx
mov edx, dword [ebp - 0x4c]
mov cl, byte [ebp - 0x25]
mov byte [ebx], cl
mov ecx, dword [ebp - 0x40]
mov dword [esi], edi
mov dword [eax], ecx
mov eax, dword [eax]
mov dword [ebp - 0x48], eax
xor eax, eax
xor ecx, ecx
cmp ecx, dword [edx]
mov byte [ebp - 0x41], al
jae 0x1008cab9
mov ecx, dword [0x1028484c]
or ecx, dword [0x10284850]
or ecx, 0xe06280da
mov eax, ecx
and eax, 0xb3ad1549
xor ecx, 0xb3ad1549
or eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xecbcc792
mov ecx, eax
and ecx, 0x1343386d
imul ecx, edx
mov edx, eax
and edx, 0xecbcc792
or eax, 0xecbcc792
imul eax, edx
add eax, ecx
cmp eax, 0x4924f56b
jbe 0x1008e2b3
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x10284854]
or eax, dword [0x10284858]
sub eax, 0x2c6903f3
add eax, 0xdcbeb303
imul eax, eax, 0xa04cb677
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
cmp ecx, 0x2b
sete cl
mov byte [ebp - 0xd1], cl
cmp eax, 0xae6de718
jb 0x1008e2b3
mov cl, byte [ebp - 0xd1]
mov al, 1
test cl, 1
mov byte [ebp - 0xd2], al
jne 0x1008ca4c
jmp 0x1008c9f5
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x10284864]
sub eax, dword [0x10284868]
mov edx, eax
xor edx, 0xffffffff
and edx, 0x670f299c
and eax, 0x98f0d663
sub eax, edx
sub eax, 0xdf5a6e85
add eax, 0x6242c94c
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
cmp ecx, 0x2d
sete cl
mov byte [ebp - 0xd3], cl
cmp eax, 0xeb31f50a
je 0x1008e2b8
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0xd2], al
jmp 0x1008ca4c
mov al, byte [ebp - 0xd2]
mov byte [ebp - 0xd4], al
mov eax, dword [0x1028486c]
mov esi, dword [0x10284870]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, esi
and edx, ecx
mov edi, esi
xor edi, 0xffffffff
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
mov ecx, 0xd1694e0e
xor edx, edx
div ecx
mov ecx, eax
mov eax, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
xor eax, 0xffffffff
or eax, 0xdbafd1a7
sub eax, 0x38a4f352
cmp eax, 0xeeb05445
ja 0x1008e2bd
mov al, byte [ebp - 0xd4]
mov byte [ebp - 0x41], al
mov al, byte [ebp - 0x41]
mov byte [ebp - 0xd5], al
mov eax, dword [0x1028487c]
mov ecx, dword [0x10284880]
xor ecx, 0xffffffff
add eax, ecx
add eax, 1
mov ecx, 0x92ed651d
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x2a1e7b8d
mov ecx, eax
and ecx, 0xd5e18472
imul ecx, edx
mov edx, eax
and edx, 0x2a1e7b8d
or eax, 0x2a1e7b8d
imul eax, edx
add eax, ecx
sub eax, 0x6bd5832b
sub eax, 0x966249b6
add eax, 0x6bd5832b
cmp eax, 0x26c6a714
je 0x1008e2c2
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dl, byte [ebp - 0xd5]
and dl, 1
movzx edx, dl
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1004a3a0
and eax, 0x3000
cmp eax, 0x3000
je 0x1008cb64
mov eax, dword [ebp - 0xc4]
lea ecx, [0x10258c29]
mov dword [eax], ecx
jmp 0x1008cdf0
mov eax, dword [0x1028488c]
or eax, dword [0x10284890]
mov ecx, eax
xor ecx, 0x4d368a57
xor ecx, 0xffffffff
and ecx, 0x4d368a57
shl ecx, 1
sub ecx, 0x4d368a57
sub eax, ecx
sub eax, 0x5713824c
add eax, 0xa79169aa
cmp eax, 0x167b534b
jb 0x1008e2e8
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xc4]
mov eax, dword [0x10284894]
imul eax, dword [0x10284898]
or eax, 0x1f05a835
sub eax, 0x51b4b745
mov edi, eax
and edi, 0xe6fa2d5
shl edi, 1
add eax, 0xe6fa2d5
sub eax, edi
lea edi, [0x10258c26]
mov dword [esi], edi
mov ecx, dword [ecx]
add ecx, 0x970e850
add ecx, 2
sub ecx, 0x970e850
cmp ecx, dword [edx]
setbe cl
mov byte [ebp - 0xd6], cl
cmp eax, 0x7d3ac8
jb 0x1008e2e8
mov al, byte [ebp - 0xd6]
test al, 1
jne 0x1008cc17
jmp 0x1008cd69
mov eax, dword [0x1028489c]
imul eax, dword [0x102848a0]
mov ecx, 0x5d3690e5
xor edx, edx
div ecx
sub eax, 0xd39a9780
imul eax, eax, 0xa4af52e3
cmp eax, 0x6ada3b34
je 0x1008e2fb
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x102848a4]
add eax, dword [0x102848a8]
xor eax, 0x9fb8b2d5
add eax, 0xcaec120f
and eax, 0x9e4ccd43
mov ecx, dword [ecx]
mov edx, dword [edx]
movsx ecx, byte [ecx + edx]
cmp ecx, 0x30
sete cl
mov byte [ebp - 0xd7], cl
cmp eax, 0x7943950d
jae 0x1008e2fb
mov al, byte [ebp - 0xd7]
test al, 1
jne 0x1008cc97
jmp 0x1008cd69
mov ecx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0x50]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub ecx, 0xffffffff
movsx eax, byte [eax + ecx]
cmp eax, 0x78
je 0x1008cd5c
mov eax, dword [0x102848ac]
add eax, dword [0x102848b0]
mov ecx, eax
and ecx, 0x2860963b
shl ecx, 1
xor eax, 0x2860963b
add eax, ecx
sub eax, 0x11238abd
add eax, 0xc550b65c
add eax, 0xeb6dfb6d
sub eax, 0xc550b65c
cmp eax, 0x91a0beab
jb 0x1008e300
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x102848b4]
or eax, dword [0x102848b8]
imul eax, eax, 0x833ee4aa
xor esi, esi
sub esi, eax
add esi, 0x3db860d
xor eax, eax
sub eax, esi
mov esi, eax
xor esi, 0xffffffff
and esi, 0xc95508b9
and eax, 0x36aaf746
sub eax, esi
mov ecx, dword [ecx]
mov edx, dword [edx]
movsx ecx, byte [ecx + edx + 1]
cmp ecx, 0x58
sete cl
mov byte [ebp - 0xd8], cl
cmp eax, 0xb6264754
je 0x1008e300
mov al, byte [ebp - 0xd8]
test al, 1
jne 0x1008cd5c
jmp 0x1008cd69
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax]
add ecx, 2
mov dword [eax], ecx
mov eax, dword [0x102848bc]
add eax, dword [0x102848c0]
and eax, 0x355d2371
sub eax, 0x61bc9ef2
sub eax, 0x7a95946d
cmp eax, 0xc03080f1
je 0x1008e305
mov eax, dword [0x102848c4]
xor edx, edx
div dword [0x102848c8]
mov edx, eax
and edx, 0x9d0815eb
mov ecx, eax
or ecx, 0x9d0815eb
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x62f7ea14
or eax, 0x62f7ea14
imul eax, edx
add eax, ecx
mov ecx, eax
and ecx, 0x518d82c7
xor ecx, 0xffffffff
add eax, 0x518d82c7
add eax, 1
add eax, ecx
add eax, 0xd914e118
add eax, 1
cmp eax, 0x918c01ec
je 0x1008e305
jmp 0x1008cdf0
mov eax, dword [0x102848cc]
xor edx, edx
div dword [0x102848d0]
mov ecx, eax
sub ecx, 0xa55d2c2
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x85e81c08
and ecx, 0x7a17e3f7
or eax, ecx
xor eax, 0x349d31e4
cmp eax, 0x418c27b4
je 0x1008e30a
mov ecx, dword [ebp - 0x50]
mov eax, dword [0x102848d4]
xor edx, edx
div dword [0x102848d8]
mov esi, eax
mov eax, dword [ebp - 0xc4]
add esi, 0xf792f560
sub esi, 0xdbdef170
sub esi, 0xf792f560
mov edx, esi
xor edx, 0xffffffff
mov edi, esi
xor edi, 0xffffffff
or edx, edi
and edx, 0xacb06c2f
xor esi, 0xffffffff
or esi, 0xacb06c2f
xor esi, 0xffffffff
or edx, esi
mov esi, edx
xor esi, 0xffffffff
and esi, 0x7b4c648d
and edx, 0x84b39b72
sub edx, esi
mov dword [ebp - 0xdc], edx
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10202200
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx], edx
mov cx, word [0x10227ae3]
mov word [eax], cx
call fcn.10201c6a
mov ecx, dword [ebp - 0x50]
mov edx, eax
mov eax, dword [ebp - 0xbc]
mov edx, dword [edx]
mov dl, byte [edx]
mov byte [eax], dl
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10202200
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xcc]
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0xb0]
mov dword [edx], esi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
mov eax, dword [ebp - 0xdc]
cmp eax, 0x893e6aaa
je 0x1008e30a
mov ecx, dword [ebp - 0xb0]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.1003de40
add esp, 4
mov dword [ebp - 0xe0], eax
jmp 0x1008cf3f
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [0x102848e4]
mov edi, dword [0x102848e8]
mov edx, edi
and edx, eax
xor edx, 0xffffffff
add eax, edi
add eax, 1
add eax, edx
sub eax, 0xa71f5da7
add eax, 0x460f3eae
or eax, 0x26305459
mov dword [ebp - 0xf0], eax
call fcn.10027aa0
mov edx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xb4]
mov ecx, dword [ebp - 0xac]
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 - 0xac]
mov eax, dword [ebp - 0xb4]
mov eax, dword [eax]
mov dword [ebp - 0xf4], 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 - 0xf0]
mov dword [ebp - 0xec], edx
mov edx, dword [ecx]
add edx, dword [esi]
mov dword [ebp - 0xe8], edx
mov ecx, dword [ecx]
mov dword [ebp - 0xe4], ecx
cmp eax, 0x69711290
jbe 0x1008cf3f
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xe4]
mov esi, dword [ebp - 0xe8]
mov edi, dword [ebp - 0xec]
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 0x1008d036
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xcc]
mov ebx, dword [0x102848f4]
mov edi, dword [0x102848f8]
mov edx, ebx
xor edx, 0xffffffff
and edx, 0x70fe0da8
and ebx, 0x8f01f257
mov esi, edi
xor esi, 0xffffffff
and esi, 0x70fe0da8
and edi, 0x8f01f257
or edx, ebx
or esi, edi
xor edx, esi
add edx, 0x1bee361d
add edx, 0xfb960d53
and edx, 0xca9cc8bc
mov dword [ebp - 0xf8], edx
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
mov eax, dword [ebp - 0xf8]
cmp eax, 0x726326f3
jbe 0x1008e395
mov ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x10], 3
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10084890
add esp, 4
mov dword [ebp - 0xfc], eax
jmp 0x1008d0d3
mov eax, dword [0x102848fc]
mov edx, dword [0x10284900]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
mov ecx, 0xc99e9758
xor edx, edx
div ecx
sub eax, 0x5fa30101
mov edx, eax
and edx, 0xbdd2a2e8
mov ecx, eax
or ecx, 0xbdd2a2e8
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x422d5d17
or eax, 0x422d5d17
imul eax, edx
add eax, ecx
cmp eax, 0xaab6345e
jbe 0x1008e3b3
mov ecx, dword [ebp - 0xa4]
call fcn.10027aa0
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xa0]
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [ebp - 0x10], 1
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.10084c30
jmp 0x1008d166
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 2
call fcn.10084c60
mov byte [ebp - 0xfd], al
jmp 0x1008d185
mov ecx, dword [0x1028490c]
xor eax, eax
sub eax, dword [0x10284910]
add ecx, eax
add ecx, 0x512761cc
sub ecx, 0x3db38ec5
sub ecx, 0x512761cc
mov eax, ecx
and eax, 0xe2c777a2
xor eax, 0xffffffff
add ecx, 0xe2c777a2
add ecx, 1
add ecx, eax
mov eax, ecx
and eax, 0xb9ce96f
xor ecx, 0xffffffff
and ecx, 0xf4631690
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
cmp eax, 0x69024805
jbe 0x1008e3d1
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0x9c]
mov bl, byte [ebp - 0xfd]
mov byte [edx], bl
mov eax, dword [eax]
cmp eax, dword [ecx]
je 0x1008d27d
mov eax, dword [ebp - 0xa8]
mov ecx, dword [eax]
call fcn.1008f270
mov byte [ebp - 0xfe], al
jmp 0x1008d218
mov eax, dword [0x1028491c]
and eax, dword [0x10284920]
add eax, 0x39fbf47c
add eax, 0x732c7c8b
sub eax, 0x39fbf47c
mov ecx, eax
and ecx, 0x92521217
mov edx, eax
xor edx, 0x6dadede8
add eax, edx
sub eax, ecx
imul eax, eax, 0xc4d77c07
cmp eax, 0x2d1b7d1f
je 0x1008e3e4
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100846f0
mov cl, byte [ebp - 0xfe]
mov byte [eax], cl
jmp 0x1008d27d
mov eax, dword [0x1028492c]
mov edx, dword [0x10284930]
mov ecx, eax
and ecx, edx
xor eax, edx
or ecx, eax
sub ecx, 0x4f38e170
mov eax, ecx
and eax, 0xc3225637
shl eax, 1
xor ecx, 0xc3225637
add ecx, eax
mov eax, ecx
xor eax, 0xffffffff
or eax, 0xdccf8121
and ecx, 0x23307ede
xor eax, 0xffffffff
or eax, ecx
cmp eax, 0x2004c024
jbe 0x1008e40a
mov ecx, dword [ebp - 0x54]
mov eax, dword [0x10284934]
mov esi, dword [0x10284938]
mov edx, eax
xor edx, esi
xor edx, 0xffffffff
or eax, esi
and eax, edx
mov esi, eax
and esi, 0x13f51b41
mov edx, eax
or edx, 0x13f51b41
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0xec0ae4be
or eax, 0xec0ae4be
imul eax, esi
add eax, edx
mov edx, eax
xor edx, 0xece93778
xor edx, 0xffffffff
and edx, 0xece93778
shl edx, 1
sub edx, 0xece93778
sub eax, edx
mov esi, eax
xor esi, 0xffffffff
and esi, 0xfc15f12
mov edx, eax
and edx, 0xf03ea0ed
imul edx, esi
mov esi, eax
and esi, 0xfc15f12
or eax, 0xfc15f12
imul eax, esi
add eax, edx
mov cl, byte [ecx]
mov byte [ebp - 0xff], cl
cmp eax, 0x903688c9
jb 0x1008e40a
mov al, byte [ebp - 0xff]
test al, 1
jne 0x1008d371
jmp 0x1008d9a5
mov eax, dword [0x1028493c]
add eax, dword [0x10284940]
xor eax, 0xfe384873
add eax, 0x294b7036
add eax, 1
mov ecx, eax
xor ecx, 0x905b91f9
xor ecx, 0xffffffff
and ecx, 0x905b91f9
shl ecx, 1
sub ecx, 0x905b91f9
sub eax, ecx
cmp eax, 0x848e3ef6
ja 0x1008e40f
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xb8]
mov eax, dword [0x10284944]
mov esi, dword [0x10284948]
sub eax, 0x69d3bd07
sub eax, esi
add eax, 0x69d3bd07
mov esi, eax
xor esi, 0x64fa4e7d
and eax, 0x9b05b182
shl eax, 1
sub eax, esi
imul eax, eax, 0x49cf0d16
sub eax, 0x4b7aa3fc
mov ecx, dword [ecx]
cmp ecx, dword [edx]
sete cl
mov byte [ebp - 0x100], cl
cmp eax, 0xb1a1e59b
jae 0x1008e40f
mov al, byte [ebp - 0x100]
test al, 1
jne 0x1008d416
jmp 0x1008d463
mov eax, dword [0x1028494c]
xor edx, edx
div dword [0x10284950]
xor ecx, ecx
sub ecx, eax
add ecx, 0xf2f0bcaf
xor eax, eax
sub eax, ecx
add eax, 0x2a2782b7
sub eax, 0xcc37b213
sub eax, 0xe3c51852
add eax, 0xcc37b213
cmp eax, 0x7f4002ac
ja 0x1008e414
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov dword [ebp - 0x104], eax
jmp 0x1008d4f2
mov eax, dword [0x1028495c]
sub eax, dword [0x10284960]
imul eax, eax, 0x36e16099
or eax, 0x408a5c29
sub eax, 0x12fb0aed
add eax, 0x71a8bb33
add eax, 0x12fb0aed
cmp eax, 0xcdc5ec17
jae 0x1008e419
mov ecx, dword [ebp - 0xb8]
mov eax, dword [0x10284964]
xor edx, edx
div dword [0x10284968]
mov edx, eax
sub edx, 0xee9a6b86
mov eax, edx
and eax, 0xc5463a1b
xor edx, 0xc5463a1b
or eax, edx
mov edx, eax
xor edx, 0x99a8476b
and eax, 0x6657b894
shl eax, 1
sub eax, edx
mov ecx, dword [ecx]
mov dword [ebp - 0x108], ecx
cmp eax, 0x7a889f50
ja 0x1008d493
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x104], eax
jmp 0x1008d4f2
mov ecx, dword [ebp - 0xa0]
mov eax, dword [ebp - 0x98]
mov edx, dword [ebp - 0x104]
mov dword [eax], edx
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
mov eax, dword [0x1028496c]
or eax, dword [0x10284970]
mov edx, eax
and edx, 0xa8a94ffa
mov ecx, eax
or ecx, 0xa8a94ffa
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x5756b005
or eax, 0x5756b005
imul eax, edx
add eax, ecx
sub eax, 0x308e3ee0
mov edx, eax
and edx, 0x52bc2852
mov ecx, eax
or ecx, 0x52bc2852
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xad43d7ad
or eax, 0xad43d7ad
imul eax, edx
add eax, ecx
cmp eax, 0x91824490
jbe 0x1008e41e
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x10284974]
mov esi, dword [0x10284978]
mov edx, eax
and edx, esi
shl edx, 1
add eax, esi
sub eax, edx
or eax, 0x41ac3968
or eax, 0x747bdad6
and eax, 0x6b5ea9fc
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
cmp ecx, 0x7f
setne cl
mov byte [ebp - 0x109], cl
cmp eax, 0x44ea72dc
jbe 0x1008e41e
mov cl, byte [ebp - 0x109]
xor eax, eax
test cl, 1
mov byte [ebp - 0x10a], al
jne 0x1008d5ee
jmp 0x1008d63e
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 - 0x10a], al
jge 0x1008d63e
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x98]
mov eax, dword [ebp - 0x94]
mov eax, dword [eax]
movsx eax, byte [eax]
mov ecx, dword [ecx]
mov esi, dword [edx]
mov edx, ecx
xor edx, esi
xor esi, 0xffffffff
and ecx, esi
shl ecx, 1
sub ecx, edx
cmp eax, ecx
setb al
mov byte [ebp - 0x10a], al
mov al, byte [ebp - 0x10a]
test al, 1
jne 0x1008d651
jmp 0x1008d94a
mov eax, dword [0x1028497c]
sub eax, dword [str.syvDm]
mov ecx, 0xc4bca0c0
xor edx, edx
div ecx
or eax, 0xf143767e
mov ecx, eax
and ecx, 0x5786716d
shl ecx, 1
xor eax, 0x5786716d
add eax, ecx
cmp eax, 0xa23bd4b9
ja 0x1008e423
mov ecx, dword [ebp - 0x98]
mov esi, dword [ebp - 0x9c]
mov eax, dword [0x10284984]
imul eax, dword [0x10284988]
mov edi, 0x8867d7b9
xor edx, edx
div edi
mov edx, dword [ebp - 0x94]
and eax, 0x95883a7e
sub eax, 0x2bb9c874
mov bl, byte [esi]
mov byte [ebp - 0x111], bl
mov edx, dword [edx]
movsx esi, byte [edx]
mov edx, dword [ecx]
sub edx, esi
mov dword [ebp - 0x110], edx
mov dword [ecx], edx
cmp eax, 0x80ac6b6d
jbe 0x1008e423
mov ecx, dword [ebp - 0xac]
mov edx, dword [ebp - 0x110]
mov al, byte [ebp - 0x111]
mov dword [ebp - 0x10], 2
sub esp, 0xc
movsx esi, al
mov eax, esp
mov dword [eax + 8], esi
mov dword [eax], edx
mov dword [eax + 4], 1
call fcn.10084db0
jmp 0x1008d712
mov eax, dword [0x1028498c]
xor edx, edx
div dword [0x10284990]
mov ecx, 0x2144b499
xor edx, edx
div ecx
and eax, 0x78df5f5
mov edx, eax
and edx, 0xae13be12
mov ecx, eax
or ecx, 0xae13be12
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x51ec41ed
or eax, 0x51ec41ed
imul eax, edx
add eax, ecx
cmp eax, 0xde2aec44
jae 0x1008e445
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x10284994]
mov edx, dword [0x10284998]
sub eax, 0x33341b13
add eax, edx
add eax, 0x33341b13
mov edx, eax
xor edx, 0x4e475ede
and eax, 0xb1b8a121
shl eax, 1
sub eax, edx
mov esi, eax
and esi, 0x7dcf1c73
mov edx, eax
or edx, 0x7dcf1c73
xor edx, 0xffffffff
imul edx, esi
mov esi, eax
and esi, 0x8230e38c
or eax, 0x8230e38c
imul eax, esi
add eax, edx
mov edx, eax
and edx, 0x9b892127
xor edx, 0xffffffff
add eax, 0x9b892127
add eax, 1
add eax, edx
mov ecx, dword [ecx]
movsx edx, byte [ecx + 1]
xor ecx, ecx
cmp ecx, edx
setl cl
mov byte [ebp - 0x112], cl
cmp eax, 0x4a5d8703
jbe 0x1008d760
mov al, byte [ebp - 0x112]
test al, 1
jne 0x1008d7fc
jmp 0x1008d8af
mov eax, dword [0x1028499c]
xor edx, edx
div dword [0x102849a0]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xdd363437
mov ecx, eax
and ecx, 0x22c9cbc8
imul ecx, edx
mov edx, eax
and edx, 0xdd363437
or eax, 0xdd363437
imul eax, edx
add eax, ecx
mov ecx, eax
xor ecx, 0x22776a75
and eax, 0xdd88958a
shl eax, 1
sub eax, ecx
add eax, 0xdc2106dc
cmp eax, 0xb4d285c
je 0x1008e44a
mov ecx, dword [ebp - 0x94]
mov eax, dword [0x102849a4]
mov esi, dword [0x102849a8]
mov edx, eax
and edx, esi
shl edx, 1
xor eax, esi
add eax, edx
mov edx, eax
xor edx, 0xb5792022
xor edx, 0xffffffff
and edx, 0xb5792022
shl edx, 1
sub edx, 0xb5792022
sub eax, edx
add eax, 0xec10e0a3
xor eax, 0xffffffff
or eax, 0x2f771428
xor eax, 0xffffffff
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0x565aea06
jbe 0x1008e44a
jmp 0x1008d8af
mov eax, dword [0x102849ac]
mov edx, dword [0x102849b0]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
xor eax, 0x8fbc0398
add eax, 0x97b84192
mov ecx, eax
and ecx, 0xaf8048d0
mov edx, eax
xor edx, 0x507fb72f
add eax, edx
sub eax, ecx
cmp eax, 0xbd98ed33
jae 0x1008e45c
mov eax, dword [0x102849b4]
sub eax, dword [0x102849b8]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x17654b1a
and eax, 0xe89ab4e5
sub eax, ecx
xor eax, 0x3260a4cc
mov edx, eax
xor edx, 0xffffffff
and edx, 0xf31c9b42
mov ecx, eax
and ecx, 0xce364bd
imul ecx, edx
mov edx, eax
and edx, 0xf31c9b42
or eax, 0xf31c9b42
imul eax, edx
add eax, ecx
cmp eax, 0x299bc4d3
ja 0x1008e45c
jmp 0x1008d521
mov eax, dword [0x102849bc]
mov esi, dword [0x102849c0]
mov ecx, eax
xor ecx, 0xffffffff
mov edx, esi
and edx, ecx
mov edi, esi
xor edi, 0xffffffff
mov ecx, eax
and ecx, edi
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
sub eax, 0x6a309a97
sub eax, 0x4ac1de19
add eax, 0x6a309a97
mov ecx, eax
xor ecx, 0x5fa3e2a
and eax, 0xfa05c1d5
shl eax, 1
sub eax, ecx
xor eax, 0x7a66a67f
cmp eax, 0x5d6750f4
jb 0x1008e461
mov ecx, dword [ebp - 0xac]
mov eax, dword [0x102849d4]
mov edx, dword [0x102849d8]
and eax, edx
mov edx, 0x48947007
mul edx
mov eax, edx
shr eax, 0x19
mov esi, eax
not esi
and esi, 0x366d28d1
mov edx, eax
and edx, 0xffffffee
imul edx, esi
mov esi, eax
and esi, 0x11
or eax, 0x366d28d1
imul eax, esi
add eax, edx
mov edx, eax
and edx, 0x2b700d1a
add edx, edx
sub eax, edx
add eax, 0xab700d1a
mov dword [ebp - 0x118], eax
call fcn.10046ff0
mov ecx, dword [ebp - 0x4c]
mov edx, eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, eax
mov eax, dword [ebp - 0x118]
sub ecx, 1
sbb edx, 0
setl cl
mov byte [ebp - 0x113], cl
cmp eax, 0x1b0fb2bf
je 0x1008e466
mov al, byte [ebp - 0x113]
test al, 1
jne 0x1008da62
jmp 0x1008da4a
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, dword [ebp - 0x4c]
cmp eax, dword [ecx]
ja 0x1008da73
mov eax, dword [ebp - 0x90]
mov dword [eax], 0
jmp 0x1008db64
mov ebx, dword [0x102849dc]
mov edi, dword [0x102849e0]
mov ecx, ebx
xor ecx, 0xffffffff
mov edx, edi
xor edx, 0xffffffff
mov eax, ecx
and eax, 0xbdf84272
and ebx, 0x4207bd8d
mov esi, edx
and esi, 0xbdf84272
and edi, 0x4207bd8d
or eax, ebx
or esi, edi
xor eax, esi
or ecx, edx
xor ecx, 0xffffffff
or eax, ecx
add eax, 0x940b1e1c
xor eax, 0xd7425274
mov edx, eax
and edx, 0xe09a6d1c
mov ecx, eax
or ecx, 0xe09a6d1c
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x1f6592e3
or eax, 0x1f6592e3
imul eax, edx
add eax, ecx
cmp eax, 0xa58eafa5
jae 0x1008e48a
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xcc]
mov edx, dword [0x102849e4]
mov ecx, dword [0x102849e8]
and edx, ecx
mov ecx, edx
not ecx
or ecx, 0x322e0105
or edx, 0x8010a00
and ecx, 0x323e25a5
and edx, 0x48010a0a
or ecx, edx
xor ecx, 0xf1bd7e58
mov dword [ebp - 0x120], ecx
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, dword [ebp - 0x90]
mov edi, eax
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x11c], edi
mov edx, dword [ebp - 0x11c]
sub edx, dword [esi]
mov dword [ecx], edx
cmp eax, 0xc71b8d2a
jae 0x1008e48a
jmp 0x1008db64
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
call fcn.1004a3a0
mov ecx, eax
mov eax, dword [ebp - 0x8c]
xor ecx, 0xffffffff
or ecx, 0xfffffe3f
xor ecx, 0xffffffff
mov dword [eax], ecx
cmp dword [eax], 0x40
je 0x1008dcf5
mov eax, dword [ebp - 0x8c]
cmp dword [eax], 0x100
je 0x1008dcf5
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x84]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x90]
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 0x1008dbfa
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x90]
mov edi, dword [ebp - 0x88]
mov eax, dword [0x10284a04]
mov ecx, dword [0x10284a08]
mov ebx, eax
and ebx, ecx
xor eax, 0xffffffff
xor ecx, 0xffffffff
and eax, ecx
mov ecx, dword [ebp - 0xac]
xor ebx, 0xffffffff
xor eax, 0xffffffff
and ebx, eax
mov eax, dword [ebp - 0xc8]
add ebx, 0x31d551a7
xor ebx, 0x620f19b5
xor ebx, 0xf263b8b6
mov dword [ebp - 0x128], ebx
mov ebx, dword [edi]
mov dword [esi], ebx
mov edi, dword [edi + 4]
mov dword [esi + 4], edi
mov dword [edx], 0
mov eax, dword [eax]
mov dword [ebp - 0x12c], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x7c]
mov esi, eax
mov eax, dword [ebp - 0x128]
mov dword [ebp - 0x124], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xdb2bf4e8
jae 0x1008e4b9
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x80]
mov esi, dword [ebp - 0x124]
mov edi, dword [ebp - 0x12c]
mov eax, dword [ebp - 0x7c]
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 0x1008dce0
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x80]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x1008e0bd
mov edx, dword [0x10284a0c]
and edx, dword [0x10284a10]
or edx, 0x11a0db18
sub edx, 0xf90a3cb9
mov ecx, edx
xor ecx, 0xffffffff
mov eax, ecx
and eax, 0x523c9465
and edx, 0xadc36b9a
or eax, edx
xor eax, 0x1e23229a
or ecx, 0xb3e04900
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0xa59bf491
jae 0x1008e504
mov ecx, dword [ebp - 0x8c]
mov eax, dword [0x10284a14]
sub eax, dword [0x10284a18]
xor edx, edx
sub edx, eax
add edx, 0xcdd5ea3a
xor eax, eax
sub eax, edx
imul eax, eax, 0xa7dcc716
mov edx, eax
and edx, 0x3f7ebebb
shl edx, 1
xor eax, 0x3f7ebebb
add eax, edx
cmp dword [ecx], 0x100
sete cl
mov byte [ebp - 0x12d], cl
cmp eax, 0x5903c31
je 0x1008e504
mov al, byte [ebp - 0x12d]
test al, 1
jne 0x1008dd9f
jmp 0x1008df1a
mov eax, dword [0x10284a1c]
xor eax, dword [0x10284a20]
add eax, 0xbe6c609d
sub eax, 0xdf64b707
sub eax, 0xbe6c609d
and eax, 0x185986de
or eax, 0x364414c8
cmp eax, 0xa7da6173
ja 0x1008e509
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc8]
mov esi, dword [0x10284a24]
mov edi, dword [0x10284a28]
mov edx, edi
and edx, esi
xor edx, 0xffffffff
add esi, edi
add esi, 1
add esi, edx
add esi, 0x454f69e
and esi, 0x74b47256
mov edx, esi
xor edx, 0xffffffff
and edx, 0x120b425d
and esi, 0xedf4bda2
or edx, esi
xor edx, 0x6ace7ecc
mov dword [ebp - 0x138], edx
mov eax, dword [eax]
mov dword [ebp - 0x13c], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x74]
mov esi, eax
mov eax, dword [ebp - 0x138]
mov dword [ebp - 0x134], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0x52f958d2
jae 0x1008ddce
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x78]
mov esi, dword [ebp - 0x134]
mov edi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x74]
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 0x1008dea3
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x70]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x78]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x6c]
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 0x1008def9
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x70]
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov dword [eax], 0
jmp 0x1008e07b
mov eax, dword [0x10284a3c]
mov edx, dword [0x10284a40]
mov esi, eax
xor esi, edx
xor esi, 0xffffffff
mov ecx, edx
and ecx, esi
shl ecx, 1
sub ecx, edx
sub eax, ecx
sub eax, 0x732dee1f
mov ecx, 0x38aa109
xor edx, edx
div ecx
add eax, 0xada18c14
sub eax, 0xd1b64d2f
sub eax, 0xada18c14
cmp eax, 0x390abb86
jae 0x1008e535
mov ecx, dword [ebp - 0xac]
mov eax, dword [0x10284a44]
xor edx, edx
div dword [0x10284a48]
mov edx, eax
mov eax, dword [ebp - 0xc8]
add edx, 0xe6149d0d
add edx, 1
mov edi, edx
and edi, 0x9390050a
mov esi, edx
or esi, 0x9390050a
xor esi, 0xffffffff
imul esi, edi
mov edi, edx
and edi, 0x6c6ffaf5
or edx, 0x6c6ffaf5
imul edx, edi
add edx, esi
xor edx, 0xffffffff
or edx, 0x3d9070b3
xor edx, 0xffffffff
mov dword [ebp - 0x144], edx
mov eax, dword [eax]
mov dword [ebp - 0x148], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x64]
mov esi, eax
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x140], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xe755d397
ja 0x1008df5e
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x68]
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x64]
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 0x1008e041
mov eax, dword [0x10284a4c]
xor edx, edx
div dword [0x10284a50]
xor eax, 0x5dfdcbdf
add eax, 0x6452c0ed
add eax, 1
sub eax, 0xf4f48b7f
cmp eax, 0xb275817b
jbe 0x1008e561
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov eax, dword [0x10284a64]
mov edx, dword [0x10284a68]
mov ecx, edx
and ecx, eax
xor ecx, 0xffffffff
add eax, edx
add eax, 1
add eax, ecx
or eax, 0x4b0c7b69
add eax, 0x6121a0a3
sub eax, 0xc8ed45d8
sub eax, 0x6121a0a3
sub eax, 0x851015fd
cmp eax, 0x8485cf74
je 0x1008e07b
jmp 0x1008e0bd
mov ecx, dword [0x10284a6c]
mov edx, dword [0x10284a70]
mov eax, ecx
xor eax, 0xffffffff
mov esi, ecx
xor esi, 0xffffffff
or eax, esi
xor eax, 0xffffffff
mov esi, edx
xor esi, 0xffffffff
or eax, esi
xor ecx, 0xffffffff
or ecx, edx
and eax, ecx
xor eax, 0xffffffff
mov edx, eax
and edx, 0x203075fe
mov ecx, eax
or ecx, 0x203075fe
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xdfcf8a01
or eax, 0xdfcf8a01
imul eax, edx
add eax, ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x9712a7f
mov ecx, eax
and ecx, 0xf68ed580
imul ecx, edx
mov edx, eax
and edx, 0x9712a7f
or eax, 0x9712a7f
imul eax, edx
add eax, ecx
imul eax, eax, 0x77a42a46
cmp eax, 0x931a3d87
ja 0x1008e576
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0x4c]
mov edi, dword [edx]
mov edx, dword [eax]
mov eax, edi
not eax
and eax, edx
mov esi, edx
not esi
and edi, esi
sub edi, eax
sub esp, 4
mov eax, esp
mov dword [eax], edx
call fcn.100846f0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x48]
mov esi, eax
mov eax, dword [ebp - 0x5c]
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 0x1008e1ba
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0xd0]
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x60]
movsd xmm0, qword [ecx]
movsd qword [ebx], xmm0
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 - 0x48]
mov eax, dword [ebp - 0x58]
mov edx, dword [ebp - 0x3c]
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 0x1008e22f
mov ecx, dword [ebp - 0xa0]
call fcn.100061b0
mov ecx, dword [ebp - 0xac]
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 0x20
push eax
mov eax, esp
push eax
mov ebx, esp
push eax
mov esi, esp
push eax
mov ecx, esp
mov dword [ebp - 0x150], ecx
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x150]
mov al, byte [ebp - 0x31]
and al, 1
mov byte [ebx], al
mov eax, dword [ebp - 0x14c]
mov ebx, dword [ebp - 0x30]
mov dword [esi], ebx
mov bl, byte [ebp - 0x25]
mov esi, dword [ebp - 0x2c]
mov dword [ecx], esi
mov esi, dword [ebp - 0x24]
mov ecx, dword [ebp - 0x40]
mov byte [edi], bl
mov dword [edx], esi
mov dword [eax], ecx
jmp 0x1008c7d5
jmp 0x1008c99f
jmp 0x1008c9f5
jmp 0x1008cab0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
mov dl, byte [ebp - 0xd5]
and dl, 1
movzx edx, dl
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1004a3a0
jmp 0x1008cb20
mov eax, dword [ebp - 0xc4]
lea ecx, [0x10258c26]
mov dword [eax], ecx
jmp 0x1008cb9f
jmp 0x1008cc42
jmp 0x1008ccef
jmp 0x1008cd8e
mov ecx, dword [ebp - 0x50]
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10202200
mov ecx, dword [ebp - 0xc0]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0xbc]
mov dword [ecx], edx
mov cx, word [0x10227ae3]
mov word [eax], cx
call fcn.10201c6a
mov ecx, dword [ebp - 0x50]
mov edx, eax
mov eax, dword [ebp - 0xbc]
mov edx, dword [edx]
mov dl, byte [edx]
mov byte [eax], dl
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10202200
mov edx, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xcc]
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0xb0]
mov dword [edx], esi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
jmp 0x1008ce27
mov eax, dword [ebp - 0xa4]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003e3f0
jmp 0x1008d036
mov ecx, dword [ebp - 0xa4]
call fcn.10027aa0
mov ecx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xa8]
mov dword [eax], ecx
jmp 0x1008d12d
mov eax, dword [ebp - 0x9c]
mov cl, byte [ebp - 0xfd]
mov byte [eax], cl
jmp 0x1008d1df
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100846f0
mov cl, byte [ebp - 0xfe]
mov byte [eax], cl
jmp 0x1008d257
jmp 0x1008d2c7
jmp 0x1008d3af
jmp 0x1008d450
jmp 0x1008d493
jmp 0x1008d58c
mov eax, dword [ebp - 0x98]
mov ecx, dword [ebp - 0x94]
mov ecx, dword [ecx]
movsx edx, byte [ecx]
mov ecx, dword [eax]
xor edx, 0xffffffff
add ecx, edx
add ecx, 1
mov dword [eax], ecx
jmp 0x1008d686
jmp 0x1008d760
mov eax, dword [ebp - 0x94]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1008d852
jmp 0x1008d8f0
jmp 0x1008d9a5
mov ecx, dword [ebp - 0xac]
call fcn.10046ff0
mov ecx, dword [ebp - 0x4c]
mov edx, eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1007eb20
jmp 0x1008d9a5
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax]
call fcn.1007eb20
mov ecx, eax
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x4c]
mov edx, dword [edx]
add ecx, 0xf74b6785
sub ecx, edx
sub ecx, 0xf74b6785
mov dword [eax], ecx
jmp 0x1008daee
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0x90]
mov esi, dword [ebp - 0x88]
mov edi, dword [esi]
mov dword [edx], edi
mov esi, dword [esi + 4]
mov dword [edx + 4], esi
mov dword [eax], 0
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x7c]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x1008dbfa
jmp 0x1008dd3c
mov ecx, dword [ebp - 0xac]
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x74]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x1008ddce
mov ecx, dword [ebp - 0xac]
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100846f0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x64]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x1008df5e
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x68]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x1008e06b
mov ecx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100846f0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x5c]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
mov dword [ebp - 0x10], 2
jmp 0x1008e14a