Function at 0x401500
Capabilities:
Contain obfuscated stackstrings
Encrypt data using tea

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x98
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
cmp eax, 0x11
je 0x401532
mov eax, dword [str.Fingerprint_Format:__XXXXXXXX_XXXXXXXX]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._strcpy
jmp 0x4017ae
mov dword [ebp - 0x88], 0x31633735
mov dword [ebp - 0x84], 0x38326431
mov dword [ebp - 0x80], 0x6632332d
mov dword [ebp - 0x7c], 0x33316133
mov dword [ebp - 0x78], 0x37352d34
mov dword [ebp - 0x74], 0x63623138
mov dword [ebp - 0x70], 0x392d3231
mov dword [ebp - 0x6c], 0x36663565
mov dword [ebp - 0x68], 0x313761
mov dword [esp + 8], 0x28
mov dword [esp + 4], 0
lea eax, [ebp - 0x64]
mov dword [esp], eax
call sym._memset
mov dword [ebp - 0xc], 0
jmp 0x401684
mov byte [ebp - 0xd], 0
mov byte [ebp - 0xe], 0
mov byte [ebp - 0x25], 0
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
add eax, edx
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x4015c9
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0xc]
add eax, edx
mov byte [eax], 0x2d
jmp 0x401680
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xc]
add eax, edx
movzx eax, byte [eax]
mov byte [ebp - 0xd], al
cmp byte [ebp - 0xd], 0x2f
jle 0x4015ef
cmp byte [ebp - 0xd], 0x39
jg 0x4015ef
movzx eax, byte [ebp - 0xd]
sub eax, 0x30
mov byte [ebp - 0xd], al
jmp 0x401605
cmp byte [ebp - 0xd], 0x40
jle 0x401605
cmp byte [ebp - 0xd], 0x46
jg 0x401605
movzx eax, byte [ebp - 0xd]
sub eax, 0x37
mov byte [ebp - 0xd], al
lea edx, [ebp - 0x88]
mov eax, dword [ebp - 0xc]
add eax, edx
movzx eax, byte [eax]
mov byte [ebp - 0xe], al
cmp byte [ebp - 0xe], 0x2f
jle 0x40162e
cmp byte [ebp - 0xe], 0x39
jg 0x40162e
movzx eax, byte [ebp - 0xe]
sub eax, 0x30
mov byte [ebp - 0xe], al
jmp 0x401644
cmp byte [ebp - 0xe], 0x60
jle 0x401644
cmp byte [ebp - 0xe], 0x66
jg 0x401644
movzx eax, byte [ebp - 0xe]
sub eax, 0x57
mov byte [ebp - 0xe], al
movzx eax, byte [ebp - 0xe]
add eax, 0x30
xor al, byte [ebp - 0xd]
mov byte [ebp - 0x25], al
cmp byte [ebp - 0x25], 0x2f
jle 0x40165d
cmp byte [ebp - 0x25], 0x39
jle 0x401672
movzx eax, byte [ebp - 0x25]
add eax, 7
mov ecx, eax
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0xc]
add eax, edx
mov byte [eax], cl
jmp 0x401680
lea edx, [ebp - 0x64]
mov eax, dword [ebp - 0xc]
add edx, eax
movzx eax, byte [ebp - 0x25]
mov byte [edx], al
add dword [ebp - 0xc], 1
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._strlen
cmp eax, dword [ebp - 0xc]
ja 0x40159e
mov eax, dword [ebp - 0x64]
mov edx, dword [ebp - 0x60]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x38]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x404027
lea eax, [ebp - 0x34]
mov dword [esp], eax
call sym._sscanf
mov eax, dword [ebp - 0x5b]
mov edx, dword [ebp - 0x57]
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x30], edx
lea eax, [ebp - 0x3c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x404027
lea eax, [ebp - 0x34]
mov dword [esp], eax
call sym._sscanf
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x20], 0x9e3779b9
mov dword [ebp - 0x24], 0x20
jmp 0x401787
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x14]
add edx, eax
mov eax, dword [ebp - 0x14]
shr eax, 5
sub eax, 0x450a5805
xor edx, eax
mov eax, dword [ebp - 0x14]
shl eax, 4
sub eax, 0x2f6bca87
xor edx, eax
mov eax, dword [ebp - 0x38]
add eax, edx
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x18]
add edx, eax
mov eax, dword [ebp - 0x18]
shl eax, 4
sub eax, 0x8da3e67
xor edx, eax
mov eax, dword [ebp - 0x18]
shr eax, 5
sub eax, 0x4f657ed
xor eax, edx
mov dword [ebp - 0x2c], eax
sub dword [ebp - 0x20], 0x61c88647
mov edx, dword [ebp - 0x2c]
mov eax, dword [ebp - 0x14]
add eax, edx
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x38], eax
sub dword [ebp - 0x24], 1
cmp dword [ebp - 0x24], 0
jg 0x401716
mov eax, dword [ebp - 0x1c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x18]
mov dword [esp + 8], eax
mov dword [esp + 4], str.TDBG7_08X__08X
mov eax, dword [ebp + 0xc]
mov dword [esp], eax
call sym._sprintf
leave
ret