Function at 0x101f9550
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x2cc
push ebx
push ebp
push esi
lea ecx, [esp + 0x58]
lea edx, [esp + 0x5c]
sub ecx, eax
push edi
sub edx, eax
mov esi, 0x10
jmp 0x101f9570
mov edi, dword [eax]
mov dword [ecx + eax], edi
mov edi, dword [eax + 4]
mov dword [edx + eax], edi
add eax, 8
sub esi, 1
jne 0x101f9570
lea ecx, [esp + 0xcc]
mov dword [esp + 0x40], 0x40
mov edx, dword [ecx]
mov esi, dword [ecx + 4]
mov edi, edx
shr edi, 0x1d
mov ebx, dword [ecx - 0x24]
mov ebp, edx
shl ebp, 0x1a
lea eax, [esi*8]
or eax, edi
mov edi, esi
shr edi, 6
or edi, ebp
xor eax, edi
mov ebp, edx
shl ebp, 0xd
mov edi, esi
shr edi, 0x13
or edi, ebp
xor eax, edi
add eax, ebx
mov ebp, edx
shr ebp, 0x13
mov edi, esi
shl edi, 0xd
or edi, ebp
lea ebp, [edx*8]
shr edx, 6
shr esi, 0x1d
or esi, ebp
xor edi, esi
mov esi, dword [ecx - 0x64]
xor edi, edx
cmp eax, ebx
sbb edx, edx
neg edx
add edi, edx
mov edx, dword [ecx - 0x68]
mov ebx, edx
shl ebx, 0x18
mov ebp, esi
shr ebp, 8
or ebx, ebp
mov dword [esp + 0x50], ebx
mov ebx, edx
shl ebx, 0x19
mov ebp, esi
shr ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x50]
xor ebp, ebx
add edi, dword [ecx - 0x28]
mov dword [esp + 0x48], ebp
mov ebp, edx
shl ebp, 0x1f
mov ebx, esi
shr ebx, 1
or ebp, ebx
mov ebx, dword [esp + 0x48]
xor ebx, ebp
add eax, ebx
mov dword [esp + 0x48], ebx
mov ebx, edx
shr ebx, 1
mov ebp, esi
shl ebp, 0x1f
or ebx, ebp
mov ebp, edx
shl esi, 0x18
shr ebp, 8
shr edx, 7
or ebp, esi
xor ebx, ebp
xor ebx, edx
cmp eax, dword [esp + 0x48]
sbb edx, edx
neg edx
add edx, edi
lea esi, [edx + ebx]
mov edx, dword [ecx - 0x6c]
add eax, edx
cmp eax, edx
sbb edx, edx
neg edx
add edx, dword [ecx - 0x70]
mov dword [ecx + 0x14], eax
add edx, esi
mov dword [ecx + 0x10], edx
add ecx, 8
sub dword [esp + 0x40], 1
jne 0x101f9592
mov eax, dword [esp + 0x2e0]
mov ecx, dword [eax + 0x90]
mov esi, dword [eax + 0xb0]
mov edx, dword [eax + 0x9c]
mov ebx, dword [eax + 0xb4]
mov edi, dword [eax + 0xc8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x94]
mov dword [esp + 0x4c], ecx
mov ecx, dword [eax + 0x98]
mov dword [esp + 0x1c], esi
mov esi, dword [eax + 0xb8]
mov dword [esp + 0x20], ecx
mov ecx, dword [eax + 0xa0]
mov dword [esp + 0x24], esi
mov esi, dword [eax + 0xbc]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0xa8]
mov dword [esp + 0x30], esi
mov esi, dword [eax + 0xc0]
mov dword [esp + 0x3c], edx
mov edx, dword [eax + 0xa4]
mov dword [esp + 0x48], ecx
mov ecx, dword [eax + 0xac]
mov dword [esp + 0x34], esi
mov esi, dword [eax + 0xc4]
mov eax, dword [eax + 0xcc]
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], edi
xor eax, eax
jmp 0x101f9724
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x1c]
shl ebp, 0x12
mov edi, ebx
shr edi, 0xe
or edi, ebp
mov ebp, dword [esp + 0x1c]
shl ebp, 0xe
shr ebx, 0x12
or ebx, ebp
xor edi, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x1c]
shr ebp, 9
shl ebx, 0x17
or ebx, ebp
xor edi, ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x50], edi
add edi, ebx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x38]
mov ebx, edi
shl ebp, 0x17
shl edi, 0xe
shr ebx, 9
or ebx, ebp
mov ebp, dword [esp + 0x1c]
shr ebp, 0x12
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x38]
mov ebp, dword [esp + 0x1c]
shl edi, 0x12
shr ebp, 0xe
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0x50]
mov ebp, dword [esp + 0x30]
sbb edi, edi
add ebx, dword [esp + 0x28]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x38]
and ebp, ebx
mov dword [esp + 0x10], edi
mov edi, ebx
not edi
and edi, esi
or edi, ebp
add dword [esp + 0x18], edi
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x50], edi
mov edi, dword [esp + 0x1c]
and ebp, edi
mov ebx, edi
mov edi, dword [esp + 0x50]
not ebx
and ebx, dword [esp + 0x34]
or ebx, ebp
cmp dword [esp + 0x18], edi
mov ebp, dword [eax + 0x10298ffc]
sbb edi, edi
neg edi
add edi, dword [esp + 0x10]
add ebx, edi
mov edi, dword [esp + 0x18]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [eax + 0x10298ff8]
add ebx, ebp
mov ebp, dword [esp + eax + 0x60]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [esp + eax + 0x5c]
add ebx, ebp
add ecx, edi
cmp ecx, edi
sbb ebp, ebp
neg ebp
add ebp, ebx
add dword [esp + 0x48], ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x4c]
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x4c]
shl ebx, 0x1e
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x50]
xor ebp, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x4c]
shl ebx, 4
shr ebp, 0x1c
or ebp, ebx
mov ebx, dword [esp + 0x28]
xor ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x28], ebx
add ebx, edi
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x40], ebx
mov ebx, edi
shl ebp, 0x19
shr ebx, 7
or ebx, ebp
mov ebp, dword [esp + 0x2c]
shr edi, 2
shl ebp, 0x1e
or ebp, edi
mov edi, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, dword [esp + 0x4c]
shr edi, 0x1c
shl ebp, 4
or edi, ebp
mov ebp, dword [esp + 0x4c]
xor ebx, edi
mov edi, dword [esp + 0x40]
cmp edi, dword [esp + 0x28]
sbb edi, edi
add ebx, dword [esp + 0x10]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x28], edi
mov edi, ebx
or edi, ebp
and ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x54], edi
and edi, edx
or edi, ebx
add dword [esp + 0x40], edi
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x20]
or ebx, ebp
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x20]
and ebx, ebp
mov ebp, dword [esp + 0x50]
and ebp, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
or ebp, ebx
cmp dword [esp + 0x40], edi
sbb edi, edi
neg edi
add edi, dword [esp + 0x28]
add edi, ebp
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x48]
mov ebp, edi
shl ebp, 0x12
mov ebx, ecx
shr ebx, 0xe
or ebx, ebp
mov dword [esp + 0x10], ebx
mov ebp, edi
shl ebp, 0xe
mov ebx, ecx
shr ebx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x10]
xor ebp, ebx
mov dword [esp + 0x10], ebp
mov ebx, edi
shr ebx, 9
mov ebp, ecx
shl ebp, 0x17
or ebp, ebx
mov ebx, dword [esp + 0x10]
xor ebx, ebp
mov dword [esp + 0x10], ebx
add ebx, esi
mov dword [esp + 0x18], ebx
mov esi, edi
shl esi, 0x17
mov ebp, ecx
shr ebp, 9
or ebp, esi
mov ebx, edi
shr ebx, 0x12
mov esi, ecx
shl esi, 0xe
or esi, ebx
xor ebp, esi
mov ebx, edi
shr ebx, 0xe
mov esi, ecx
shl esi, 0x12
or esi, ebx
xor ebp, esi
mov esi, dword [esp + 0x18]
cmp esi, dword [esp + 0x10]
sbb ebx, ebx
add ebp, dword [esp + 0x34]
neg ebx
add ebx, ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x10], ebx
and ebp, ecx
mov ebx, ecx
not ebx
and ebx, dword [esp + 0x30]
or ebx, ebp
mov ebp, dword [esp + 0x1c]
add esi, ebx
mov dword [esp + 0x34], ebx
mov ebx, edi
not ebx
and ebx, dword [esp + 0x24]
and ebp, edi
or ebx, ebp
cmp esi, dword [esp + 0x34]
sbb edi, edi
neg edi
add edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [eax + 0x10299004]
add esi, ebx
cmp esi, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [eax + 0x10299000]
add edi, ebx
mov ebx, dword [esp + eax + 0x68]
add esi, ebx
cmp esi, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [esp + eax + 0x64]
add edi, ebx
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x10], edi
add edx, esi
cmp edx, esi
sbb ebx, ebx
neg ebx
add ebx, edi
add dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x40]
shr ebp, 7
mov edi, ebx
shl edi, 0x19
or edi, ebp
mov ebp, dword [esp + 0x28]
shr ebp, 2
shl ebx, 0x1e
or ebx, ebp
xor edi, ebx
mov ebx, dword [esp + 0x40]
mov ebp, dword [esp + 0x28]
shl ebp, 4
shr ebx, 0x1c
or ebx, ebp
xor edi, ebx
mov ebx, dword [esp + 0x28]
add esi, edi
mov dword [esp + 0x34], edi
mov edi, dword [esp + 0x40]
mov ebp, edi
shr ebp, 7
shl ebx, 0x19
or ebp, ebx
mov ebx, dword [esp + 0x28]
shr edi, 2
shl ebx, 0x1e
or ebx, edi
mov edi, dword [esp + 0x28]
xor ebp, ebx
mov ebx, dword [esp + 0x40]
shr edi, 0x1c
shl ebx, 4
or edi, ebx
xor ebp, edi
cmp esi, dword [esp + 0x34]
mov edi, dword [esp + 0x54]
sbb ebx, ebx
add ebp, dword [esp + 0x10]
and edi, dword [esp + 0x40]
neg ebx
add ebx, ebp
mov ebp, edi
or ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x50]
and edi, dword [esp + 0x28]
add esi, ebp
or edi, dword [esp + 0x14]
cmp esi, ebp
sbb ebp, ebp
neg ebp
add ebp, ebx
mov ebx, dword [esp + 0x44]
add ebp, edi
mov dword [esp + 0x34], ebp
mov ebp, ebx
shl ebp, 0x12
mov edi, edx
shr edi, 0xe
or edi, ebp
shl ebx, 0xe
mov ebp, edx
shr ebp, 0x12
or ebp, ebx
xor edi, ebp
mov ebp, dword [esp + 0x44]
mov ebx, edx
shl ebx, 0x17
shr ebp, 9
or ebx, ebp
xor edi, ebx
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x30]
add edi, ebx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x44]
mov ebx, edi
shl ebx, 0x17
shr edi, 0x12
mov ebp, edx
shr ebp, 9
or ebp, ebx
mov ebx, edx
shl ebx, 0xe
or ebx, edi
xor ebp, ebx
mov ebx, dword [esp + 0x44]
shr ebx, 0xe
mov edi, edx
shl edi, 0x12
or edi, ebx
xor ebp, edi
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x14]
sbb edi, edi
add ebp, dword [esp + 0x24]
neg edi
add edi, ebp
mov dword [esp + 0x10], edi
mov edi, edx
not edi
and edi, dword [esp + 0x38]
mov ebp, ecx
and ebp, edx
or edi, ebp
mov ebp, dword [esp + 0x48]
add ebx, edi
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x44]
and ebp, edi
mov ebx, edi
mov edi, dword [esp + 0x14]
not ebx
and ebx, dword [esp + 0x1c]
or ebx, ebp
cmp dword [esp + 0x18], edi
mov ebp, dword [eax + 0x1029900c]
sbb edi, edi
neg edi
add edi, dword [esp + 0x10]
add ebx, edi
mov edi, dword [esp + 0x18]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [eax + 0x10299008]
add ebx, ebp
mov ebp, dword [esp + eax + 0x70]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [esp + eax + 0x6c]
add ebx, ebp
mov ebp, dword [esp + 0x3c]
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x3c], ebp
sbb ebp, ebp
neg ebp
add ebp, ebx
add dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x10], ebx
mov ebx, esi
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
mov dword [esp + 0x14], ebx
mov ebx, esi
shl ebx, 0x1e
mov ebp, dword [esp + 0x34]
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, ebx
mov ebx, dword [esp + 0x34]
mov dword [esp + 0x24], ebp
shl ebx, 4
mov ebp, esi
shr ebp, 0x1c
or ebp, ebx
mov ebx, dword [esp + 0x24]
xor ebx, ebp
mov dword [esp + 0x24], ebx
add ebx, edi
mov edi, dword [esp + 0x34]
mov ebp, edi
shl edi, 0x1e
shl ebp, 0x19
mov dword [esp + 0x30], ebx
mov ebx, esi
shr ebx, 7
or ebx, ebp
mov ebp, esi
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x34]
shr edi, 0x1c
mov ebp, esi
shl ebp, 4
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x30]
cmp edi, dword [esp + 0x24]
mov ebp, esi
sbb edi, edi
add ebx, dword [esp + 0x10]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x24], edi
and ebp, ebx
mov edi, esi
or edi, ebx
and edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x2c]
or edi, ebp
add dword [esp + 0x30], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
mov ebp, edi
or ebp, ebx
and ebp, dword [esp + 0x28]
and edi, ebx
mov ebx, dword [esp + 0x3c]
or ebp, edi
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x30], edi
sbb edi, edi
neg edi
add edi, dword [esp + 0x24]
add edi, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x24], edi
mov edi, ebx
shl ebp, 0x12
shr edi, 0xe
or edi, ebp
mov ebp, dword [esp + 0x20]
shr ebx, 0x12
shl ebp, 0xe
or ebx, ebp
mov ebp, dword [esp + 0x20]
xor edi, ebx
mov ebx, dword [esp + 0x3c]
shl ebx, 0x17
shr ebp, 9
or ebx, ebp
xor edi, ebx
mov dword [esp + 0x14], edi
mov ebx, dword [esp + 0x38]
add edi, ebx
mov ebp, dword [esp + 0x20]
shl ebp, 0x17
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x3c]
mov ebx, edi
shr ebx, 9
or ebx, ebp
mov ebp, dword [esp + 0x20]
shr ebp, 0x12
shl edi, 0xe
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x3c]
mov ebp, dword [esp + 0x20]
shr ebp, 0xe
shl edi, 0x12
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0x14]
mov ebp, edx
sbb edi, edi
add ebx, dword [esp + 0x1c]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x3c]
and ebp, ebx
mov dword [esp + 0x10], edi
mov edi, ebx
not edi
and edi, ecx
or edi, ebp
add dword [esp + 0x18], edi
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x20]
and ebp, edi
mov ebx, edi
mov edi, dword [esp + 0x14]
not ebx
and ebx, dword [esp + 0x48]
or ebx, ebp
cmp dword [esp + 0x18], edi
mov ebp, dword [eax + 0x10299014]
sbb edi, edi
neg edi
add edi, dword [esp + 0x10]
add ebx, edi
mov edi, dword [esp + 0x18]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [eax + 0x10299010]
add ebx, ebp
mov ebp, dword [esp + eax + 0x78]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [esp + eax + 0x74]
add ebx, ebp
mov ebp, dword [esp + 0x4c]
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x4c], ebp
sbb ebp, ebp
neg ebp
add ebp, ebx
add dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x30]
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x30]
shl ebx, 0x1e
mov ebp, dword [esp + 0x24]
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x30]
shr ebp, 0x1c
shl ebx, 4
or ebp, ebx
mov ebx, dword [esp + 0x1c]
xor ebx, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x1c], ebx
add ebx, edi
mov edi, dword [esp + 0x30]
shl ebp, 0x19
mov dword [esp + 0x38], ebx
mov ebx, edi
shr edi, 2
shr ebx, 7
or ebx, ebp
mov ebp, dword [esp + 0x24]
shl ebp, 0x1e
or ebp, edi
mov edi, dword [esp + 0x24]
xor ebx, ebp
mov ebp, dword [esp + 0x30]
shr edi, 0x1c
shl ebp, 4
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x38]
cmp edi, dword [esp + 0x1c]
mov ebp, esi
sbb edi, edi
add ebx, dword [esp + 0x10]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x30]
and ebp, ebx
mov dword [esp + 0x1c], edi
mov edi, esi
or edi, ebx
and edi, dword [esp + 0x40]
mov ebx, dword [esp + 0x24]
or edi, ebp
add dword [esp + 0x38], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
mov ebp, edi
or ebp, ebx
and ebp, dword [esp + 0x28]
and edi, ebx
or ebp, edi
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x38], edi
sbb edi, edi
neg edi
add edi, dword [esp + 0x1c]
add edi, ebp
mov ebp, dword [esp + 0x2c]
shl ebp, 0x12
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x4c]
mov ebx, edi
shr ebx, 0xe
or ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x14], ebx
shl ebp, 0xe
mov ebx, edi
shr ebx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, ebx
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x10], ebp
mov ebp, edi
shl ebp, 0x17
shr ebx, 9
or ebp, ebx
mov ebx, dword [esp + 0x10]
xor ebx, ebp
mov dword [esp + 0x10], ebx
add ebx, ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x18], ebx
mov ebp, edi
shr ebp, 9
mov ebx, ecx
shl ebx, 0x17
or ebp, ebx
shr ecx, 0x12
mov ebx, edi
shl ebx, 0xe
or ebx, ecx
xor ebp, ebx
mov ebx, dword [esp + 0x2c]
shr ebx, 0xe
mov ecx, edi
shl ecx, 0x12
or ecx, ebx
xor ebp, ecx
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x10]
sbb ebx, ebx
add ebp, dword [esp + 0x48]
neg ebx
add ebx, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x10], ebx
and ebp, edi
mov ebx, edi
mov edi, dword [esp + 0x2c]
not ebx
and ebx, edx
or ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, dword [esp + 0x2c]
add ecx, ebx
not edi
and edi, dword [esp + 0x44]
or edi, ebp
cmp ecx, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
add edi, ebx
mov ebx, dword [eax + 0x1029901c]
add ecx, ebx
cmp ecx, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [eax + 0x10299018]
add edi, ebx
mov ebx, dword [esp + eax + 0x80]
add ecx, ebx
cmp ecx, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [esp + eax + 0x7c]
add edi, ebx
mov ebx, dword [esp + 0x40]
add ebx, ecx
cmp ebx, ecx
mov dword [esp + 0x40], ebx
sbb ebx, ebx
neg ebx
add ebx, edi
add dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x10], edi
mov edi, ebx
shr ebp, 7
shl edi, 0x19
or edi, ebp
mov ebp, dword [esp + 0x1c]
shl ebx, 0x1e
shr ebp, 2
or ebx, ebp
xor edi, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x1c]
shl ebp, 4
shr ebx, 0x1c
or ebx, ebp
xor edi, ebx
mov ebp, dword [esp + 0x1c]
add ecx, edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x38]
shl ebp, 0x19
mov ebx, edi
shr ebx, 7
or ebx, ebp
mov ebp, dword [esp + 0x1c]
shl ebp, 0x1e
shr edi, 2
or ebp, edi
xor ebx, ebp
mov edi, dword [esp + 0x1c]
mov ebp, dword [esp + 0x38]
shl ebp, 4
shr edi, 0x1c
or edi, ebp
xor ebx, edi
cmp ecx, dword [esp + 0x14]
mov ebp, dword [esp + 0x38]
sbb edi, edi
add ebx, dword [esp + 0x10]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x48], edi
mov edi, ebx
and ebx, ebp
or edi, ebp
and edi, esi
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
add ecx, edi
mov edi, dword [esp + 0x24]
mov ebp, edi
or ebp, ebx
and ebp, dword [esp + 0x34]
and edi, ebx
or ebp, edi
cmp ecx, dword [esp + 0x14]
sbb edi, edi
neg edi
add edi, dword [esp + 0x48]
add edi, ebp
mov ebp, dword [esp + 0x28]
shl ebp, 0x12
mov dword [esp + 0x48], edi
mov edi, dword [esp + 0x40]
mov ebx, edi
shr ebx, 0xe
or ebx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x14], ebx
shl ebp, 0xe
mov ebx, edi
shr ebx, 0x12
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0x10], ebp
shr ebx, 9
mov ebp, edi
shl ebp, 0x17
or ebp, ebx
mov ebx, dword [esp + 0x10]
xor ebx, ebp
mov dword [esp + 0x10], ebx
add ebx, edx
mov dword [esp + 0x18], ebx
mov ebp, edi
mov edx, dword [esp + 0x28]
shr ebp, 9
mov ebx, edx
shl ebx, 0x17
or ebp, ebx
mov ebx, edi
shl ebx, 0xe
shr edx, 0x12
or ebx, edx
xor ebp, ebx
mov ebx, dword [esp + 0x28]
shr ebx, 0xe
mov edx, edi
shl edx, 0x12
or edx, ebx
xor ebp, edx
mov edx, dword [esp + 0x18]
cmp edx, dword [esp + 0x10]
sbb ebx, ebx
add ebp, dword [esp + 0x44]
neg ebx
add ebx, ebp
mov dword [esp + 0x10], ebx
mov ebx, edi
and edi, dword [esp + 0x4c]
not ebx
and ebx, dword [esp + 0x3c]
or ebx, edi
mov edi, dword [esp + 0x28]
add edx, ebx
mov ebp, edi
and edi, dword [esp + 0x2c]
not ebp
and ebp, dword [esp + 0x20]
or ebp, edi
cmp edx, ebx
sbb edi, edi
mov ebx, dword [eax + 0x10299024]
add edx, ebx
neg edi
add edi, dword [esp + 0x10]
add edi, ebp
cmp edx, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [eax + 0x10299020]
add edi, ebx
mov ebx, dword [esp + eax + 0x88]
add edx, ebx
cmp edx, ebx
sbb ebx, ebx
neg ebx
add ebx, dword [esp + eax + 0x84]
add esi, edx
add edi, ebx
cmp esi, edx
sbb ebx, ebx
neg ebx
add ebx, edi
add dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x10], edi
mov ebp, ebx
shr ebp, 7
mov edi, ecx
shl edi, 0x19
or edi, ebp
shr ebx, 2
mov ebp, ecx
shl ebp, 0x1e
or ebp, ebx
xor edi, ebp
mov ebp, dword [esp + 0x48]
mov ebx, ecx
shr ebx, 0x1c
shl ebp, 4
or ebx, ebp
xor edi, ebx
mov dword [esp + 0x14], edi
add edx, edi
mov ebx, ecx
mov edi, dword [esp + 0x48]
mov ebp, edi
shl edi, 0x1e
shr ebx, 7
shl ebp, 0x19
or ebx, ebp
mov ebp, ecx
shr ebp, 2
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x48]
shr edi, 0x1c
mov ebp, ecx
shl ebp, 4
or edi, ebp
xor ebx, edi
cmp edx, dword [esp + 0x14]
sbb edi, edi
add ebx, dword [esp + 0x10]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x44], edi
mov edi, ebx
or edi, ecx
and edi, dword [esp + 0x30]
and ebx, ecx
or edi, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x14], edi
add edx, edi
mov edi, dword [esp + 0x48]
mov ebp, ebx
or ebp, edi
and ebp, dword [esp + 0x24]
and ebx, edi
or ebp, ebx
cmp edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x34]
sbb edi, edi
neg edi
add edi, dword [esp + 0x44]
add edi, ebp
mov ebp, ebx
mov dword [esp + 0x44], edi
shl ebp, 0x12
shl ebx, 0xe
mov edi, esi
shr edi, 0xe
or edi, ebp
mov ebp, esi
shr ebp, 0x12
or ebp, ebx
xor edi, ebp
mov ebp, dword [esp + 0x34]
shr ebp, 9
mov ebx, esi
shl ebx, 0x17
or ebx, ebp
xor edi, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x14], edi
add edi, ebx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x34]
mov ebx, edi
shl ebx, 0x17
mov ebp, esi
shr ebp, 9
or ebp, ebx
shr edi, 0x12
mov ebx, esi
shl ebx, 0xe
or ebx, edi
xor ebp, ebx
mov ebx, dword [esp + 0x34]
mov edi, esi
shl edi, 0x12
shr ebx, 0xe
or edi, ebx
xor ebp, edi
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x14]
sbb edi, edi
add ebp, dword [esp + 0x20]
neg edi
add edi, ebp
mov ebp, dword [esp + 0x40]
and ebp, esi
mov dword [esp + 0x10], edi
mov edi, esi
not edi
and edi, dword [esp + 0x4c]
or edi, ebp
add ebx, edi
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x34]
and ebp, edi
mov ebx, edi
mov edi, dword [esp + 0x14]
not ebx
and ebx, dword [esp + 0x2c]
or ebx, ebp
cmp dword [esp + 0x18], edi
mov ebp, dword [eax + 0x1029902c]
sbb edi, edi
neg edi
add edi, dword [esp + 0x10]
add ebx, edi
mov edi, dword [esp + 0x18]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [eax + 0x10299028]
add ebx, ebp
mov ebp, dword [esp + eax + 0x90]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [esp + eax + 0x8c]
add ebx, ebp
mov ebp, dword [esp + 0x30]
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x30], ebp
sbb ebp, ebp
neg ebp
add ebp, ebx
add dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x10], ebx
shr ebp, 7
mov ebx, edx
shl ebx, 0x19
or ebx, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x14], ebx
shr ebp, 2
mov ebx, edx
shl ebx, 0x1e
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x20], ebp
shl ebx, 4
mov ebp, edx
shr ebp, 0x1c
or ebp, ebx
mov ebx, dword [esp + 0x20]
xor ebx, ebp
mov dword [esp + 0x20], ebx
add ebx, edi
mov edi, dword [esp + 0x44]
mov ebp, edx
mov dword [esp + 0x3c], ebx
shr ebp, 7
mov ebx, edi
shl edi, 0x1e
shl ebx, 0x19
or ebp, ebx
mov ebx, edx
shr ebx, 2
or edi, ebx
xor ebp, edi
mov edi, dword [esp + 0x44]
shr edi, 0x1c
mov ebx, edx
shl ebx, 4
or edi, ebx
xor ebp, edi
mov ebx, dword [esp + 0x3c]
cmp ebx, dword [esp + 0x20]
sbb edi, edi
add ebp, dword [esp + 0x10]
neg edi
add edi, ebp
mov dword [esp + 0x20], edi
mov edi, ecx
or edi, edx
and edi, dword [esp + 0x38]
mov ebp, ecx
and ebp, edx
or edi, ebp
add ebx, edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x48]
mov ebp, edi
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x44]
and edi, ebx
or ebp, ebx
and ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x30]
or ebp, edi
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x3c], edi
sbb edi, edi
neg edi
add edi, dword [esp + 0x20]
add edi, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x20], edi
mov edi, ebx
shl ebp, 0x12
shr edi, 0xe
or edi, ebp
mov ebp, dword [esp + 0x24]
shr ebx, 0x12
shl ebp, 0xe
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor edi, ebx
mov ebx, dword [esp + 0x30]
shr ebp, 9
shl ebx, 0x17
or ebx, ebp
mov ebp, dword [esp + 0x24]
xor edi, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x14], edi
add edi, ebx
mov dword [esp + 0x18], edi
mov edi, dword [esp + 0x30]
mov ebx, edi
shl ebp, 0x17
shr ebx, 9
or ebx, ebp
mov ebp, dword [esp + 0x24]
shl edi, 0xe
shr ebp, 0x12
or edi, ebp
mov ebp, dword [esp + 0x24]
xor ebx, edi
mov edi, dword [esp + 0x30]
shl edi, 0x12
shr ebp, 0xe
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x18]
cmp edi, dword [esp + 0x14]
mov ebp, esi
sbb edi, edi
add ebx, dword [esp + 0x2c]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x30]
and ebp, ebx
mov dword [esp + 0x10], edi
mov edi, ebx
not edi
and edi, dword [esp + 0x40]
or edi, ebp
add dword [esp + 0x18], edi
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x24]
and ebp, edi
mov ebx, edi
mov edi, dword [esp + 0x14]
not ebx
and ebx, dword [esp + 0x28]
or ebx, ebp
cmp dword [esp + 0x18], edi
mov ebp, dword [eax + 0x10299034]
sbb edi, edi
neg edi
add edi, dword [esp + 0x10]
add ebx, edi
mov edi, dword [esp + 0x18]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [eax + 0x10299030]
add ebx, ebp
mov ebp, dword [esp + eax + 0x98]
add edi, ebp
cmp edi, ebp
sbb ebp, ebp
neg ebp
add ebp, dword [esp + eax + 0x94]
add ebx, ebp
mov ebp, dword [esp + 0x38]
add ebp, edi
cmp ebp, edi
mov dword [esp + 0x38], ebp
sbb ebp, ebp
neg ebp
add ebp, ebx
add dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x3c]
shl ebx, 0x19
shr ebp, 7
or ebx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x3c]
shl ebx, 0x1e
shr ebp, 2
or ebx, ebp
mov ebp, dword [esp + 0x14]
xor ebp, ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esp + 0x3c]
shl ebx, 4
shr ebp, 0x1c
or ebp, ebx
mov ebx, dword [esp + 0x2c]
xor ebx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x2c], ebx
add ebx, edi
mov edi, dword [esp + 0x3c]
mov dword [esp + 0x4c], ebx
mov ebx, edi
shr ebx, 7
shr edi, 2
shl ebp, 0x19
or ebx, ebp
mov ebp, dword [esp + 0x20]
shl ebp, 0x1e
or ebp, edi
mov edi, dword [esp + 0x20]
shr edi, 0x1c
xor ebx, ebp
mov ebp, dword [esp + 0x3c]
shl ebp, 4
or edi, ebp
xor ebx, edi
mov edi, dword [esp + 0x4c]
cmp edi, dword [esp + 0x2c]
mov ebp, edx
sbb edi, edi
add ebx, dword [esp + 0x10]
neg edi
add edi, ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x2c], edi
and ebp, ebx
mov edi, edx
or edi, ebx
mov ebx, dword [esp + 0x20]
and edi, ecx
or edi, ebp
add dword [esp + 0x4c], edi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x44]
mov ebp, edi
and edi, ebx
or ebp, ebx
and ebp, dword [esp + 0x48]
or ebp, edi
mov edi, dword [esp + 0x14]
cmp dword [esp + 0x4c], edi
sbb edi, edi
neg edi
add edi, dword [esp + 0x2c]
add eax, 0x40
add edi, ebp
mov dword [esp + 0x2c], edi
cmp eax, 0x280
jb 0x101f9720
mov eax, dword [esp + 0x2e0]
mov ebx, dword [esp + 0x4c]
add dword [eax + 0x94], ebx
cmp dword [eax + 0x94], ebx
sbb ebx, ebx
neg ebx
add ebx, dword [eax + 0x90]
add ebx, edi
mov edi, dword [esp + 0x3c]
add dword [eax + 0x9c], edi
cmp dword [eax + 0x9c], edi
mov dword [eax + 0x90], ebx
sbb edi, edi
add dword [eax + 0xa4], edx
neg edi
add edi, dword [eax + 0x98]
add edi, dword [esp + 0x20]
cmp dword [eax + 0xa4], edx
mov dword [eax + 0x98], edi
sbb edx, edx
add dword [eax + 0xac], ecx
neg edx
add edx, dword [eax + 0xa0]
pop edi
add edx, dword [esp + 0x40]
cmp dword [eax + 0xac], ecx
mov dword [eax + 0xa0], edx
sbb ecx, ecx
neg ecx
add ecx, dword [eax + 0xa8]
add ecx, dword [esp + 0x44]
mov dword [eax + 0xa8], ecx
mov ecx, dword [esp + 0x34]
add dword [eax + 0xb4], ecx
cmp dword [eax + 0xb4], ecx
mov ecx, dword [esp + 0x2c]
sbb edx, edx
add dword [eax + 0xbc], ecx
neg edx
add edx, dword [eax + 0xb0]
add edx, dword [esp + 0x18]
cmp dword [eax + 0xbc], ecx
mov dword [eax + 0xb0], edx
sbb ecx, ecx
add dword [eax + 0xc4], esi
neg ecx
add ecx, dword [eax + 0xb8]
add ecx, dword [esp + 0x20]
cmp dword [eax + 0xc4], esi
mov dword [eax + 0xb8], ecx
mov ecx, dword [esp + 0x3c]
sbb edx, edx
add dword [eax + 0xcc], ecx
neg edx
add edx, dword [eax + 0xc0]
pop esi
add edx, dword [esp + 0x2c]
cmp dword [eax + 0xcc], ecx
pop ebp
sbb ecx, ecx
neg ecx
add ecx, dword [eax + 0xc8]
mov dword [eax + 0xc0], edx
add ecx, dword [esp + 0x1c]
pop ebx
mov dword [eax + 0xc8], ecx
add esp, 0x2cc
ret