Function at 0x451530
Capabilities:
Get geographical location

Disassembly:
push ebx
push ebp
mov ebp, dword [esp + 0xc]
push esi
push edi
mov esi, 0x4a71ec
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451567
test cl, cl
je 0x451563
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451567
add eax, 2
add esi, 2
test cl, cl
jne 0x45153f
xor eax, eax
jmp 0x45156c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45159b
mov edi, 0x4aadbc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 4
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aadb0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4515ca
test cl, cl
je 0x4515c6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4515ca
add eax, 2
add esi, 2
test cl, cl
jne 0x4515a2
xor eax, eax
jmp 0x4515cf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4515fe
mov edi, 0x4aada0
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
xor al, al
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aad94
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45162d
test cl, cl
je 0x451629
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45162d
add eax, 2
add esi, 2
test cl, cl
jne 0x451605
xor eax, eax
jmp 0x451632
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451661
mov edi, 0x4aad84
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 1
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aad7c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451690
test cl, cl
je 0x45168c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451690
add eax, 2
add esi, 2
test cl, cl
jne 0x451668
xor eax, eax
jmp 0x451695
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4516c4
mov edi, 0x4aad6c
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 2
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4a6fec
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4516f3
test cl, cl
je 0x4516ef
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4516f3
add eax, 2
add esi, 2
test cl, cl
jne 0x4516cb
xor eax, eax
jmp 0x4516f8
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451727
mov edi, 0x4aad64
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 3
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aad5c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451756
test cl, cl
je 0x451752
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451756
add eax, 2
add esi, 2
test cl, cl
jne 0x45172e
xor eax, eax
jmp 0x45175b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45178a
mov edi, 0x4aad50
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 5
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aad48
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4517b9
test cl, cl
je 0x4517b5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4517b9
add eax, 2
add esi, 2
test cl, cl
jne 0x451791
xor eax, eax
jmp 0x4517be
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4517ed
mov edi, 0x4aad38
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 6
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aad30
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45181c
test cl, cl
je 0x451818
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45181c
add eax, 2
add esi, 2
test cl, cl
jne 0x4517f4
xor eax, eax
jmp 0x451821
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451850
mov edi, 0x4aad20
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 7
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aad14
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45187f
test cl, cl
je 0x45187b
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45187f
add eax, 2
add esi, 2
test cl, cl
jne 0x451857
xor eax, eax
jmp 0x451884
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4518b3
mov edi, 0x4aad08
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 8
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aacfc
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4518e2
test cl, cl
je 0x4518de
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4518e2
add eax, 2
add esi, 2
test cl, cl
jne 0x4518ba
xor eax, eax
jmp 0x4518e7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451916
mov edi, 0x4aacec
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 9
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aace4
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451945
test cl, cl
je 0x451941
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451945
add eax, 2
add esi, 2
test cl, cl
jne 0x45191d
xor eax, eax
jmp 0x45194a
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451979
mov edi, 0x4aacd4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0xa
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4a7000
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4519a8
test cl, cl
je 0x4519a4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4519a8
add eax, 2
add esi, 2
test cl, cl
jne 0x451980
xor eax, eax
jmp 0x4519ad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4519dc
mov edi, 0x4aaccc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0xb
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aacc4
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451a0b
test cl, cl
je 0x451a07
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451a0b
add eax, 2
add esi, 2
test cl, cl
jne 0x4519e3
xor eax, eax
jmp 0x451a10
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451a3f
mov edi, 0x4aacb8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0xc
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aacb0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451a6e
test cl, cl
je 0x451a6a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451a6e
add eax, 2
add esi, 2
test cl, cl
jne 0x451a46
xor eax, eax
jmp 0x451a73
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451aa2
mov edi, 0x4aaca4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0xd
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac9c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451ad1
test cl, cl
je 0x451acd
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451ad1
add eax, 2
add esi, 2
test cl, cl
jne 0x451aa9
xor eax, eax
jmp 0x451ad6
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451b05
mov edi, 0x4aac90
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0xe
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac84
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451b34
test cl, cl
je 0x451b30
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451b34
add eax, 2
add esi, 2
test cl, cl
jne 0x451b0c
xor eax, eax
jmp 0x451b39
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451b68
mov edi, 0x4aac74
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0xf
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac68
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451b97
test cl, cl
je 0x451b93
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451b97
add eax, 2
add esi, 2
test cl, cl
jne 0x451b6f
xor eax, eax
jmp 0x451b9c
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451bcb
mov edi, 0x4aac58
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x10
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac50
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451bfa
test cl, cl
je 0x451bf6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451bfa
add eax, 2
add esi, 2
test cl, cl
jne 0x451bd2
xor eax, eax
jmp 0x451bff
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451c2e
mov edi, 0x4aac40
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x11
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac38
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451c5d
test cl, cl
je 0x451c59
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451c5d
add eax, 2
add esi, 2
test cl, cl
jne 0x451c35
xor eax, eax
jmp 0x451c62
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451c91
mov edi, 0x4aac28
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x12
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac20
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451cc0
test cl, cl
je 0x451cbc
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451cc0
add eax, 2
add esi, 2
test cl, cl
jne 0x451c98
xor eax, eax
jmp 0x451cc5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451cf4
mov edi, 0x4aac10
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x13
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aac08
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451d23
test cl, cl
je 0x451d1f
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451d23
add eax, 2
add esi, 2
test cl, cl
jne 0x451cfb
xor eax, eax
jmp 0x451d28
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451d57
mov edi, 0x4aabf8
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x14
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aabec
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451d86
test cl, cl
je 0x451d82
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451d86
add eax, 2
add esi, 2
test cl, cl
jne 0x451d5e
xor eax, eax
jmp 0x451d8b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451dba
mov edi, 0x4aabdc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x15
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aabd0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451de9
test cl, cl
je 0x451de5
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451de9
add eax, 2
add esi, 2
test cl, cl
jne 0x451dc1
xor eax, eax
jmp 0x451dee
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451e1d
mov edi, 0x4aabbc
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x16
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aabb0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451e4c
test cl, cl
je 0x451e48
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451e4c
add eax, 2
add esi, 2
test cl, cl
jne 0x451e24
xor eax, eax
jmp 0x451e51
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451e80
mov edi, 0x4aaba4
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x17
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aab98
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451eaf
test cl, cl
je 0x451eab
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451eaf
add eax, 2
add esi, 2
test cl, cl
jne 0x451e87
xor eax, eax
jmp 0x451eb4
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451ee3
mov edi, 0x4aab90
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov al, 0x18
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov esi, 0x4aab84
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451f12
test cl, cl
je 0x451f0e
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451f12
add eax, 2
add esi, 2
test cl, cl
jne 0x451eea
xor eax, eax
jmp 0x451f17
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451f25
mov edi, 0x4aab70
jmp 0x45277e
mov esi, 0x4aab64
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451f54
test cl, cl
je 0x451f50
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451f54
add eax, 2
add esi, 2
test cl, cl
jne 0x451f2c
xor eax, eax
jmp 0x451f59
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451f67
mov edi, 0x4aab54
jmp 0x45277e
mov esi, 0x4aab48
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451f96
test cl, cl
je 0x451f92
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451f96
add eax, 2
add esi, 2
test cl, cl
jne 0x451f6e
xor eax, eax
jmp 0x451f9b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451fa9
mov edi, 0x4aab34
jmp 0x45277e
mov esi, 0x4aab28
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x451fd8
test cl, cl
je 0x451fd4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x451fd8
add eax, 2
add esi, 2
test cl, cl
jne 0x451fb0
xor eax, eax
jmp 0x451fdd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x451feb
mov edi, 0x4aab14
jmp 0x45277e
mov ecx, 2
mov edi, 0x4aab08
mov esi, ebp
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x452007
mov edi, 0x4aaaf4
jmp 0x45277e
mov ecx, 2
mov edi, 0x4aaae8
mov esi, ebp
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
jne 0x452023
mov edi, 0x4aaad4
jmp 0x45277e
mov ecx, 7
mov edi, 0x4aaacc
mov esi, ebp
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x45203f
mov edi, 0x4aaabc
jmp 0x45277e
mov ecx, 7
mov edi, 0x4aaab4
mov esi, ebp
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x45205b
mov edi, 0x4aaaa8
jmp 0x45277e
mov ecx, 7
mov edi, 0x4aaaa0
mov esi, ebp
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x452077
mov edi, 0x4aaa8c
jmp 0x45277e
mov ecx, 7
mov edi, 0x4aaa84
mov esi, ebp
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x452093
mov edi, 0x4aaa70
jmp 0x45277e
mov esi, 0x4aaa64
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4520c2
test cl, cl
je 0x4520be
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4520c2
add eax, 2
add esi, 2
test cl, cl
jne 0x45209a
xor eax, eax
jmp 0x4520c7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4520d5
mov edi, 0x4aaa8c
jmp 0x45277e
mov esi, 0x4aaa58
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452104
test cl, cl
je 0x452100
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452104
add eax, 2
add esi, 2
test cl, cl
jne 0x4520dc
xor eax, eax
jmp 0x452109
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452117
mov edi, 0x4aaa70
jmp 0x45277e
mov esi, 0x4aaa4c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452146
test cl, cl
je 0x452142
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452146
add eax, 2
add esi, 2
test cl, cl
jne 0x45211e
xor eax, eax
jmp 0x45214b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452159
mov edi, 0x4aaa40
jmp 0x45277e
mov esi, 0x4aaa34
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452188
test cl, cl
je 0x452184
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452188
add eax, 2
add esi, 2
test cl, cl
jne 0x452160
xor eax, eax
jmp 0x45218d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45219b
mov edi, 0x4aaa40
jmp 0x45277e
mov esi, 0x4aaa2c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4521ca
test cl, cl
je 0x4521c6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4521ca
add eax, 2
add esi, 2
test cl, cl
jne 0x4521a2
xor eax, eax
jmp 0x4521cf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4521dd
mov edi, 0x4aaa1c
jmp 0x45277e
mov esi, 0x4aaa14
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45220c
test cl, cl
je 0x452208
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45220c
add eax, 2
add esi, 2
test cl, cl
jne 0x4521e4
xor eax, eax
jmp 0x452211
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45221f
mov edi, 0x4aaa04
jmp 0x45277e
mov esi, 0x4aa9fc
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45224e
test cl, cl
je 0x45224a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45224e
add eax, 2
add esi, 2
test cl, cl
jne 0x452226
xor eax, eax
jmp 0x452253
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452261
mov edi, 0x4aa9ec
jmp 0x45277e
mov esi, 0x4aa9e4
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452290
test cl, cl
je 0x45228c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452290
add eax, 2
add esi, 2
test cl, cl
jne 0x452268
xor eax, eax
jmp 0x452295
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4522a3
mov edi, 0x4aa9ec
jmp 0x45277e
mov esi, 0x4aa9d8
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4522d2
test cl, cl
je 0x4522ce
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4522d2
add eax, 2
add esi, 2
test cl, cl
jne 0x4522aa
xor eax, eax
jmp 0x4522d7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4522e5
mov edi, 0x4aa9c4
jmp 0x45277e
mov esi, 0x4aa9b8
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452314
test cl, cl
je 0x452310
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452314
add eax, 2
add esi, 2
test cl, cl
jne 0x4522ec
xor eax, eax
jmp 0x452319
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452327
mov edi, 0x4aa9c4
jmp 0x45277e
mov esi, 0x4aa9ac
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452356
test cl, cl
je 0x452352
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452356
add eax, 2
add esi, 2
test cl, cl
jne 0x45232e
xor eax, eax
jmp 0x45235b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452369
mov edi, 0x4aa998
jmp 0x45277e
mov esi, 0x4aa98c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452398
test cl, cl
je 0x452394
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452398
add eax, 2
add esi, 2
test cl, cl
jne 0x452370
xor eax, eax
jmp 0x45239d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4523ab
mov edi, 0x4aa998
jmp 0x45277e
mov esi, 0x4aa980
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4523da
test cl, cl
je 0x4523d6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4523da
add eax, 2
add esi, 2
test cl, cl
jne 0x4523b2
xor eax, eax
jmp 0x4523df
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4523ed
mov edi, 0x4aa96c
jmp 0x45277e
mov esi, 0x4aa960
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45241c
test cl, cl
je 0x452418
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45241c
add eax, 2
add esi, 2
test cl, cl
jne 0x4523f4
xor eax, eax
jmp 0x452421
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45242f
mov edi, 0x4aa96c
jmp 0x45277e
mov esi, 0x4aa954
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45245e
test cl, cl
je 0x45245a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45245e
add eax, 2
add esi, 2
test cl, cl
jne 0x452436
xor eax, eax
jmp 0x452463
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452471
mov edi, 0x4aa940
jmp 0x45277e
mov esi, 0x4aa934
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4524a0
test cl, cl
je 0x45249c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4524a0
add eax, 2
add esi, 2
test cl, cl
jne 0x452478
xor eax, eax
jmp 0x4524a5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4524b3
mov edi, 0x4aa940
jmp 0x45277e
mov esi, 0x4aa928
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4524e2
test cl, cl
je 0x4524de
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4524e2
add eax, 2
add esi, 2
test cl, cl
jne 0x4524ba
xor eax, eax
jmp 0x4524e7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4524f5
mov edi, 0x4aa920
jmp 0x45277e
mov esi, 0x4aa914
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452524
test cl, cl
je 0x452520
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452524
add eax, 2
add esi, 2
test cl, cl
jne 0x4524fc
xor eax, eax
jmp 0x452529
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452537
mov edi, 0x4aa90c
jmp 0x45277e
mov esi, 0x4aa900
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452566
test cl, cl
je 0x452562
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452566
add eax, 2
add esi, 2
test cl, cl
jne 0x45253e
xor eax, eax
jmp 0x45256b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452579
mov edi, 0x4aa8f8
jmp 0x45277e
mov esi, 0x4aa8ec
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4525a8
test cl, cl
je 0x4525a4
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4525a8
add eax, 2
add esi, 2
test cl, cl
jne 0x452580
xor eax, eax
jmp 0x4525ad
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4525bb
mov edi, 0x4aa8e4
jmp 0x45277e
mov esi, 0x4aa8d8
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4525ea
test cl, cl
je 0x4525e6
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4525ea
add eax, 2
add esi, 2
test cl, cl
jne 0x4525c2
xor eax, eax
jmp 0x4525ef
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4525fd
mov edi, 0x4aa8d0
jmp 0x45277e
mov esi, 0x4aa8c4
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45262c
test cl, cl
je 0x452628
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45262c
add eax, 2
add esi, 2
test cl, cl
jne 0x452604
xor eax, eax
jmp 0x452631
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x45263f
mov edi, 0x4aa8bc
jmp 0x45277e
mov esi, 0x4aa8b0
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x45266e
test cl, cl
je 0x45266a
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x45266e
add eax, 2
add esi, 2
test cl, cl
jne 0x452646
xor eax, eax
jmp 0x452673
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452681
mov edi, 0x4aa8a8
jmp 0x45277e
mov esi, 0x4aa89c
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4526b0
test cl, cl
je 0x4526ac
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4526b0
add eax, 2
add esi, 2
test cl, cl
jne 0x452688
xor eax, eax
jmp 0x4526b5
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4526c3
mov edi, 0x4aa894
jmp 0x45277e
mov esi, 0x4aa888
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x4526f2
test cl, cl
je 0x4526ee
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x4526f2
add eax, 2
add esi, 2
test cl, cl
jne 0x4526ca
xor eax, eax
jmp 0x4526f7
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452702
mov edi, 0x4aa880
jmp 0x45277e
mov esi, 0x4aa878
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452731
test cl, cl
je 0x45272d
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452731
add eax, 2
add esi, 2
test cl, cl
jne 0x452709
xor eax, eax
jmp 0x452736
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x452741
mov edi, 0x4aa868
jmp 0x45277e
mov esi, 0x4aa860
mov eax, ebp
mov dl, byte [eax]
mov bl, byte [esi]
mov cl, dl
cmp dl, bl
jne 0x452770
test cl, cl
je 0x45276c
mov dl, byte [eax + 1]
mov bl, byte [esi + 1]
mov cl, dl
cmp dl, bl
jne 0x452770
add eax, 2
add esi, 2
test cl, cl
jne 0x452748
xor eax, eax
jmp 0x452775
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x4527a6
mov edi, 0x4aa854
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
or al, 0xff
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
or al, 0xff
mov edx, ecx
mov esi, edi
mov edi, dword [esp + 0x18]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
pop edi
pop esi
pop ebp
pop ebx
ret 8