Function at 0x100917d0
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x168
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], 0x1009a8a0
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x10289a3c]
xor edx, edx
div dword [0x10289a40]
mov ecx, 0xc968357
xor edx, edx
div ecx
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x4dc2c6a2
add eax, ecx
imul eax, eax, 0x5af1d8f6
cmp eax, 0x3c453f83
jae 0x10093348
mov bl, byte [ebp - 0x25]
mov bh, byte [ebp - 0x31]
mov eax, dword [0x10289a44]
mov ecx, dword [0x10289a48]
xor edx, edx
div ecx
mov ecx, eax
not ecx
and ecx, 0x4f20a514
and eax, 0xb0df5aeb
sub eax, ecx
mov ecx, eax
xor ecx, 0x29e577
and eax, 0x7fd61a88
add eax, eax
sub eax, ecx
add eax, 0x1b1d4638
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [ebp - 0x58], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x4c], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x54], ecx
push eax
mov ecx, esp
mov dword [ebp - 0x50], ecx
push eax
mov edi, esp
mov dword [ebp - 0xd0], edi
push eax
mov ecx, esp
push eax
mov esi, esp
mov dword [ebp - 0xcc], esi
push eax
mov esi, esp
mov dword [ebp - 0xc8], esi
push eax
mov esi, esp
mov dword [ebp - 0xc4], esi
push eax
mov esi, esp
mov dword [ebp - 0xc0], esi
push eax
mov esi, esp
mov dword [ebp - 0xbc], esi
push eax
mov esi, esp
mov dword [ebp - 0xb8], esi
sub esp, 8
mov esi, esp
mov dword [ebp - 0xb4], esi
sub esp, 0x18
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
push eax
mov esi, esp
mov dword [ebp - 0x9c], esi
push eax
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
sub esp, 8
mov esi, esp
mov dword [ebp - 0x8c], esi
sub esp, 8
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
mov esi, dword [ebp - 0x3c]
mov dword [edx], esi
mov esi, dword [ebp - 0x30]
mov edx, dword [ebp - 0x58]
and bh, 1
mov byte [edx], bh
mov edx, dword [ebp - 0x4c]
mov dword [edx], esi
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x54]
mov dword [edx], esi
mov esi, dword [ebp - 0x40]
mov edx, dword [ebp - 0x50]
mov byte [edx], bl
mov ebx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x4c]
mov dword [edi], ebx
mov dword [ecx], esi
mov ecx, dword [ecx]
mov dword [ebp - 0x48], ecx
xor ecx, ecx
cmp ecx, dword [edx]
setb cl
mov byte [ebp - 0x41], cl
cmp eax, 0xb4795840
jbe 0x10091868
mov cl, byte [ebp - 0x41]
xor eax, eax
test cl, 1
mov byte [ebp - 0xd1], al
jne 0x10091a36
jmp 0x10091ad6
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
movsx ecx, byte [eax]
mov al, 1
cmp ecx, 0x2b
mov byte [ebp - 0xd2], al
je 0x10091a68
jmp 0x10091a54
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
movsx eax, byte [eax]
cmp eax, 0x2d
sete al
mov byte [ebp - 0xd2], al
mov al, byte [ebp - 0xd2]
mov byte [ebp - 0xd3], al
mov eax, dword [0x10289a6c]
xor edx, edx
div dword [0x10289a70]
xor eax, 0xf5d10b36
mov ecx, eax
and ecx, 0x70b57907
shl ecx, 1
add eax, 0x70b57907
sub eax, ecx
mov edx, eax
and edx, 0xba90f047
mov ecx, eax
or ecx, 0xba90f047
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x456f0fb8
or eax, 0x456f0fb8
imul eax, edx
add eax, ecx
cmp eax, 0x4fb17751
jb 0x1009339f
mov al, byte [ebp - 0xd3]
mov byte [ebp - 0xd1], al
mov al, byte [ebp - 0xd1]
mov byte [ebp - 0xd4], al
mov eax, dword [0x10289a7c]
or eax, dword [0x10289a80]
sub eax, 0x43aa6f88
sub eax, 0xa3732454
add eax, 0x1e1a8045
cmp eax, 0x20f7f70f
jae 0x100933a4
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov dl, byte [ebp - 0xd4]
mov edi, dword [0x10289a84]
mov esi, dword [0x10289a88]
add edi, 0x499d43d
sub edi, esi
sub edi, 0x499d43d
mov esi, edi
xor esi, 0xffffffff
and esi, 0x1f7d527f
and edi, 0xe082ad80
or esi, edi
sub esi, 0xc2e2f926
or esi, 0x5d3ab563
mov dword [ebp - 0xdc], esi
and dl, 1
movzx edx, dl
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1004c730
mov ecx, eax
mov eax, dword [ebp - 0xdc]
and ecx, 0x3000
cmp ecx, 0x3000
setne cl
mov byte [ebp - 0xd5], cl
cmp eax, 0xfc54829f
jbe 0x10091b07
mov al, byte [ebp - 0xd5]
test al, 1
jne 0x10091ba2
jmp 0x10091c34
mov ecx, dword [0x10289a8c]
mov edx, dword [0x10289a90]
mov eax, ecx
and eax, edx
xor ecx, edx
or eax, ecx
mov ecx, 0x427935d8
xor edx, edx
div ecx
imul ecx, eax, 0x43b72fd4
mov eax, ecx
xor eax, 0x2f8eed9a
and eax, ecx
cmp eax, 0xa6c6f054
jb 0x100933ca
mov ecx, dword [ebp - 0xc8]
mov eax, dword [0x10289a94]
and eax, dword [0x10289a98]
sub eax, 0x87b0d162
mov esi, eax
xor esi, 0xffffffff
and esi, 0xf4d07b73
mov edx, eax
and edx, 0xb2f848c
imul edx, esi
mov esi, eax
and esi, 0xf4d07b73
or eax, 0xf4d07b73
imul eax, esi
add eax, edx
or eax, 0x50e58dba
lea edx, [0x1025dc19]
mov dword [ecx], edx
cmp eax, 0xbccdc7f7
jae 0x100933ca
jmp 0x10091f30
mov ecx, dword [0x10289a9c]
mov edx, dword [0x10289aa0]
mov esi, ecx
xor esi, 0xffffffff
mov eax, edx
and eax, esi
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0x5bd3b96b
xor ecx, ecx
sub ecx, eax
add ecx, 0x7fdea8af
xor eax, eax
sub eax, ecx
imul eax, eax, 0xe14f4259
cmp eax, 0xaa318853
je 0x100933dd
mov ecx, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xc8]
mov eax, dword [0x10289aa4]
xor edx, edx
div dword [0x10289aa8]
mov edx, dword [ebp - 0x4c]
sub eax, 0xcae37c8c
mov edi, eax
xor edi, 0x28faad62
and edi, eax
mov eax, edi
and eax, 0xd692d174
xor edi, 0xffffffff
or edi, 0x296d2e8b
xor edi, 0xffffffff
or eax, edi
lea edi, [0x1025dc16]
mov dword [esi], edi
mov ecx, dword [ecx]
sub ecx, 0xfffffffe
cmp ecx, dword [edx]
setbe cl
mov byte [ebp - 0xdd], cl
cmp eax, 0x33ea2115
jae 0x100933dd
mov al, byte [ebp - 0xdd]
test al, 1
jne 0x10091cea
jmp 0x10091f0a
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov ecx, dword [ecx]
movsx eax, byte [eax + ecx]
cmp eax, 0x30
jne 0x10091f0a
mov eax, dword [0x10289aac]
imul eax, dword [0x10289ab0]
mov edx, eax
xor edx, 0xffffffff
and edx, 0xcd147e13
mov ecx, eax
and ecx, 0x32eb81ec
imul ecx, edx
mov edx, eax
and edx, 0xcd147e13
or eax, 0xcd147e13
imul eax, edx
add eax, ecx
add eax, 0x74f47169
sub eax, 0xb32b0be0
cmp eax, 0x4e2cac54
je 0x100933f0
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x54]
mov ebx, dword [0x10289ab4]
mov edi, dword [0x10289ab8]
mov eax, ebx
xor eax, 0xffffffff
and eax, 0xce4c13f8
and ebx, 0x31b3ec07
mov esi, edi
xor esi, 0xffffffff
and esi, 0xce4c13f8
and edi, 0x31b3ec07
or eax, ebx
or esi, edi
xor eax, esi
imul esi, eax, 0xf9d04eb5
mov eax, esi
xor eax, 0xffffffff
and eax, 0x6c5ba2a9
and esi, 0x93a45d56
or eax, esi
xor eax, 0xa1e5e7dd
mov esi, eax
xor esi, 0x56aa5a9d
xor esi, 0xffffffff
and esi, 0x56aa5a9d
shl esi, 1
sub esi, 0x56aa5a9d
sub eax, esi
mov ecx, dword [ecx]
mov edx, dword [edx]
sub edx, 0xffffffff
movsx ecx, byte [ecx + edx]
cmp ecx, 0x78
sete cl
mov byte [ebp - 0xde], cl
cmp eax, 0x1773efb5
jbe 0x100933f0
mov al, byte [ebp - 0xde]
test al, 1
jne 0x10091e7f
jmp 0x10091df6
mov eax, dword [0x10289abc]
mov esi, dword [0x10289ac0]
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, 0x38f3f873
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xc239d786
and eax, 0x3dc62879
or ecx, eax
xor ecx, 0x8bb7ebe
mov eax, ecx
xor eax, 0xffffffff
and eax, 0xa08c4b39
and ecx, 0x5f73b4c6
or eax, ecx
cmp eax, 0xfd314c81
je 0x100933f5
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0x54]
mov eax, dword [eax]
mov edx, dword [ecx]
mov ecx, edx
and ecx, 1
or edx, 1
add ecx, edx
movsx eax, byte [eax + ecx]
cmp eax, 0x58
jne 0x10091f0a
mov eax, dword [0x10289acc]
xor edx, edx
div dword [0x10289ad0]
mov ecx, 0xf747fc9d
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0x4b8ba133
mov ecx, eax
and ecx, 0xb4745ecc
imul ecx, edx
mov edx, eax
and edx, 0x4b8ba133
or eax, 0x4b8ba133
imul eax, edx
add eax, ecx
imul eax, eax, 0x3845650b
cmp eax, 0x61c50a1b
je 0x100933fa
mov ecx, dword [ebp - 0xcc]
mov eax, dword [0x10289ad4]
xor edx, edx
div dword [0x10289ad8]
add eax, 0xfc866e90
add eax, 1
and eax, 0x587ecee4
xor eax, 0x800cef88
mov edx, dword [ecx]
add edx, 2
mov dword [ecx], edx
cmp eax, 0x7b8ca77d
jbe 0x10091ece
jmp 0x10091f0a
mov eax, dword [0x10289adc]
xor eax, dword [0x10289ae0]
imul eax, eax, 0xc9b9f93b
xor eax, 0x7e004ec5
xor eax, 0x9af8fc3e
cmp eax, 0x215d9444
jb 0x10093413
mov esi, dword [0x10289aec]
mov edx, dword [0x10289af0]
mov eax, esi
xor eax, 0xffffffff
and eax, 0x560cd19b
and esi, 0xa9f32e64
mov ecx, edx
xor ecx, 0xffffffff
and ecx, 0x560cd19b
and edx, 0xa9f32e64
or eax, esi
or ecx, edx
xor eax, ecx
xor eax, 0x45fc0eec
and eax, 0xd7770f91
mov ecx, eax
add ecx, 1
xor eax, 0xffffffff
or eax, 0x4b312970
add eax, ecx
cmp eax, 0x5a4174b5
je 0x10093418
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0xc8]
mov esi, dword [0x10289af4]
sub esi, dword [0x10289af8]
mov edx, esi
and edx, 0xe8502072
xor esi, 0xe8502072
or edx, esi
mov edi, edx
xor edi, 0xffffffff
and edi, 0x5f2abd40
mov esi, edx
and esi, 0xa0d542bf
imul esi, edi
mov edi, edx
and edi, 0x5f2abd40
or edx, 0x5f2abd40
imul edx, edi
add edx, esi
or edx, 0x63090d81
mov dword [ebp - 0xe4], edx
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10206820
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx], edx
mov cx, word [0x1022cae3]
mov word [eax], cx
call fcn.1020628a
mov ecx, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0xc0]
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.10206820
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0xb4]
mov dword [edx], esi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003ed50
mov eax, dword [ebp - 0xe4]
cmp eax, 0xdce93197
ja 0x10093418
mov ecx, dword [ebp - 0xb4]
mov dword [ebp - 0x10], 0
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.1003e6d0
add esp, 4
mov dword [ebp - 0xe8], eax
jmp 0x10092096
mov esi, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xb4]
mov edx, dword [0x10289b04]
mov edi, dword [0x10289b08]
mov eax, edi
and eax, edx
xor eax, 0xffffffff
add edx, edi
add edx, 1
add edx, eax
mov edi, edx
and edi, 0x9f3a3c41
mov eax, edx
or eax, 0x9f3a3c41
xor eax, 0xffffffff
imul eax, edi
mov edi, edx
and edi, 0x60c5c3be
or edx, 0x60c5c3be
imul edx, edi
add edx, eax
mov eax, edx
and eax, 0x47b1ed08
xor edx, 0x47b1ed08
or eax, edx
imul eax, eax, 0x9158585a
mov dword [ebp - 0xf8], eax
call fcn.100284c0
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebp - 0xb0]
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.100884d0
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xb8]
mov eax, dword [eax]
mov dword [ebp - 0xfc], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100887b0
mov ecx, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf4], edx
mov edx, dword [ecx]
add edx, dword [esi]
mov dword [ebp - 0xf0], edx
mov ecx, dword [ecx]
mov dword [ebp - 0xec], ecx
cmp eax, 0x52ea10ef
ja 0x10092096
mov ecx, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xf0]
mov edi, dword [ebp - 0xf4]
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.100885e0
jmp 0x100921bc
mov eax, dword [0x10289b0c]
mov ecx, dword [0x10289b10]
or eax, ecx
mov ecx, 0x85ffbd31
xor edx, edx
div ecx
add eax, 0xf4160c08
imul eax, eax, 0xa565a55
cmp eax, 0x90dabd6d
jae 0x100934a3
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [0x10289b14]
xor esi, esi
sub esi, dword [0x10289b18]
sub edx, esi
add edx, 0x662a3e83
add edx, 0xd85ecc57
mov esi, edx
and esi, 0x55d523cf
xor esi, 0xffffffff
add edx, 0x55d523cf
add edx, 1
add edx, esi
mov dword [ebp - 0x100], edx
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003ed50
mov eax, dword [ebp - 0x100]
cmp eax, 0xd51dedab
ja 0x100921e8
mov ecx, dword [ebp - 0xa8]
mov dword [ebp - 0x10], 3
sub esp, 4
mov eax, esp
mov dword [eax], ecx
call fcn.10088920
add esp, 4
mov dword [ebp - 0x104], eax
jmp 0x10092271
mov eax, dword [0x10289b1c]
or eax, dword [0x10289b20]
mov edx, eax
and edx, 0xc19f35bf
mov ecx, eax
or ecx, 0xc19f35bf
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x3e60ca40
or eax, 0x3e60ca40
imul eax, edx
add eax, ecx
imul eax, eax, 0xca4376e7
mov edx, eax
xor edx, 0xffffffff
and edx, 0x67b153e9
mov ecx, eax
and ecx, 0x984eac16
imul ecx, edx
mov edx, eax
and edx, 0x67b153e9
or eax, 0x67b153e9
imul eax, edx
add eax, ecx
cmp eax, 0x1fbb5bd6
jb 0x100934c1
mov ecx, dword [ebp - 0xa8]
call fcn.100284c0
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xac]
mov edx, dword [ebp - 0xa4]
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.10088df0
jmp 0x10092316
mov eax, dword [0x10289b2c]
xor edx, edx
div dword [0x10289b30]
xor eax, 0xccba0786
mov ecx, 0xa5c562af
xor edx, edx
div ecx
and eax, 0x8b458985
cmp eax, 0x63cb24c0
jae 0x100934df
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 2
call fcn.10088f80
mov byte [ebp - 0x105], al
jmp 0x10092360
mov eax, dword [0x10289b3c]
mov edx, dword [0x10289b40]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
imul ecx, eax, 0xb875d1e6
sub ecx, 0xb5bc0eb7
mov eax, ecx
xor eax, 0xffffffff
or eax, 0x480372ac
xor eax, 0xffffffff
xor ecx, 0xffffffff
and ecx, 0x480372ac
or eax, ecx
xor eax, 0xffffffff
cmp eax, 0x59fa4df0
jb 0x100934e4
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xa0]
mov bl, byte [ebp - 0x105]
mov eax, dword [0x10289b44]
mov edi, dword [0x10289b48]
add eax, 0x4ad3c1f3
sub eax, edi
sub eax, 0x4ad3c1f3
add eax, 0x9e53f082
sub eax, 0x196bcaee
sub eax, 0x9e53f082
sub eax, 0xb49b09e3
sub eax, 0x319e0f47
mov byte [esi], bl
mov ecx, dword [ecx]
cmp ecx, dword [edx]
setne cl
mov byte [ebp - 0x106], cl
cmp eax, 0x20a56ccb
jbe 0x100923a8
mov al, byte [ebp - 0x106]
test al, 1
jne 0x1009241a
jmp 0x100924d9
mov eax, dword [ebp - 0xac]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 2
call fcn.100941d0
mov byte [ebp - 0x107], al
jmp 0x10092439
mov eax, dword [0x10289b4c]
imul eax, dword [0x10289b50]
mov ecx, 0xc15d7204
xor edx, edx
div ecx
or eax, 0xddad077f
xor eax, 0x3feddaf3
cmp eax, 0xfef91f36
jae 0x100934f7
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xbc]
mov esi, dword [0x10289b54]
xor esi, dword [0x10289b58]
mov edx, esi
and edx, 0x793ddaee
shl edx, 1
add esi, 0x793ddaee
sub esi, edx
sub esi, 0x7a78eda9
mov edx, esi
xor edx, 0xffffffff
and edx, 0x51ad77f2
and esi, 0xae52880d
or edx, esi
mov dword [ebp - 0x10c], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100887b0
mov dl, byte [ebp - 0x107]
mov ecx, eax
mov eax, dword [ebp - 0x10c]
mov byte [ecx], dl
cmp eax, 0x51a42ba
jbe 0x10092463
jmp 0x100924d9
mov eax, dword [ebp - 0x58]
test byte [eax], 1
je 0x100929a5
mov edx, dword [ebp - 0x4c]
mov ecx, dword [ebp - 0xbc]
mov esi, dword [0x10289b64]
add esi, dword [0x10289b68]
mov eax, esi
xor eax, 0xffffffff
and eax, 0xe7307efc
and esi, 0x18cf8103
or eax, esi
xor eax, 0x8e055bf1
mov edi, eax
and edi, 0x812b24aa
mov esi, eax
or esi, 0x812b24aa
xor esi, 0xffffffff
imul esi, edi
mov edi, eax
and edi, 0x7ed4db55
or eax, 0x7ed4db55
imul eax, edi
add eax, esi
add eax, 0x4fe0a047
mov ecx, dword [ecx]
cmp ecx, dword [edx]
sete cl
mov byte [ebp - 0x10d], cl
cmp eax, 0x8d7989b0
je 0x100924e5
mov al, byte [ebp - 0x10d]
test al, 1
jne 0x10092569
jmp 0x10092622
mov eax, dword [0x10289b6c]
xor ecx, ecx
sub ecx, dword [0x10289b70]
sub eax, ecx
xor eax, 0x1428725b
mov edx, eax
xor edx, 0xffffffff
mov ecx, eax
xor ecx, 0xffffffff
or edx, ecx
xor edx, 0xffffffff
or edx, 0xdd95566c
xor eax, 0xffffffff
or eax, 0x226aa993
and edx, eax
mov eax, edx
xor eax, 0xffffffff
and edx, 0x52de7482
mov ecx, eax
and ecx, 0xad218b7d
imul ecx, edx
mov edx, eax
and edx, 0x52de7482
or eax, 0x52de7482
imul eax, edx
add eax, ecx
cmp eax, 0x7a486a10
ja 0x1009351d
mov ecx, dword [ebp - 0xc4]
mov eax, dword [0x10289b74]
xor edx, edx
div dword [0x10289b78]
mov edx, eax
sub edx, 0xdb2568a2
mov eax, edx
and eax, 0xe4ada389
xor edx, 0xe4ada389
or eax, edx
add eax, 0xb0b86af
mov ecx, dword [ecx]
mov dword [ebp - 0x114], ecx
cmp eax, 0xcef54128
jb 0x100925cf
mov eax, dword [ebp - 0x114]
mov dword [ebp - 0x118], eax
jmp 0x10092630
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x118]
mov dword [ebp - 0x11c], eax
mov eax, dword [0x10289b7c]
sub eax, dword [0x10289b80]
xor eax, 0x2cf45b9a
xor eax, 0xffffffff
or eax, 0x96aa04b8
xor eax, 0xffffffff
mov ecx, eax
xor ecx, 0x78946206
and eax, 0x876b9df9
shl eax, 1
sub eax, ecx
cmp eax, 0xf5d98255
jae 0x10093522
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x11c]
mov esi, dword [0x10289b84]
or esi, dword [0x10289b88]
imul edi, esi, 0xe1e06a6f
mov esi, edi
and esi, 0x27c9c54a
xor edi, 0xffffffff
and edi, 0xd8363ab5
xor esi, 0xffffffff
xor edi, 0xffffffff
and esi, edi
mov ebx, esi
and ebx, 0x93f17546
mov edi, esi
or edi, 0x93f17546
xor edi, 0xffffffff
imul edi, ebx
mov ebx, esi
and ebx, 0x6c0e8ab9
or esi, 0x6c0e8ab9
imul esi, ebx
add esi, edi
mov dword [ebp - 0x120], esi
mov dword [eax], edx
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100662d0
mov ecx, dword [ebp - 0x98]
mov edx, eax
mov eax, dword [ebp - 0x120]
mov dword [ecx], edx
cmp eax, 0xa94a0035
jbe 0x10093522
jmp 0x10092712
mov ecx, dword [0x10289b8c]
mov edx, dword [0x10289b90]
mov eax, ecx
and eax, edx
shl eax, 1
add ecx, edx
sub ecx, eax
add ecx, 0x67317b9c
add ecx, 1
and ecx, 0xaef1cf93
mov eax, ecx
xor eax, 0xffffffff
mov edx, ecx
xor edx, 0xffffffff
or eax, edx
and eax, 0xc92d0005
xor ecx, 0xffffffff
or ecx, 0xc92d0005
xor ecx, 0xffffffff
or eax, ecx
cmp eax, 0x457953c
jbe 0x10093556
mov ecx, dword [ebp - 0x98]
mov edx, dword [0x10289b94]
mov esi, dword [0x10289b98]
mov eax, edx
and eax, esi
xor eax, 0xffffffff
and edx, esi
xor edx, 0xffffffff
and eax, edx
xor eax, 0xffffffff
sub eax, 0x75559f2d
mov esi, 0x10f71da8
xor edx, edx
div esi
or eax, 0x77664c6f
mov ecx, dword [ecx]
movsx ecx, byte [ecx]
cmp ecx, 0x7f
setne cl
mov byte [ebp - 0x121], cl
cmp eax, 0xba821de7
jae 0x10092761
mov cl, byte [ebp - 0x121]
xor eax, eax
test cl, 1
mov byte [ebp - 0x122], al
jne 0x100927cf
jmp 0x1009286c
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
movsx edx, byte [eax]
xor eax, eax
xor ecx, ecx
cmp ecx, edx
mov byte [ebp - 0x122], al
jge 0x1009286c
mov eax, dword [0x10289b9c]
xor eax, dword [0x10289ba0]
imul eax, eax, 0xc858ea4c
mov ecx, 0xd3bce845
xor edx, edx
div ecx
mov edx, eax
and edx, 0x6573b292
mov ecx, eax
or ecx, 0x6573b292
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0x9a8c4d6d
or eax, 0x9a8c4d6d
imul eax, edx
add eax, ecx
cmp eax, 0xe1c4b498
jae 0x1009355b
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0x98]
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 - 0x122], al
mov al, byte [ebp - 0x122]
test al, 1
jne 0x1009287f
jmp 0x100929a0
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x98]
mov esi, dword [ebp - 0xa0]
movsx esi, byte [esi]
mov edx, dword [edx]
movsx edi, byte [edx]
mov edx, dword [eax]
sub edx, edi
mov dword [eax], edx
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.100890d0
jmp 0x100928c7
mov eax, dword [ebp - 0x98]
mov eax, dword [eax]
movsx ecx, byte [eax + 1]
xor eax, eax
cmp eax, ecx
jge 0x10092961
mov eax, dword [0x10289bac]
mov ecx, dword [0x10289bb0]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
sub eax, ecx
imul eax, eax, 0x7a7cc532
mov ecx, 0x5148f70f
xor edx, edx
div ecx
xor eax, 0x782e7bf2
cmp eax, 0xaef2c914
ja 0x10093560
mov ecx, dword [ebp - 0x98]
mov eax, dword [0x10289bb4]
xor edx, edx
div dword [0x10289bb8]
add eax, 0x778f594f
sub eax, 0x7ba8d353
sub eax, 0x778f594f
mov edx, eax
and edx, 0x9affb76
shl edx, 1
add eax, 0x9affb76
sub eax, edx
add eax, 0x1286ce13
add eax, 1
mov edx, dword [ecx]
add edx, 1
mov dword [ecx], edx
cmp eax, 0x16fe9d81
jb 0x10093560
jmp 0x10092961
mov eax, dword [0x10289bbc]
xor eax, dword [0x10289bc0]
xor eax, 0xffffffff
or eax, 0xc2a4cd7a
xor eax, 0xffffffff
mov ecx, eax
and ecx, 0x9fdbddc9
mov edx, eax
xor edx, 0x60242236
add eax, edx
sub eax, ecx
add eax, 0x99e92888
cmp eax, 0x6bfa7742
ja 0x10093572
jmp 0x10092712
jmp 0x100929a5
mov ecx, dword [ebp - 0xb0]
call fcn.10048970
mov ecx, dword [ebp - 0x4c]
mov edx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.100827d0
sub eax, 1
sbb edx, 0
jl 0x10092a21
jmp 0x100929d5
mov eax, dword [0x10289bdc]
xor edx, edx
div dword [0x10289be0]
mov ecx, eax
and ecx, 0x9b91d679
shl ecx, 1
xor eax, 0x9b91d679
add eax, ecx
imul eax, eax, 0x2694104f
add eax, 0xea0e08fb
cmp eax, 0xe0b97383
jae 0x10093577
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
call fcn.100827d0
mov ecx, dword [ebp - 0x4c]
cmp eax, dword [ecx]
ja 0x10092a74
mov eax, dword [0x10289bec]
add eax, dword [0x10289bf0]
mov ecx, eax
and ecx, 0x24862cd5
shl ecx, 1
add eax, 0x24862cd5
sub eax, ecx
imul eax, eax, 0x42c405
mov ecx, eax
and ecx, 0xe52be26f
xor ecx, 0xffffffff
add eax, 0xe52be26f
add eax, 1
add eax, ecx
cmp eax, 0x25c72e5c
je 0x10093589
mov eax, dword [ebp - 0x94]
mov dword [eax], 0
jmp 0x10092adc
mov esi, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xd0]
mov edx, dword [0x10289c04]
mov ecx, dword [0x10289c08]
or edx, ecx
mov ecx, edx
xor ecx, 0x14c4372c
and ecx, edx
xor ecx, 0x70970e02
imul ecx, ecx, 0x9c38f2c4
mov dword [ebp - 0x12c], ecx
mov ecx, dword [eax]
call fcn.100827d0
mov ecx, dword [ebp - 0x94]
mov edi, eax
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x128], edi
mov edx, dword [ebp - 0x128]
sub edx, dword [esi]
mov dword [ecx], edx
cmp eax, 0xd06ad9da
ja 0x1009359a
jmp 0x10092adc
mov eax, dword [0x10289c0c]
mov ecx, dword [0x10289c10]
xor eax, 0xffffffff
xor ecx, 0xffffffff
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and eax, 0x668668a2
and ecx, 0x9979975d
or eax, ecx
xor eax, 0xeebe31c5
add eax, 0xf186c52f
and eax, 0x8d7742c2
cmp eax, 0xca1a0b9
jbe 0x100935bb
mov eax, dword [ebp - 0xd0]
mov ecx, dword [0x10289c14]
sub ecx, dword [0x10289c18]
imul edx, ecx, 0xb69b3a9a
mov ecx, edx
xor ecx, 0xffffffff
or ecx, 0xd8452fa0
xor edx, 0xffffffff
or edx, 0xd8452fa0
xor ecx, 0xffffffff
xor edx, 0xffffffff
or ecx, edx
mov esi, ecx
xor esi, 0xffffffff
and esi, 0x64a08d0a
mov edx, ecx
and edx, 0x9b5f72f5
imul edx, esi
mov esi, ecx
and esi, 0x64a08d0a
or ecx, 0x64a08d0a
imul ecx, esi
add ecx, edx
mov dword [ebp - 0x134], ecx
mov ecx, dword [eax]
call fcn.1004c730
mov ecx, dword [ebp - 0x90]
mov edx, eax
mov eax, dword [ebp - 0x134]
xor edx, 0xffffffff
or edx, 0xfffffe3f
xor edx, 0xffffffff
mov dword [ecx], edx
cmp dword [ecx], 0x40
setne cl
mov byte [ebp - 0x12d], cl
cmp eax, 0x709386e2
jb 0x10092b1b
mov al, byte [ebp - 0x12d]
test al, 1
jne 0x10092bcb
jmp 0x10092e4d
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0x100
je 0x10092e4d
mov eax, dword [str._afd]
xor edx, edx
div dword [0x10289c20]
add eax, 0xbdfcf1b
xor eax, 0x48602c0a
add eax, 0xc0621b69
cmp eax, 0xca62409e
ja 0x100935dd
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x94]
mov eax, dword [0x10289c24]
sub eax, dword [0x10289c28]
mov ecx, 0xb6edfe3
xor edx, edx
div ecx
mov edx, dword [ebp - 0x20]
xor eax, 0xa96b51c3
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xfde418d6
mov ebx, eax
and ebx, 0x21be729
imul ebx, ecx
mov ecx, eax
and ecx, 0xfde418d6
or eax, 0xfde418d6
imul eax, ecx
mov ecx, dword [ebp - 0x88]
add eax, ebx
mov edi, dword [edi]
mov dword [ebp - 0x13c], edi
mov bl, byte [esi]
mov byte [ebp - 0x135], bl
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xff7b3fda
jae 0x100935dd
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x8c]
mov bl, byte [ebp - 0x135]
mov esi, dword [ebp - 0x13c]
mov eax, dword [ebp - 0x88]
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.10089840
add esp, 0x18
jmp 0x10092cc7
mov esi, dword [ebp - 0x20]
mov edx, dword [ebp - 0x94]
mov edi, dword [ebp - 0x8c]
mov ecx, dword [0x10289c34]
mov ebx, dword [0x10289c38]
mov eax, ecx
and eax, ebx
shl eax, 1
add ecx, ebx
sub ecx, eax
xor ecx, 0x225da60f
mov eax, ecx
xor eax, 0xffffffff
mov ebx, eax
and ebx, 0x852c56d5
and ecx, 0x7ad3a92a
or ebx, ecx
mov ecx, dword [ebp - 0xb0]
xor ebx, 0x2387763c
or eax, 0x5954df16
xor eax, 0xffffffff
or ebx, eax
mov eax, dword [ebp - 0xcc]
xor ebx, 0x2a770647
mov dword [ebp - 0x144], 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 - 0x148], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100887b0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x80]
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, 0x38816125
je 0x10092cc7
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x84]
mov esi, dword [ebp - 0x140]
mov edi, dword [ebp - 0x148]
mov eax, dword [ebp - 0x80]
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.10089d60
add esp, 0x18
jmp 0x10092dc6
mov eax, dword [0x10289c3c]
mov ecx, dword [0x10289c40]
add eax, 0x14f2a5b0
sub eax, ecx
sub eax, 0x14f2a5b0
xor eax, 0xd5cff8d7
and eax, 0xd48ee7f
imul eax, eax, 0xb19f6027
cmp eax, 0x6fcfeafe
jbe 0x100935f5
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x84]
mov eax, dword [0x10289c44]
mov esi, dword [0x10289c48]
add eax, 0x5ab00f15
sub eax, esi
sub eax, 0x5ab00f15
sub eax, 0xf54e959d
mov esi, eax
and esi, 0x59dc7ab4
shl esi, 1
xor eax, 0x59dc7ab4
add eax, esi
add eax, 0x8e4006a5
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xb45d3e4d
ja 0x100935f5
jmp 0x10093111
mov eax, dword [0x10289c4c]
or eax, dword [0x10289c50]
imul eax, eax, 0x430b4ade
mov ecx, 0x90563d99
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xe61dfd81
mov ecx, eax
and ecx, 0x19e2027e
imul ecx, edx
mov edx, eax
and edx, 0xe61dfd81
or eax, 0xe61dfd81
imul eax, edx
add eax, ecx
cmp eax, 0xf61e5aec
jae 0x1009360d
mov eax, dword [ebp - 0x90]
cmp dword [eax], 0x100
jne 0x10093040
mov eax, dword [0x10289c5c]
imul eax, dword [0x10289c60]
mov ecx, 0xe14deb8b
xor edx, edx
div ecx
add eax, 0x5078845f
imul eax, eax, 0x27c94226
cmp eax, 0x747f42c2
jbe 0x10093612
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xcc]
mov esi, dword [0x10289c64]
imul esi, dword [0x10289c68]
or esi, 0x1d7d29fd
mov edx, esi
xor edx, 0xc2a140ad
and edx, esi
mov esi, edx
xor esi, 0x2fb30e9c
xor esi, 0xffffffff
or edx, 0x2fb30e9c
and edx, esi
mov dword [ebp - 0x150], edx
mov eax, dword [eax]
mov dword [ebp - 0x154], eax
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100887b0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x78]
mov esi, eax
mov eax, dword [ebp - 0x150]
mov dword [ebp - 0x14c], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xfa577a81
jae 0x10092ed7
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x7c]
mov esi, dword [ebp - 0x14c]
mov edi, dword [ebp - 0x154]
mov eax, dword [ebp - 0x78]
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.10089d60
add esp, 0x18
jmp 0x10092f9d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x74]
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x94]
mov eax, dword [ebp - 0x7c]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0x70]
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.10089840
add esp, 0x18
jmp 0x10092ff0
mov ecx, dword [ebp - 0x94]
mov edx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x74]
mov eax, dword [0x10289c84]
and eax, dword [str.7GQ2]
xor eax, 0xdab652bb
add eax, 0xafc92bde
add eax, 0xb4069e99
sub eax, 0xafc92bde
sub eax, 0xafeba75b
mov edi, dword [esi]
mov dword [edx], edi
mov esi, dword [esi + 4]
mov dword [edx + 4], esi
mov dword [ecx], 0
cmp eax, 0x94770144
jb 0x1009363e
jmp 0x1009310c
mov ebx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xcc]
mov edi, dword [eax]
sub esp, 4
mov eax, esp
mov dword [eax], 0
call fcn.100887b0
mov edx, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x48]
mov esi, eax
mov eax, dword [ebp - 0x68]
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.10089d60
add esp, 0x18
jmp 0x100930a1
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x6c]
mov esi, dword [0x10289c94]
mov edi, dword [0x10289c98]
mov ebx, esi
xor ebx, 0xffffffff
mov eax, edi
and eax, ebx
xor edi, 0xffffffff
and esi, edi
or eax, esi
add eax, 0xd313581e
mov esi, eax
xor esi, 0xffffffff
or esi, 0x34171136
xor esi, 0xffffffff
or eax, 0xcbe8eec9
xor eax, 0xffffffff
or esi, eax
xor esi, 0xffffffff
mov eax, esi
and eax, 0xa9d77523
xor esi, 0xa9d77523
or eax, esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xed407216
je 0x100930a1
jmp 0x1009310c
jmp 0x10093111
mov eax, dword [0x10289c9c]
add eax, dword [0x10289ca0]
xor eax, 0xe45d923
and eax, 0x89464255
imul eax, eax, 0x7457f58b
cmp eax, 0xecae38cc
jae 0x1009365f
mov ecx, dword [ebp - 0xb0]
mov eax, dword [0x10289ca4]
xor edx, edx
div dword [0x10289ca8]
mov esi, 0x6385c232
xor edx, edx
div esi
mov edx, dword [ebp - 0x4c]
mov esi, eax
mov eax, dword [ebp - 0xcc]
xor esi, 0xa61f91fd
imul esi, esi, 0x1c22baaf
mov dword [ebp - 0x15c], esi
mov edx, dword [edx]
sub edx, dword [eax]
mov dword [ebp - 0x160], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100887b0
mov edx, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x60]
mov esi, eax
mov eax, dword [ebp - 0x15c]
mov dword [ebp - 0x158], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0x83e2473
je 0x10093137
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x158]
mov edi, dword [ebp - 0x160]
mov eax, dword [ebp - 0x60]
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.10089d60
add esp, 0x18
jmp 0x100931f2
mov eax, dword [0x10289cac]
xor edx, edx
div dword [0x10289cb0]
imul ecx, eax, 0x90e2d1e4
mov eax, ecx
xor eax, 0x2e84084b
and ecx, 0xd17bf7b4
shl ecx, 1
sub ecx, eax
mov eax, ecx
and eax, 0x390d6875
xor ecx, 0x390d6875
or eax, ecx
cmp eax, 0x20c5edea
jb 0x1009368d
mov esi, dword [ebp - 0x50]
mov edi, dword [ebp - 0x94]
mov edx, dword [ebp - 0x64]
mov ebx, dword [0x10289cb4]
mov ecx, dword [0x10289cb8]
mov eax, ebx
xor eax, ecx
xor ecx, 0xffffffff
and ebx, ecx
mov ecx, dword [ebp - 0x20]
shl ebx, 1
sub ebx, eax
mov eax, dword [ebp - 0xd0]
sub ebx, 0xf4223317
add ebx, 0x2533dee9
sub ebx, 0x6b08def4
sub ebx, 0x2533dee9
add ebx, 0x7bfdc0c8
mov dword [ebp - 0x16c], 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.100830d0
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0x20]
mov edi, dword [edi]
mov dword [ebp - 0x168], edi
mov bl, byte [esi]
mov byte [ebp - 0x161], bl
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp eax, 0xae3ce8c
jb 0x1009368d
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x3c]
mov bl, byte [ebp - 0x161]
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x5c]
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.10089840
add esp, 0x18
jmp 0x1009331b
mov ecx, dword [ebp - 0xa4]
call fcn.10006100
mov ecx, dword [ebp - 0xb0]
call fcn.10006100
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 - 0x174], ecx
push eax
mov edi, esp
push eax
mov edx, esp
push eax
mov ecx, esp
mov dword [ebp - 0x170], ecx
mov ecx, dword [ebp - 0x3c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x174]
mov al, byte [ebp - 0x31]
and al, 1
mov byte [ebx], al
mov eax, dword [ebp - 0x170]
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 0x10091868
jmp 0x10091aca
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
mov dl, byte [ebp - 0xd4]
and dl, 1
movzx edx, dl
mov dword [ecx], edx
mov ecx, dword [eax]
call fcn.1004c730
jmp 0x10091b07
mov eax, dword [ebp - 0xc8]
lea ecx, [0x1025dc19]
mov dword [eax], ecx
jmp 0x10091bd9
mov eax, dword [ebp - 0xc8]
lea ecx, [0x1025dc16]
mov dword [eax], ecx
jmp 0x10091c74
jmp 0x10091d4d
jmp 0x10091e5b
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax]
mov ecx, edx
and ecx, 2
or edx, 2
add ecx, edx
mov dword [eax], ecx
jmp 0x10091ece
jmp 0x10091f30
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax]
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10206820
mov ecx, dword [ebp - 0xc4]
add esp, 8
mov edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [ecx], edx
mov cx, word [0x1022cae3]
mov word [eax], cx
call fcn.1020628a
mov ecx, dword [ebp - 0x54]
mov edx, eax
mov eax, dword [ebp - 0xc0]
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.10206820
mov edx, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd0]
add esp, 8
mov esi, eax
mov eax, dword [ebp - 0xb4]
mov dword [edx], esi
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003ed50
jmp 0x10091f87
mov eax, dword [ebp - 0xa8]
mov ecx, dword [ebp - 0xd0]
mov ecx, dword [ecx]
sub esp, 4
mov dword [esp], eax
call fcn.1003ed50
jmp 0x100921e8
mov ecx, dword [ebp - 0xa8]
call fcn.100284c0
mov ecx, dword [ebp - 0x104]
mov eax, dword [ebp - 0xac]
mov dword [eax], ecx
jmp 0x100922dd
jmp 0x10092341
mov eax, dword [ebp - 0xa0]
mov cl, byte [ebp - 0x105]
mov byte [eax], cl
jmp 0x100923a8
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xbc]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100887b0
mov cl, byte [ebp - 0x107]
mov byte [eax], cl
jmp 0x10092463
jmp 0x100925cf
mov ecx, dword [ebp - 0xa4]
mov eax, dword [ebp - 0x9c]
mov edx, dword [ebp - 0x11c]
mov dword [eax], edx
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100662d0
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [eax], ecx
jmp 0x10092673
jmp 0x10092761
jmp 0x10092839
mov eax, dword [ebp - 0x98]
mov ecx, dword [eax]
add ecx, 1
mov dword [eax], ecx
jmp 0x1009290f
jmp 0x1009299b
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
call fcn.100827d0
jmp 0x10092a09
mov eax, dword [ebp - 0x94]
mov dword [eax], 0
jmp 0x10092a63
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
call fcn.100827d0
mov ecx, eax
mov eax, dword [ebp - 0x94]
mov edx, dword [ebp - 0x4c]
sub ecx, dword [edx]
mov dword [eax], ecx
jmp 0x10092a74
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
call fcn.1004c730
mov ecx, eax
mov eax, dword [ebp - 0x90]
and ecx, 0x1c0
mov dword [eax], ecx
jmp 0x10092b1b
mov eax, dword [ebp - 0x88]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10092c04
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0x84]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10092df8
jmp 0x10092e9a
mov ecx, dword [ebp - 0xb0]
xor eax, eax
sub esp, 4
mov dword [esp], 0
call fcn.100887b0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x78]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10092ed7
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x20]
mov edx, dword [ebp - 0x74]
mov esi, dword [edx]
mov dword [ecx], esi
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov dword [eax], 0
jmp 0x10092ff0
mov ecx, dword [ebp - 0xb0]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.100887b0
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x60]
mov edx, dword [ecx]
mov dword [eax], edx
mov ecx, dword [ecx + 4]
mov dword [eax + 4], ecx
jmp 0x10093137
mov ecx, dword [ebp - 0x20]
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0x64]
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.100830d0
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
jmp 0x10093230