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

Disassembly:
sub esp, 0x88
push ebx
push ebp
push esi
push edi
mov edx, dword [esp + 0x9c]
lea ebx, [edx + 8]
mov ecx, dword [edx]
mov eax, dword [edx + 4]
bswap ecx
mov dword [edx + 4], ecx
mov ecx, dword [ebx]
bswap eax
bswap ecx
mov dword [edx], eax
mov eax, dword [edx + 0xc]
mov dword [edx + 0xc], ecx
mov ecx, dword [edx + 0x10]
bswap eax
bswap ecx
mov dword [ebx], eax
mov eax, dword [edx + 0x14]
mov dword [edx + 0x14], ecx
mov ecx, dword [edx + 0x18]
bswap eax
bswap ecx
mov dword [edx + 0x10], eax
mov eax, dword [edx + 0x1c]
mov dword [edx + 0x1c], ecx
mov ecx, dword [edx + 0x20]
bswap eax
bswap ecx
mov dword [edx + 0x18], eax
mov eax, dword [edx + 0x24]
mov dword [edx + 0x24], ecx
mov ecx, dword [edx + 0x28]
bswap eax
bswap ecx
mov dword [edx + 0x20], eax
mov eax, dword [edx + 0x2c]
mov dword [edx + 0x2c], ecx
mov ecx, dword [edx + 0x30]
bswap eax
bswap ecx
mov dword [edx + 0x28], eax
mov eax, dword [edx + 0x34]
mov dword [edx + 0x34], ecx
mov ecx, dword [edx + 0x38]
bswap eax
bswap ecx
mov dword [edx + 0x30], eax
mov eax, dword [edx + 0x3c]
mov dword [edx + 0x3c], ecx
mov ecx, dword [edx + 0x40]
bswap eax
bswap ecx
mov dword [edx + 0x38], eax
mov eax, dword [edx + 0x44]
mov dword [edx + 0x44], ecx
mov ecx, dword [edx + 0x48]
bswap eax
bswap ecx
mov dword [edx + 0x40], eax
mov eax, dword [edx + 0x4c]
mov dword [edx + 0x4c], ecx
mov ecx, dword [edx + 0x50]
bswap eax
bswap ecx
mov dword [edx + 0x48], eax
mov eax, dword [edx + 0x54]
mov dword [edx + 0x54], ecx
mov ecx, dword [edx + 0x58]
bswap eax
bswap ecx
mov dword [edx + 0x50], eax
mov eax, dword [edx + 0x5c]
mov dword [edx + 0x5c], ecx
mov ecx, dword [edx + 0x60]
bswap eax
mov dword [esp + 0x5c], ebx
mov dword [edx + 0x58], eax
bswap ecx
mov eax, dword [edx + 0x64]
mov edi, ebx
bswap eax
mov dword [edx + 0x60], eax
mov ebx, 0x40
mov eax, dword [edx + 0x6c]
mov dword [edx + 0x64], ecx
mov ecx, dword [edx + 0x68]
bswap ecx
bswap eax
mov dword [edx + 0x68], eax
mov eax, dword [edx + 0x74]
mov dword [edx + 0x6c], ecx
mov ecx, dword [edx + 0x70]
bswap ecx
bswap eax
mov dword [edx + 0x70], eax
mov eax, dword [edx + 0x7c]
mov dword [edx + 0x74], ecx
mov ecx, dword [edx + 0x78]
bswap ecx
bswap eax
mov dword [edx + 0x78], eax
mov dword [edx + 0x7c], ecx
jmp 0x10007520
mov ebp, dword [edi + 0x6c]
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov eax, ebp
mov ecx, dword [edi + 0x68]
mov edx, ebp
shr ecx, 0x13
shl eax, 0xd
or eax, ecx
shl edx, 0x1a
mov ecx, dword [edi + 0x68]
shr ecx, 6
or edx, ecx
mov ecx, dword [edi + 0x68]
xor eax, edx
shl ecx, 3
mov edx, ebp
shr edx, 0x1d
or edx, ecx
xor eax, edx
add eax, dword [edi + 0x40]
cmp eax, dword [edi + 0x40]
jae 0x10007564
mov dword [esp + 0x10], 1
mov edx, dword [edi + 4]
mov esi, edx
mov ecx, dword [edi]
shr ecx, 8
shl esi, 0x18
or esi, ecx
shl edx, 0x19
mov ecx, dword [edi]
shr ecx, 7
or edx, ecx
mov ecx, dword [edi]
xor esi, edx
shr ecx, 1
mov edx, dword [edi + 4]
shl edx, 0x1f
or edx, ecx
xor esi, edx
mov edx, dword [esp + 0x10]
add eax, esi
cmp eax, esi
jae 0x1000759c
inc edx
mov dword [esp + 0x10], edx
add eax, dword [edi - 8]
cmp eax, dword [edi - 8]
jae 0x100075a9
inc edx
mov dword [esp + 0x10], edx
mov ecx, dword [edi + 4]
mov edx, ecx
mov esi, dword [edi]
mov dword [edi + 0x78], eax
mov eax, esi
shl eax, 0x1f
shr edx, 1
or edx, eax
shl esi, 0x18
mov eax, ecx
shr ecx, 7
shr eax, 8
or eax, esi
mov esi, dword [edi + 0x68]
xor edx, eax
mov eax, esi
xor edx, ecx
shr eax, 0x1d
lea ecx, [ebp*8]
shl esi, 0xd
or ecx, eax
mov eax, ebp
shr eax, 0x13
or eax, esi
shr ebp, 6
xor ecx, eax
xor ecx, ebp
add edx, ecx
add edx, dword [edi + 0x44]
add edx, dword [edi - 4]
add edx, dword [esp + 0x10]
mov dword [edi + 0x7c], edx
add edi, 8
dec ebx
jne 0x10007520
mov esi, dword [esp + 0x9c]
mov ebx, dword [esp + 0x5c]
mov dword [esp + 0x54], 0x10049944
mov edx, dword [esi + 0x2b4]
mov dword [esp + 0x20], edx
mov edx, dword [esi + 0x2b8]
mov dword [esp + 0x28], edx
mov edx, dword [esi + 0x2bc]
mov dword [esp + 0x14], edx
mov edx, 0x10049940
sub edx, esi
mov eax, dword [esi + 0x280]
mov dword [esp + 0x68], edx
mov edx, 0x10049944
sub edx, esi
mov ecx, dword [esi + 0x2a8]
mov dword [esp + 0x60], edx
mov edx, 0x10049948
sub edx, esi
mov edi, dword [esi + 0x288]
mov dword [esp + 0x80], edx
mov edx, 0x1004994c
sub edx, esi
mov ebp, dword [esi + 0x2a0]
mov dword [esp + 0x70], edx
mov edx, 0x10049950
sub edx, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x90], edx
mov edx, 0x10049954
sub edx, esi
mov eax, dword [esi + 0x284]
mov dword [esp + 0x78], edx
mov edx, 0x10049958
sub edx, esi
mov dword [esp + 0x24], eax
mov eax, dword [esi + 0x28c]
mov dword [esp + 0x88], edx
mov edx, 0x1004995c
sub edx, esi
mov dword [esp + 0x44], eax
mov eax, dword [esi + 0x290]
mov dword [esp + 0x64], edx
mov edx, 0x10049960
sub edx, esi
mov dword [esp + 0x38], eax
mov eax, dword [esi + 0x294]
mov dword [esp + 0x6c], edx
mov edx, 0x10049964
sub edx, esi
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x298]
mov dword [esp + 0x74], edx
mov edx, 0x10049968
sub edx, esi
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0x29c]
mov dword [esp + 0x7c], edx
mov edx, 0x1004996c
sub edx, esi
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 0x2a4]
mov dword [esp + 0x84], edx
mov edx, 0x10049970
sub edx, esi
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 0x2ac]
mov dword [esp + 0x8c], edx
mov edx, 0x10049974
mov dword [esp + 0x2c], eax
sub edx, esi
mov eax, dword [esi + 0x2b0]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x94], edx
jmp 0x10007765
mov eax, dword [esp + 0x3c]
and ecx, ebp
mov edx, ebp
not edx
and edx, eax
mov eax, ebp
xor edx, ecx
shl eax, 0x17
mov ecx, dword [esp + 0x4c]
mov esi, ecx
shr esi, 9
or esi, eax
shl ecx, 0xe
mov eax, ebp
shr eax, 0x12
or ecx, eax
mov eax, ebp
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x4c]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x54]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [eax - 4]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x100077b9
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx - 8]
cmp esi, dword [ebx - 8]
jae 0x100077c6
inc ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x28]
add eax, esi
mov dword [esp + 0x28], eax
cmp eax, esi
jae 0x100077d9
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x4c]
mov eax, ebp
shl eax, 0x12
mov edx, esi
shr edx, 0xe
mov ecx, esi
or edx, eax
shr ecx, 0x12
mov eax, ebp
shl eax, 0xe
or ecx, eax
mov eax, ebp
xor edx, ecx
shr eax, 9
mov ecx, esi
shl ecx, 0x17
or ecx, eax
mov eax, dword [esp + 0x2c]
xor edx, ecx
and eax, esi
mov ecx, esi
mov esi, dword [esp + 0x14]
not ecx
and ecx, dword [esp + 0x20]
xor ecx, eax
mov eax, dword [esp + 0x54]
add edx, ecx
mov ecx, dword [esp + 0x48]
add edx, dword [ebx - 4]
add edx, dword [eax]
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
add esi, edx
add eax, dword [esp + 0x28]
cmp eax, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x30], eax
sbb eax, eax
neg eax
mov dword [esp + 0x14], esi
add eax, esi
shl edx, 4
add dword [esp + 0x1c], eax
mov esi, edi
xor esi, ecx
mov eax, edi
and esi, dword [esp + 0x38]
and eax, ecx
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shr eax, 0x1c
or edx, eax
shr ecx, 2
mov eax, dword [esp + 0x48]
shl eax, 0x1e
or ecx, eax
mov eax, dword [esp + 0x48]
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x24]
shr ecx, 7
or ecx, eax
mov eax, dword [esp + 0x28]
xor edx, ecx
add edx, esi
cmp edx, esi
sbb ecx, ecx
add eax, edx
neg ecx
mov dword [esp + 0x28], eax
mov dword [esp + 0x34], ecx
cmp eax, edx
jae 0x100078ab
inc ecx
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x48]
mov eax, esi
mov ecx, dword [esp + 0x24]
mov edx, ecx
shr eax, 7
shl ecx, 0x1e
shl edx, 0x19
or edx, eax
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x24]
shr ecx, 0x1c
or ecx, eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
xor edx, ecx
add edx, dword [esp + 0x34]
mov ecx, eax
xor ecx, dword [esp + 0x24]
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x24]
xor ecx, eax
shr esi, 9
add ecx, edx
add dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x30]
mov edx, ecx
mov eax, ecx
not edx
and edx, dword [esp + 0x40]
and eax, ebp
xor edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x1c]
shl eax, 0x17
or esi, eax
shl ecx, 0xe
mov eax, dword [esp + 0x30]
shr eax, 0x12
or ecx, eax
mov eax, dword [esp + 0x30]
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x1c]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x68]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [ebx + eax]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x1000795b
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx]
cmp esi, dword [ebx]
jae 0x10007966
inc ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x3c]
add eax, esi
mov dword [esp + 0x3c], eax
cmp eax, esi
jae 0x10007979
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x30]
mov eax, esi
mov ecx, dword [esp + 0x1c]
mov edx, ecx
shl eax, 0x12
shr ecx, 0x12
shr edx, 0xe
or edx, eax
mov eax, esi
shl eax, 0xe
or ecx, eax
mov eax, esi
xor edx, ecx
shr eax, 9
mov ecx, dword [esp + 0x1c]
shl ecx, 0x17
or ecx, eax
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x1c]
xor edx, ecx
mov ecx, eax
and eax, dword [esp + 0x4c]
not ecx
and ecx, dword [esp + 0x2c]
xor ecx, eax
mov eax, dword [esp + 0x60]
add edx, ecx
mov ecx, dword [esp + 0x38]
add ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], ecx
add edx, dword [ebx + eax]
add edx, dword [ebx + 4]
add edx, dword [esp + 0x10]
add esi, edx
cmp ecx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x28]
sbb eax, eax
mov edx, dword [esp + 0x14]
neg eax
mov dword [esp + 0x20], esi
add eax, esi
shl edx, 4
add dword [esp + 0x18], eax
mov eax, dword [esp + 0x48]
mov esi, eax
and eax, ecx
xor esi, ecx
and esi, edi
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shr eax, 0x1c
or edx, eax
shr ecx, 2
mov eax, dword [esp + 0x28]
shl eax, 0x1e
or ecx, eax
mov eax, dword [esp + 0x28]
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x14]
shr ecx, 7
or ecx, eax
mov eax, dword [esp + 0x3c]
xor edx, ecx
add edx, esi
cmp edx, esi
sbb ecx, ecx
add eax, edx
neg ecx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x34], ecx
cmp eax, edx
jae 0x10007a52
inc ecx
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x28]
mov eax, esi
mov ecx, dword [esp + 0x14]
mov edx, ecx
shr eax, 7
shl ecx, 0x1e
shl edx, 0x19
or edx, eax
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x14]
shr ecx, 0x1c
or ecx, eax
mov esi, dword [esp + 0x18]
mov eax, dword [esp + 0x24]
xor edx, ecx
add edx, dword [esp + 0x34]
mov ecx, eax
xor ecx, dword [esp + 0x14]
and ecx, dword [esp + 0x44]
and eax, dword [esp + 0x14]
xor ecx, eax
shr esi, 9
add ecx, edx
add dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x38]
mov edx, ecx
mov eax, ecx
not edx
and eax, dword [esp + 0x30]
and edx, ebp
xor edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x18]
shl eax, 0x17
or esi, eax
shl ecx, 0xe
mov eax, dword [esp + 0x38]
shr eax, 0x12
or ecx, eax
mov eax, dword [esp + 0x38]
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x18]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x80]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [ebx + eax]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x10007b05
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx + 8]
cmp esi, dword [ebx + 8]
jae 0x10007b12
inc ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x40]
add eax, esi
mov dword [esp + 0x40], eax
cmp eax, esi
jae 0x10007b25
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x38]
mov eax, esi
mov ecx, dword [esp + 0x18]
mov edx, ecx
shl eax, 0x12
shr ecx, 0x12
shr edx, 0xe
or edx, eax
add edi, dword [esp + 0x40]
mov eax, esi
shl eax, 0xe
or ecx, eax
mov eax, esi
xor edx, ecx
shr eax, 9
mov ecx, dword [esp + 0x18]
shl ecx, 0x17
or ecx, eax
mov eax, dword [esp + 0x18]
xor edx, ecx
mov ecx, eax
and eax, dword [esp + 0x1c]
not ecx
and ecx, dword [esp + 0x4c]
xor ecx, eax
mov eax, dword [esp + 0x70]
add edx, ecx
mov ecx, dword [esp + 0x2c]
add edx, dword [ebx + eax]
add edx, dword [ebx + 0xc]
add edx, dword [esp + 0x10]
add ecx, edx
cmp edi, dword [esp + 0x40]
mov edx, dword [esp + 0x20]
sbb eax, eax
mov dword [esp + 0x2c], ecx
neg eax
shl edx, 4
add eax, ecx
mov ecx, dword [esp + 0x3c]
add dword [esp + 0x44], eax
mov eax, dword [esp + 0x28]
mov esi, eax
and eax, ecx
xor esi, ecx
and esi, dword [esp + 0x48]
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x20]
shr eax, 0x1c
or edx, eax
shr ecx, 2
mov eax, dword [esp + 0x3c]
shl eax, 0x1e
or ecx, eax
mov eax, dword [esp + 0x3c]
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x20]
shr ecx, 7
or ecx, eax
mov eax, dword [esp + 0x40]
xor edx, ecx
add edx, esi
cmp edx, esi
sbb ecx, ecx
add eax, edx
neg ecx
mov dword [esp + 0x40], eax
mov dword [esp + 0x34], ecx
cmp eax, edx
jae 0x10007bf8
inc ecx
mov dword [esp + 0x34], ecx
mov esi, dword [esp + 0x3c]
mov eax, esi
mov ecx, dword [esp + 0x20]
mov edx, ecx
shr eax, 7
shl ecx, 0x1e
shl edx, 0x19
or edx, eax
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x20]
shr ecx, 0x1c
or ecx, eax
mov eax, dword [esp + 0x14]
xor edx, ecx
mov ecx, eax
xor ecx, dword [esp + 0x20]
and eax, dword [esp + 0x20]
and ecx, dword [esp + 0x24]
add edx, dword [esp + 0x34]
xor ecx, eax
mov eax, dword [esp + 0x38]
add ecx, edx
add dword [esp + 0x2c], ecx
and eax, edi
mov ecx, dword [esp + 0x44]
mov edx, edi
mov esi, ecx
not edx
and edx, dword [esp + 0x30]
xor edx, eax
shr esi, 9
mov eax, edi
shl ecx, 0xe
shl eax, 0x17
or esi, eax
mov eax, edi
shr eax, 0x12
or ecx, eax
mov eax, edi
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x44]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x90]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [ebx + eax]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x10007ca3
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx + 0x10]
cmp esi, dword [ebx + 0x10]
jae 0x10007cb0
inc ecx
mov dword [esp + 0x10], ecx
add ebp, esi
cmp ebp, esi
jae 0x10007cbb
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x44]
mov eax, edi
shl eax, 0x12
mov edx, esi
shr edx, 0xe
mov ecx, esi
or edx, eax
shr ecx, 0x12
mov eax, edi
shl eax, 0xe
or ecx, eax
mov eax, edi
xor edx, ecx
shr eax, 9
mov ecx, esi
shl ecx, 0x17
or ecx, eax
mov eax, dword [esp + 0x18]
xor edx, ecx
and eax, esi
mov ecx, esi
not ecx
and ecx, dword [esp + 0x1c]
xor ecx, eax
mov eax, dword [esp + 0x78]
add edx, ecx
mov ecx, dword [esp + 0x4c]
add edx, dword [ebx + eax]
add edx, dword [ebx + 0x14]
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
add ecx, edx
add eax, ebp
mov edx, dword [esp + 0x2c]
cmp eax, ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ecx
sbb eax, eax
shl edx, 4
neg eax
add eax, ecx
mov ecx, dword [esp + 0x40]
add dword [esp + 0x24], eax
mov eax, dword [esp + 0x3c]
mov esi, eax
and eax, ecx
xor esi, ecx
and esi, dword [esp + 0x28]
xor esi, eax
mov eax, ecx
mov ecx, dword [esp + 0x2c]
shr eax, 0x1c
or edx, eax
shr ecx, 2
mov eax, dword [esp + 0x40]
shl eax, 0x1e
or ecx, eax
mov eax, dword [esp + 0x40]
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x2c]
shr ecx, 7
or ecx, eax
xor edx, ecx
add edx, esi
cmp edx, esi
sbb eax, eax
add ebp, edx
neg eax
mov dword [esp + 0x34], eax
cmp ebp, edx
jae 0x10007d84
inc eax
mov dword [esp + 0x34], eax
mov esi, dword [esp + 0x40]
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov edx, ecx
shr eax, 7
shl ecx, 0x1e
shl edx, 0x19
or edx, eax
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x2c]
shr ecx, 0x1c
or ecx, eax
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x20]
xor edx, ecx
add edx, dword [esp + 0x34]
mov ecx, eax
xor ecx, dword [esp + 0x2c]
and ecx, dword [esp + 0x14]
and eax, dword [esp + 0x2c]
xor ecx, eax
shr esi, 9
add ecx, edx
mov eax, edi
add dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x48]
and eax, ecx
mov edx, ecx
not edx
and edx, dword [esp + 0x38]
xor edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x24]
shl eax, 0x17
or esi, eax
shl ecx, 0xe
mov eax, dword [esp + 0x48]
shr eax, 0x12
or ecx, eax
mov eax, dword [esp + 0x48]
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x24]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x88]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [ebx + eax]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x10007e37
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx + 0x18]
cmp esi, dword [ebx + 0x18]
jae 0x10007e44
inc ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x30]
add eax, esi
mov dword [esp + 0x30], eax
cmp eax, esi
jae 0x10007e57
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x48]
mov eax, esi
mov ecx, dword [esp + 0x24]
mov edx, ecx
shl eax, 0x12
shr ecx, 0x12
shr edx, 0xe
or edx, eax
mov eax, esi
shl eax, 0xe
or ecx, eax
mov eax, esi
xor edx, ecx
shr eax, 9
mov ecx, dword [esp + 0x24]
shl ecx, 0x17
or ecx, eax
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
xor edx, ecx
and eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
not ecx
and ecx, dword [esp + 0x18]
xor ecx, eax
mov eax, dword [esp + 0x64]
add edx, ecx
mov ecx, dword [esp + 0x28]
add ecx, dword [esp + 0x30]
mov dword [esp + 0x28], ecx
add edx, dword [ebx + eax]
add edx, dword [ebx + 0x1c]
add edx, dword [esp + 0x10]
add esi, edx
cmp ecx, dword [esp + 0x30]
mov dword [esp + 0x1c], esi
sbb eax, eax
neg eax
add eax, esi
add dword [esp + 0x14], eax
mov eax, dword [esp + 0x40]
mov ecx, eax
xor ecx, ebp
and eax, ebp
mov edx, ecx
mov dword [esp + 0x34], ecx
and edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
xor edx, eax
mov dword [esp + 0x5c], eax
mov esi, ecx
shl esi, 4
mov eax, ebp
shr eax, 0x1c
or esi, eax
shr ecx, 2
mov eax, ebp
shl eax, 0x1e
or ecx, eax
mov eax, ebp
xor esi, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x4c]
shr ecx, 7
or ecx, eax
mov eax, dword [esp + 0x30]
xor esi, ecx
add esi, edx
cmp esi, edx
sbb ecx, ecx
add eax, esi
neg ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], ecx
cmp eax, esi
jae 0x10007f34
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x4c]
mov edx, esi
mov eax, dword [esp + 0x2c]
mov ecx, eax
and eax, esi
shl edx, 0x19
mov dword [esp + 0x50], eax
xor ecx, esi
mov dword [esp + 0x58], ecx
mov eax, ebp
shr eax, 7
mov ecx, esi
or edx, eax
shl ecx, 0x1e
mov eax, ebp
shr eax, 2
or ecx, eax
mov eax, ebp
xor edx, ecx
shl eax, 4
mov ecx, esi
mov esi, dword [esp + 0x48]
shr ecx, 0x1c
or ecx, eax
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x20]
xor edx, ecx
xor eax, dword [esp + 0x50]
add edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
add eax, edx
add dword [esp + 0x1c], eax
mov edx, ecx
not edx
mov eax, esi
and eax, ecx
and edx, edi
xor edx, eax
mov eax, dword [esp + 0x14]
shr eax, 9
mov dword [esp + 0x10], eax
mov eax, ecx
mov ecx, dword [esp + 0x14]
shl eax, 0x17
or dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
shl ecx, 0xe
shr eax, 0x12
or ecx, eax
mov eax, dword [esp + 0x28]
xor dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x14]
shl ecx, 0x12
shr eax, 0xe
or ecx, eax
mov eax, dword [esp + 0x6c]
xor dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x10]
add ecx, edx
mov eax, dword [ebx + eax]
cmp ecx, edx
sbb edx, edx
add ecx, eax
neg edx
mov dword [esp + 0x10], edx
cmp ecx, eax
jae 0x10007ffa
inc edx
mov dword [esp + 0x10], edx
add ecx, dword [ebx + 0x20]
cmp ecx, dword [ebx + 0x20]
jae 0x10008007
inc edx
mov dword [esp + 0x10], edx
mov eax, dword [esp + 0x38]
add eax, ecx
mov dword [esp + 0x38], eax
cmp eax, ecx
jae 0x1000801a
inc edx
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x14]
mov edx, ecx
mov eax, dword [esp + 0x28]
shl eax, 0x12
shr ecx, 0x12
shr edx, 0xe
or edx, eax
mov eax, dword [esp + 0x28]
shl eax, 0xe
or ecx, eax
mov eax, dword [esp + 0x28]
xor edx, ecx
shr eax, 9
mov ecx, dword [esp + 0x14]
shl ecx, 0x17
or ecx, eax
mov eax, dword [esp + 0x24]
and eax, dword [esp + 0x14]
xor edx, ecx
mov ecx, dword [esp + 0x14]
not ecx
and ecx, dword [esp + 0x44]
xor ecx, eax
mov eax, dword [esp + 0x74]
add edx, ecx
mov ecx, dword [esp + 0x34]
add edx, dword [ebx + eax]
add edx, dword [ebx + 0x24]
add edx, dword [esp + 0x10]
add dword [esp + 0x18], edx
mov eax, dword [esp + 0x3c]
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
sbb eax, eax
neg eax
add eax, dword [esp + 0x18]
add dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
and ecx, eax
xor ecx, dword [esp + 0x5c]
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
shr eax, 0x1c
shl edx, 4
or edx, eax
shr ecx, 2
mov eax, dword [esp + 0x30]
shl eax, 0x1e
or ecx, eax
mov eax, dword [esp + 0x30]
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x1c]
shr ecx, 7
or ecx, eax
mov eax, dword [esp + 0x38]
xor edx, ecx
add edx, dword [esp + 0x34]
cmp edx, dword [esp + 0x34]
sbb ecx, ecx
add eax, edx
neg ecx
mov dword [esp + 0x38], eax
mov dword [esp + 0x34], ecx
cmp eax, edx
jae 0x100080f3
inc ecx
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x1c]
mov edx, ecx
mov eax, dword [esp + 0x30]
shr eax, 7
shl edx, 0x19
or edx, eax
shl ecx, 0x1e
mov eax, dword [esp + 0x30]
shr eax, 2
or ecx, eax
mov eax, dword [esp + 0x30]
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x1c]
shr ecx, 0x1c
or ecx, eax
mov eax, dword [esp + 0x58]
and eax, dword [esp + 0x1c]
xor edx, ecx
xor eax, dword [esp + 0x50]
add edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
add eax, edx
add dword [esp + 0x18], eax
mov edx, ecx
mov eax, dword [esp + 0x28]
not edx
and eax, ecx
and edx, esi
mov esi, dword [esp + 0x20]
xor edx, eax
mov eax, ecx
shr esi, 9
mov ecx, dword [esp + 0x20]
shl eax, 0x17
or esi, eax
shl ecx, 0xe
mov eax, dword [esp + 0x3c]
shr eax, 0x12
or ecx, eax
mov eax, dword [esp + 0x3c]
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x20]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x7c]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [ebx + eax]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x1000819d
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx + 0x28]
cmp esi, dword [ebx + 0x28]
jae 0x100081aa
inc ecx
mov dword [esp + 0x10], ecx
add edi, esi
cmp edi, esi
jae 0x100081b5
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x3c]
mov eax, esi
mov ecx, dword [esp + 0x20]
mov edx, ecx
shl eax, 0x12
shr edx, 0xe
or edx, eax
shr ecx, 0x12
mov eax, esi
shl eax, 0xe
or ecx, eax
mov eax, esi
xor edx, ecx
shr eax, 9
mov ecx, dword [esp + 0x20]
shl ecx, 0x17
or ecx, eax
mov eax, dword [esp + 0x14]
and eax, dword [esp + 0x20]
xor edx, ecx
mov ecx, dword [esp + 0x20]
not ecx
and ecx, dword [esp + 0x24]
xor ecx, eax
mov eax, dword [esp + 0x84]
add edx, ecx
mov ecx, dword [esp + 0x44]
add edx, dword [ebx + eax]
add edx, dword [ebx + 0x2c]
add edx, dword [esp + 0x10]
mov eax, dword [esp + 0x40]
add ecx, edx
add eax, edi
mov edx, dword [esp + 0x18]
cmp eax, edi
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
sbb eax, eax
shl edx, 4
neg eax
add eax, ecx
mov ecx, dword [esp + 0x18]
add dword [esp + 0x2c], eax
mov eax, dword [esp + 0x30]
mov esi, eax
and eax, ebp
shr ecx, 2
xor esi, ebp
and esi, dword [esp + 0x38]
xor esi, eax
mov eax, dword [esp + 0x38]
shr eax, 0x1c
or edx, eax
mov eax, dword [esp + 0x38]
shl eax, 0x1e
or ecx, eax
mov eax, dword [esp + 0x38]
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x18]
shr ecx, 7
or ecx, eax
xor edx, ecx
add edx, esi
cmp edx, esi
sbb eax, eax
add edi, edx
neg eax
mov dword [esp + 0x50], eax
cmp edi, edx
jae 0x10008287
inc eax
mov dword [esp + 0x50], eax
mov esi, dword [esp + 0x38]
mov eax, esi
mov ecx, dword [esp + 0x18]
mov edx, ecx
shr eax, 7
shl ecx, 0x1e
shl edx, 0x19
or edx, eax
mov eax, esi
shr eax, 2
or ecx, eax
mov eax, esi
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x18]
shr ecx, 0x1c
or ecx, eax
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
xor edx, ecx
add edx, dword [esp + 0x50]
mov ecx, eax
xor ecx, dword [esp + 0x4c]
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x4c]
xor ecx, eax
shr esi, 9
mov eax, dword [esp + 0x3c]
add ecx, edx
add dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x40]
and eax, ecx
mov edx, ecx
not edx
and edx, dword [esp + 0x28]
xor edx, eax
mov eax, ecx
mov ecx, dword [esp + 0x2c]
shl eax, 0x17
or esi, eax
shl ecx, 0xe
mov eax, dword [esp + 0x40]
shr eax, 0x12
or ecx, eax
mov eax, dword [esp + 0x40]
xor esi, ecx
shr eax, 0xe
mov ecx, dword [esp + 0x2c]
shl ecx, 0x12
or ecx, eax
mov eax, dword [esp + 0x8c]
xor esi, ecx
add esi, edx
cmp esi, edx
mov eax, dword [ebx + eax]
sbb ecx, ecx
add esi, eax
neg ecx
mov dword [esp + 0x10], ecx
cmp esi, eax
jae 0x1000833c
inc ecx
mov dword [esp + 0x10], ecx
add esi, dword [ebx + 0x30]
cmp esi, dword [ebx + 0x30]
jae 0x10008349
inc ecx
mov dword [esp + 0x10], ecx
mov eax, dword [esp + 0x48]
add eax, esi
mov dword [esp + 0x48], eax
cmp eax, esi
jae 0x1000835c
inc ecx
mov dword [esp + 0x10], ecx
mov esi, dword [esp + 0x40]
mov eax, esi
mov ecx, dword [esp + 0x2c]
mov edx, ecx
shl eax, 0x12
shr edx, 0xe
or edx, eax
shr ecx, 0x12
mov eax, esi
add ebp, dword [esp + 0x48]
shl eax, 0xe
or ecx, eax
mov eax, esi
xor edx, ecx
shr eax, 9
mov ecx, dword [esp + 0x2c]
mov esi, edi
shl ecx, 0x17
or ecx, eax
mov eax, dword [esp + 0x20]
and eax, dword [esp + 0x2c]
xor edx, ecx
mov ecx, dword [esp + 0x2c]
not ecx
and ecx, dword [esp + 0x14]
xor ecx, eax
mov eax, dword [esp + 0x94]
add edx, ecx
mov ecx, dword [esp + 0x24]
add edx, dword [ebx + eax]
add edx, dword [ebx + 0x34]
add edx, dword [esp + 0x10]
add ecx, edx
cmp ebp, dword [esp + 0x48]
mov dword [esp + 0x24], ecx
sbb eax, eax
xor esi, dword [esp + 0x30]
and esi, dword [esp + 0x38]
neg eax
add eax, ecx
mov ecx, dword [esp + 0x44]
add dword [esp + 0x4c], eax
mov edx, ecx
mov eax, edi
shl edx, 4
and eax, dword [esp + 0x30]
xor esi, eax
shr ecx, 2
mov eax, edi
shr eax, 0x1c
or edx, eax
mov eax, edi
shl eax, 0x1e
or ecx, eax
mov eax, edi
xor edx, ecx
shl eax, 0x19
mov ecx, dword [esp + 0x44]
shr ecx, 7
or ecx, eax
xor edx, ecx
add edx, esi
cmp edx, esi
mov esi, dword [esp + 0x48]
sbb eax, eax
add esi, edx
neg eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], eax
cmp esi, edx
jae 0x1000842c
inc eax
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0x44]
mov eax, edi
mov edx, ecx
shr eax, 7
shl edx, 0x19
add ebx, 0x40
or edx, eax
shl ecx, 0x1e
mov eax, edi
shr eax, 2
or ecx, eax
mov eax, edi
xor edx, ecx
shl eax, 4
mov ecx, dword [esp + 0x44]
shr ecx, 0x1c
or ecx, eax
mov eax, dword [esp + 0x44]
xor edx, ecx
mov ecx, eax
xor ecx, dword [esp + 0x1c]
and ecx, dword [esp + 0x18]
and eax, dword [esp + 0x1c]
add edx, dword [esp + 0x50]
xor ecx, eax
mov eax, dword [esp + 0x54]
add ecx, edx
mov edx, dword [esp + 0x24]
add eax, 0x40
add edx, ecx
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x24], edx
cmp eax, 0x10049bc4
jl 0x10007761
mov ecx, dword [esp + 0x9c]
add dword [ecx + 0x280], esi
cmp dword [ecx + 0x280], esi
sbb eax, eax
add dword [ecx + 0x288], edi
neg eax
add eax, edx
add dword [ecx + 0x284], eax
cmp dword [ecx + 0x288], edi
pop edi
sbb eax, eax
neg eax
add eax, dword [esp + 0x40]
add dword [ecx + 0x28c], eax
mov eax, dword [esp + 0x34]
add dword [ecx + 0x290], eax
cmp dword [ecx + 0x290], eax
pop esi
sbb eax, eax
neg eax
add eax, dword [esp + 0x10]
add dword [ecx + 0x294], eax
mov eax, dword [esp + 0x28]
add dword [ecx + 0x298], eax
cmp dword [ecx + 0x298], eax
sbb eax, eax
add dword [ecx + 0x2a0], ebp
neg eax
add eax, dword [esp + 0x14]
add dword [ecx + 0x29c], eax
cmp dword [ecx + 0x2a0], ebp
pop ebp
sbb eax, eax
neg eax
add eax, dword [esp + 0x40]
add dword [ecx + 0x2a4], eax
mov eax, dword [esp + 0x34]
add dword [ecx + 0x2a8], eax
cmp dword [ecx + 0x2a8], eax
pop ebx
sbb eax, eax
neg eax
add eax, dword [esp + 0x1c]
add dword [ecx + 0x2ac], eax
mov eax, dword [esp + 0x2c]
add dword [ecx + 0x2b0], eax
cmp dword [ecx + 0x2b0], eax
sbb eax, eax
neg eax
add eax, dword [esp + 0x10]
add dword [ecx + 0x2b4], eax
mov eax, dword [esp + 0x18]
add dword [ecx + 0x2b8], eax
cmp dword [ecx + 0x2b8], eax
sbb eax, eax
neg eax
add eax, dword [esp + 4]
add dword [ecx + 0x2bc], eax
add esp, 0x88
ret