Function at 0x1005a210
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0xd4
mov dword [ebp - 0x2c], ecx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp + 0xc]
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], 0x10063740
mov ecx, dword fs:[0]
mov dword [ebp - 0x18], ecx
mov dword fs:[0], eax
mov eax, dword [0x10284aac]
mov edx, dword [0x10284ab0]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
xor eax, 0xb040bdd1
and eax, 0x72d28db
xor eax, 0xffffffff
or eax, 0xbef6bd21
xor eax, 0xffffffff
cmp eax, 0x4a371901
jae 0x1005ad42
mov esi, dword [ebp - 0x28]
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebp - 0x30], eax
push eax
mov eax, esp
mov dword [ebp - 0x4c], eax
push eax
mov ecx, esp
push eax
mov eax, esp
mov dword [ebp - 0x44], eax
push eax
mov eax, esp
mov dword [ebp - 0x3c], eax
push eax
mov eax, esp
mov dword [ebp - 0x40], eax
push eax
mov edi, esp
mov dword [ebp - 0x78], edi
push eax
mov ebx, esp
mov dword [ebp - 0x74], ebx
push eax
mov eax, esp
mov dword [ebp - 0x48], eax
push eax
mov eax, esp
mov dword [ebp - 0x38], eax
push eax
mov eax, esp
mov dword [ebp - 0x70], eax
push eax
mov eax, esp
mov dword [ebp - 0x6c], eax
push eax
mov eax, esp
mov dword [ebp - 0x68], eax
push eax
mov eax, esp
mov dword [ebp - 0x64], eax
push eax
mov eax, esp
mov dword [ebp - 0x60], eax
push eax
mov eax, esp
mov dword [ebp - 0x5c], eax
push eax
mov eax, esp
mov dword [ebp - 0x58], eax
push eax
mov eax, esp
mov dword [ebp - 0x54], eax
push eax
mov eax, esp
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x20]
mov dword [edx], eax
mov eax, dword [ebp - 0x30]
mov dword [eax], esi
mov esi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x4c]
mov dword [eax], esi
mov esi, dword [ebp - 0x48]
mov eax, dword [ebp - 0x2c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x44]
mov ecx, dword [ecx]
mov dword [ebp - 0x34], ecx
mov edx, dword [edx]
mov dword [eax], edx
call fcn.100578d0
mov edx, dword [ebp - 0x40]
mov ecx, eax
mov eax, dword [ebp - 0x3c]
mov dword [eax], ecx
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x34]
mov dword [edx], eax
mov eax, dword [edx]
add eax, 4
mov dword [edi], eax
mov eax, dword [edx]
mov eax, dword [eax]
mov dword [ebx], eax
mov eax, dword [ebp - 0x30]
mov edi, dword [edi]
mov edi, dword [edi]
mov dword [esi], edi
mov edx, dword [edx]
mov edx, dword [edx + 8]
mov esi, dword [esi]
xor esi, 0xffffffff
add edx, esi
add edx, 1
mov dword [ecx], edx
cmp dword [eax], 0
jne 0x1005a3f2
mov ecx, dword [0x10284abc]
mov edx, dword [0x10284ac0]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
imul eax, eax, 0x5051b582
imul eax, eax, 0x9d9eeb50
mov ecx, eax
and ecx, 0xdd71bd68
shl ecx, 1
xor eax, 0xdd71bd68
add eax, ecx
cmp eax, 0x27b9faed
jbe 0x1005ae01
mov ecx, dword [0x10284ac4]
mov edx, dword [0x10284ac8]
mov eax, ecx
xor eax, 0xffffffff
mov esi, edx
xor esi, 0xffffffff
and eax, esi
xor ecx, 0xffffffff
xor edx, 0xffffffff
and ecx, edx
or eax, ecx
xor eax, 0xffffffff
imul eax, eax, 0x8a3791d9
sub eax, 0x699aa413
or eax, 0x18f9ec62
cmp eax, 0x93237a9d
jbe 0x1005ae01
jmp 0x1005ad2f
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov eax, dword [eax]
cmp eax, dword [ecx]
jbe 0x1005a8b8
mov eax, dword [0x10284acc]
or eax, dword [0x10284ad0]
imul eax, eax, 0x841a6f67
and eax, 0x46184d17
add eax, 0xc5ca03a1
cmp eax, 0xf681843
jb 0x1005ae06
mov esi, dword [ebp - 0x70]
mov ecx, dword [ebp - 0x34]
mov edi, dword [ebp - 0x74]
mov eax, dword [0x10284ad4]
add eax, dword [0x10284ad8]
imul eax, eax, 0x1efde2d1
mov ebx, 0xca7c40f6
xor edx, edx
div ebx
mov edx, dword [ebp - 0x48]
mov ebx, eax
mov eax, dword [ebp - 0x30]
xor ebx, 0x1915cd3b
mov dword [ebp - 0x80], ebx
mov edx, dword [edx]
mov edi, dword [edi]
sub edx, edi
mov dword [esi], edx
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
call fcn.100583b0
mov ecx, dword [ebp - 0x84]
mov edx, eax
mov eax, dword [ebp - 0x80]
mov esi, dword [esi]
sub edx, 0xcf1b21c6
sub edx, esi
add edx, 0xcf1b21c6
cmp ecx, edx
seta cl
mov byte [ebp - 0x79], cl
cmp eax, 0x98cbf00e
jae 0x1005a428
mov al, byte [ebp - 0x79]
test al, 1
jne 0x1005a4af
jmp 0x1005a4bb
mov dword [ebp - 0x10], 0xffffffff
call fcn.10058410
mov ecx, dword [0x10284adc]
mov edx, dword [0x10284ae0]
mov eax, ecx
and eax, edx
or ecx, edx
add eax, ecx
imul eax, eax, 0xf15e4676
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x2c1f1bae
and eax, 0xd3e0e451
sub eax, ecx
and eax, 0xb48417a4
mov dword [ebp - 0x10], 0xffffffff
cmp eax, 0x9399b47f
jae 0x1005ae24
mov edi, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
mov ebx, dword [ebp - 0x3c]
mov eax, dword [0x10284ae4]
mov edx, dword [0x10284ae8]
mov ecx, eax
xor ecx, edx
xor edx, 0xffffffff
and eax, edx
shl eax, 1
sub eax, ecx
mov ecx, 0x82d2d36a
xor edx, edx
div ecx
mov edx, dword [ebp - 0x70]
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x44ffc718
and eax, 0xbb0038e7
or ecx, eax
mov eax, ecx
xor eax, 0x9d374654
and eax, ecx
mov ecx, dword [ebp - 0x34]
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x30]
mov edx, dword [edx]
add edx, dword [eax]
mov eax, dword [ebp - 0x6c]
mov dword [eax], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1005b5f0
mov ecx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], ecx
mov ecx, dword [ebx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10058b30
mov edx, dword [ebp - 0x74]
add esp, 8
mov ecx, eax
mov eax, dword [ebp - 0x98]
mov dword [esi], ecx
mov ecx, dword [ebp - 0x44]
mov ecx, dword [ecx]
mov edx, dword [edx]
sub ecx, edx
mov edx, dword [ebp - 0x30]
mov dword [edi], ecx
mov ecx, dword [esi]
add ecx, dword [edi]
add ecx, dword [edx]
mov edx, dword [ebp - 0x5c]
mov dword [edx], ecx
mov ecx, dword [ebp - 0x58]
mov edx, dword [edx]
mov dword [ecx], edx
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
mov ebx, dword [ebx]
mov dword [ebp - 0x94], ebx
mov esi, dword [esi]
add esi, dword [edi]
mov dword [ebp - 0x90], esi
mov edx, dword [edx]
mov dword [ebp - 0x8c], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x88], ecx
cmp eax, 0x4620cadd
jae 0x1005a4fe
mov ecx, dword [ebp - 0x88]
mov edx, dword [ebp - 0x8c]
mov esi, dword [ebp - 0x90]
mov edi, dword [ebp - 0x94]
mov dword [ebp - 0x10], 0
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005bb80
add esp, 0x10
jmp 0x1005a61f
mov eax, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x60]
mov edx, dword [ebp - 0x64]
mov edx, dword [edx]
add edx, dword [esi]
mov dword [ecx], edx
cmp dword [eax], 1
jne 0x1005a6f3
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
cmp eax, dword [ecx]
jne 0x1005a6f3
mov ecx, dword [0x10284aec]
add ecx, dword [0x10284af0]
mov eax, ecx
and eax, 0x6a53bfef
xor ecx, 0x6a53bfef
or eax, ecx
and eax, 0x7c2bb3d
add eax, 0x7a4a0e0b
cmp eax, 0x7d77d5d5
jbe 0x1005ae8e
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x3c]
mov edi, dword [esi]
mov esi, dword [edx]
mov edx, dword [ecx]
mov ecx, dword [eax]
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005be10
add esp, 0x10
jmp 0x1005a6ab
jmp 0x1005a6b0
mov eax, dword [0x10284b04]
and eax, dword [0x10284b08]
mov ecx, eax
and ecx, 0xc4684b4d
shl ecx, 1
xor eax, 0xc4684b4d
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0xde3928c5
and eax, 0x21c6d73a
sub eax, ecx
sub eax, 0x6fa705e0
cmp eax, 0x6976cac4
jb 0x1005a6b0
jmp 0x1005a819
mov eax, dword [ebp - 0x74]
mov ecx, dword [ebp - 0x44]
mov edx, dword [ebp - 0x64]
mov esi, dword [ebp - 0x3c]
mov edi, dword [esi]
mov esi, dword [edx]
mov edx, dword [ecx]
mov ecx, dword [eax]
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005be10
add esp, 0x10
jmp 0x1005a724
mov eax, dword [0x10284b0c]
mov esi, dword [0x10284b10]
mov edi, esi
xor edi, 0xffffffff
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
or eax, 0x31825261
mov ecx, 0xe4e0fd8c
xor edx, edx
div ecx
sub eax, 0x3b664d29
sub eax, 0xfdf06684
add eax, 0x3b664d29
cmp eax, 0x3a56e4fb
jae 0x1005ae93
mov edi, dword [ebp - 0x30]
mov ebx, dword [ebp - 0x60]
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x58]
mov eax, dword [0x10284b14]
sub eax, dword [0x10284b18]
and eax, 0x711a0e4c
or eax, 0xda19cd9b
imul eax, eax, 0xcda4305e
mov edx, dword [esi]
mov dword [ecx], edx
mov edx, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x3c]
mov ecx, dword [ecx]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebp - 0x44]
mov esi, dword [esi]
add esi, dword [ebx]
add esi, dword [edi]
mov dword [ebp - 0xa4], esi
mov edx, dword [edx]
mov dword [ebp - 0xa0], edx
mov ecx, dword [ecx]
mov dword [ebp - 0x9c], ecx
cmp eax, 0x67ef970c
jb 0x1005a775
mov ecx, dword [ebp - 0x9c]
mov edx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0xa4]
mov edi, dword [ebp - 0xa8]
mov dword [ebp - 0x10], 0
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005be10
add esp, 0x10
jmp 0x1005a814
jmp 0x1005a819
mov ecx, dword [0x10284b2c]
add ecx, dword [0x10284b30]
or ecx, 0xfe6a4c79
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x754c3a3
and ecx, 0xf8ab3c5c
or eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x513443ba
and eax, 0xaecbbc45
sub eax, ecx
cmp eax, 0x61e8f252
jbe 0x1005aea2
mov ecx, dword [0x10284b3c]
sub ecx, dword [0x10284b40]
mov eax, ecx
xor eax, 0xf7ecdc86
and eax, ecx
add eax, 0xeaffe262
sub eax, 0xb2ba0ae1
add eax, 0x73aed9b3
add eax, 0xb2ba0ae1
cmp eax, 0xf960e039
je 0x1005aea7
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [edx]
mov esi, dword [esi]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.1005c0c0
jmp 0x1005ac7f
mov eax, dword [0x10284b4c]
mov edx, dword [0x10284b50]
mov ecx, eax
xor ecx, edx
xor ecx, 0xffffffff
or eax, edx
and eax, ecx
add eax, 0xb27eba33
add eax, 0x941c0d3a
xor eax, 0x3a8470b8
cmp eax, 0xa69c545b
je 0x1005aed1
mov edx, dword [ebp - 0x54]
mov edi, dword [ebp - 0x44]
mov esi, dword [ebp - 0x48]
mov eax, dword [0x10284b54]
add eax, dword [0x10284b58]
and eax, 0xefd59a18
mov ecx, eax
and ecx, 0x803e2ee7
mov ebx, eax
or ebx, 0x803e2ee7
xor ebx, 0xffffffff
imul ebx, ecx
mov ecx, eax
and ecx, 0x7fc1d118
or eax, 0x7fc1d118
imul eax, ecx
mov ecx, dword [ebp - 0x30]
add eax, ebx
add eax, 0xeb5ecc95
mov esi, dword [esi]
mov edi, dword [edi]
sub esi, edi
mov dword [edx], esi
mov ecx, dword [ecx]
cmp ecx, dword [edx]
setb cl
mov byte [ebp - 0xa9], cl
cmp eax, 0x3390048c
jbe 0x1005aed1
mov al, byte [ebp - 0xa9]
test al, 1
jne 0x1005a964
jmp 0x1005ab4a
mov eax, dword [0x10284b5c]
or eax, dword [0x10284b60]
add eax, 0xb5f134f4
add eax, 0x142296fc
mov edx, eax
and edx, 0x262f1e0e
mov ecx, eax
or ecx, 0x262f1e0e
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, 0xd9d0e1f1
or eax, 0xd9d0e1f1
imul eax, edx
add eax, ecx
mov dword [ebp - 0x10], 0xffffffff
cmp eax, 0xee136f86
jae 0x1005aee7
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov esi, dword [ebp - 0x48]
mov ecx, dword [0x10284b64]
and ecx, dword [0x10284b68]
sub ecx, 0x73d3f07a
mov edx, ecx
xor edx, 0xf665573e
xor edx, 0xffffffff
or ecx, 0xf665573e
and ecx, edx
mov edx, ecx
add edx, 1
xor ecx, 0xffffffff
or ecx, 0x37114a30
add ecx, edx
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax]
mov ecx, dword [esi]
mov edx, dword [esi]
mov esi, dword [esi]
xor edi, edi
sub edi, dword [ebx]
add esi, edi
mov edi, dword [ebp - 0x3c]
sub esp, 0x10
mov dword [esp], esi
mov esi, dword [ebp - 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.1005be10
mov ecx, dword [ebp - 0x48]
add esp, 0x10
mov edx, eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [eax], edx
mov eax, dword [ecx]
mov ecx, dword [ecx]
xor edx, edx
sub edx, dword [ebx]
add ecx, edx
mov edx, dword [esi]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1005c340
mov edx, dword [ebp - 0x30]
add esp, 0xc
mov eax, dword [edi]
mov ecx, dword [esi]
add ecx, dword [edx]
mov edx, dword [esi]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100592f0
mov edx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0xc0]
add esp, 0xc
mov edi, dword [edi]
mov dword [ebp - 0xbc], edi
mov esi, dword [esi]
mov dword [ebp - 0xb8], esi
mov edx, dword [edx]
mov dword [ebp - 0xb4], edx
mov ecx, dword [ecx]
mov dword [ebp - 0xb0], ecx
cmp eax, 0x8e7a7357
ja 0x1005aee7
mov ecx, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xb4]
mov esi, dword [ebp - 0xb8]
mov edi, dword [ebp - 0xbc]
mov dword [ebp - 0x10], 2
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005bb80
add esp, 0x10
jmp 0x1005aae7
mov eax, dword [0x10284b84]
sub eax, dword [0x10284b88]
mov ecx, 0x9a35dbe4
xor edx, edx
div ecx
add eax, 0xde76d8fb
add eax, 0xde022fcb
cmp eax, 0x6b703aa6
jbe 0x1005aae7
mov ecx, dword [0x10284b94]
add ecx, dword [0x10284b98]
and ecx, 0x8c4f31dc
sub ecx, 0x3d4dc587
mov eax, ecx
xor eax, 0xffffffff
and eax, 0x3716d993
and ecx, 0xc8e9266c
or eax, ecx
cmp eax, 0x8435fb05
jbe 0x1005ab10
jmp 0x1005ac1d
mov dword [ebp - 0x10], 0xffffffff
mov ebx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x44]
mov esi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x50]
mov edi, dword [eax]
mov ebx, dword [ebx]
add edi, ebx
mov dword [edx], edi
mov ebx, dword [esi]
mov edi, dword [edx]
mov edx, dword [ecx]
mov ecx, dword [eax]
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], ebx
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005be10
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x48]
add esp, 0x10
mov edi, eax
mov eax, dword [ebp - 0x44]
mov edx, dword [edx]
mov dword [edx], edi
mov edi, dword [esi]
mov edx, dword [ecx]
mov ecx, dword [eax]
sub esp, 0xc
mov eax, esp
mov dword [eax + 8], edi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.100592f0
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
add esp, 0xc
mov edi, dword [esi]
mov esi, dword [edx]
mov edx, dword [ecx]
mov ecx, dword [eax]
mov dword [ebp - 0x10], 6
sub esp, 0x10
mov eax, esp
mov dword [eax + 0xc], edi
mov dword [eax + 8], esi
mov dword [eax + 4], edx
mov dword [eax], ecx
call fcn.1005bb80
add esp, 0x10
jmp 0x1005abe7
mov eax, dword [0x10284bb4]
xor edx, edx
div dword [0x10284bb8]
sub eax, 0xc05fe1b7
sub eax, 0x69cbc3b0
add eax, 0xc05fe1b7
sub eax, 0x7a07c8e5
add eax, 0x5ebec737
cmp eax, 0x4946dc0a
je 0x1005af84
jmp 0x1005ac1d
mov ecx, dword [ebp - 0x34]
mov edx, dword [ebp - 0x44]
mov eax, dword [ebp - 0x48]
mov esi, dword [0x10284bc4]
add esi, dword [0x10284bc8]
and esi, 0xaa1552c9
xor esi, 0xf0ed9b29
sub esi, 0x176e47dc
add esi, 0x807ed644
add esi, 0x176e47dc
mov dword [ebp - 0xc4], esi
mov eax, dword [eax]
mov edx, dword [edx]
sub esp, 8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.1005c4e0
mov eax, dword [ebp - 0xc4]
cmp eax, 0x744ec32
jbe 0x1005ac1d
jmp 0x1005ac7f
mov eax, dword [0x10284bcc]
xor eax, dword [0x10284bd0]
mov ecx, eax
xor ecx, 0x2ec62bd0
and eax, 0xd139d42f
shl eax, 1
sub eax, ecx
mov ecx, 0x7031fb92
xor edx, edx
div ecx
mov ecx, eax
and ecx, 0x2f99d20f
shl ecx, 1
add eax, 0x2f99d20f
sub eax, ecx
cmp eax, 0xd247090
jbe 0x1005af89
mov eax, dword [0x10284bd4]
mov esi, dword [0x10284bd8]
mov edi, esi
xor edi, 0xffffffff
mov edx, eax
and edx, edi
mov ecx, eax
or ecx, edi
xor ecx, 0xffffffff
imul ecx, edx
mov edx, eax
and edx, esi
or eax, esi
imul eax, edx
add eax, ecx
mov ecx, 0xebb37a23
xor edx, edx
div ecx
mov edx, eax
xor edx, 0xffffffff
and edx, 0xaa3e5ffc
mov ecx, eax
and ecx, 0x55c1a003
imul ecx, edx
mov edx, eax
and edx, 0xaa3e5ffc
or eax, 0xaa3e5ffc
imul eax, edx
add eax, ecx
or eax, 0x45a4178a
cmp eax, 0x6cdd0324
ja 0x1005acc0
jmp 0x1005ad2f
mov eax, dword [ebp - 0x18]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
push eax
mov ecx, esp
mov dword [ebp - 0xdc], ecx
push eax
mov eax, esp
mov dword [ebp - 0xe0], eax
push eax
mov ebx, esp
push eax
mov edx, esp
push eax
mov eax, esp
mov dword [ebp - 0xd8], eax
push eax
mov eax, esp
mov dword [ebp - 0xd0], eax
push eax
mov eax, esp
mov dword [ebp - 0xcc], eax
push eax
mov esi, esp
push eax
mov edi, esp
push eax
mov eax, esp
mov dword [ebp - 0xd4], eax
push eax
mov eax, esp
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x20]
mov dword [ecx], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x28]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0x24]
mov dword [ebx], eax
mov eax, dword [ebp - 0xd8]
mov ebx, dword [ebp - 0x2c]
mov dword [edx], ebx
mov ebx, dword [edx]
mov ecx, dword [ecx]
mov dword [eax], ecx
mov ecx, ebx
call fcn.100578d0
mov edx, dword [ebp - 0xd4]
mov ecx, eax
mov eax, dword [ebp - 0xd0]
mov dword [eax], ecx
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov dword [ecx], ebx
mov ebx, dword [ecx]
add ebx, 4
mov dword [esi], ebx
mov ebx, dword [ecx]
mov ebx, dword [ebx]
mov dword [edi], ebx
mov esi, dword [esi]
mov esi, dword [esi]
mov dword [edx], esi
mov ecx, dword [ecx]
mov ecx, dword [ecx + 8]
mov edx, dword [edx]
sub ecx, edx
mov dword [eax], ecx
jmp 0x1005a28f
jmp 0x1005a3ad
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x70]
mov esi, dword [ebp - 0x74]
mov edx, dword [ebp - 0x48]
mov edx, dword [edx]
mov esi, dword [esi]
sub edx, esi
mov dword [eax], edx
call fcn.100583b0
jmp 0x1005a428
mov esi, dword [ebp - 0x30]
mov edi, dword [ebp - 0x60]
mov ebx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x70]
mov edx, dword [edx]
add edx, dword [esi]
mov dword [eax], edx
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.1005b5f0
mov ecx, dword [ebp - 0x3c]
mov edx, eax
mov eax, dword [ebp - 0x68]
mov dword [eax], edx
mov ecx, dword [ecx]
sub esp, 8
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.10058b30
mov edx, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x5c]
add esp, 8
mov dword [edx], eax
mov eax, dword [ebp - 0x74]
mov ebx, dword [ebx]
mov eax, dword [eax]
sub ebx, eax
mov eax, dword [ebp - 0x58]
mov dword [edi], ebx
mov edx, dword [edx]
add edx, dword [edi]
add edx, dword [esi]
mov dword [ecx], edx
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x1005a4fe
jmp 0x1005a67a
mov eax, dword [ebp - 0x58]
mov ecx, dword [ebp - 0x64]
mov ecx, dword [ecx]
mov dword [eax], ecx
jmp 0x1005a775
jmp 0x1005a85a
mov ecx, dword [ebp - 0x34]
mov esi, dword [ebp - 0x64]
mov edx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x68]
mov eax, dword [eax]
mov edx, dword [edx]
mov esi, dword [esi]
sub esp, 0xc
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.1005c0c0
jmp 0x1005a88e
mov eax, dword [ebp - 0x54]
mov edx, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x48]
mov ecx, dword [ecx]
mov edx, dword [edx]
sub ecx, edx
mov dword [eax], ecx
jmp 0x1005a8e8
mov esi, dword [ebp - 0x30]
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp - 0x48]
mov eax, dword [eax]
mov ecx, dword [edi]
mov edx, dword [edi]
mov edi, dword [edi]
mov esi, dword [esi]
mov ebx, 0xfc2eaf77
sub ebx, esi
mov esi, dword [ebp - 0x30]
sub ebx, 0xfc2eaf77
add edi, ebx
sub esp, 0x10
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.1005be10
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x44]
add esp, 0x10
mov edi, eax
mov eax, dword [ebp - 0x78]
mov eax, dword [eax]
mov dword [eax], edi
mov eax, dword [ecx]
mov ecx, dword [ecx]
mov edi, dword [esi]
xor edi, 0xffffffff
add edi, 1
add ecx, edi
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.1005c340
mov edx, dword [ebp - 0x44]
add esp, 0xc
mov eax, dword [ebp - 0x3c]
mov eax, dword [eax]
mov ecx, dword [edx]
add ecx, dword [esi]
mov edx, dword [edx]
sub esp, 0xc
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.100592f0
add esp, 0xc
jmp 0x1005a9b3
jmp 0x1005abe7
jmp 0x1005acc0