Function at 0x1003a4d0
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x1010ac69
mov eax, dword fs:[0]
push eax
sub esp, 0x8cc
mov eax, dword [0x10137920]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor edi, edi
xor eax, eax
mov word [ebp - 0x80], ax
mov eax, ecx
mov ebx, edx
mov dword [ebp - 0x6c], 7
mov dword [ebp - 0x70], edi
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
cmp dx, di
jne 0x1003a517
sub eax, esi
sar eax, 1
push eax
push ecx
lea ecx, [ebp - 0x80]
call fcn.1000abb0
lea ecx, [ebp - 0x9c]
push ecx
mov dword [ebp - 4], edi
call fcn.1001c5f0
add esp, 4
push eax
lea edx, [ebp - 0x80]
push edx
lea eax, [ebp - 0x64]
push eax
mov byte [ebp - 4], 1
call fcn.100195e0
add esp, 0xc
mov byte [ebp - 4], 3
cmp dword [ebp - 0x88], 8
jb 0x1003a573
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.10065453
add esp, 4
lea eax, [ebp - 0x64]
push eax
lea ecx, [ebp - 0x2c]
xor edx, edx
push ecx
mov dword [ebp - 0x88], 7
mov dword [ebp - 0x8c], edi
mov word [ebp - 0x9c], dx
call fcn.1000b1b0
add esp, 8
mov byte [ebp - 4], 4
cmp dword [ebp - 0x18], 0x10
mov eax, dword [ebp - 0x2c]
mov byte [ebp - 0xa8], 0
mov dword [ebp - 0xfc], edi
mov dword [ebp - 0x100], edi
mov dword [ebp - 0x110], 0x67452301
mov dword [ebp - 0x10c], 0xefcdab89
mov dword [ebp - 0x108], 0x98badcfe
mov dword [ebp - 0x104], 0x10325476
jae 0x1003a5e7
lea eax, [ebp - 0x2c]
push eax
mov eax, dword [ebp - 0x1c]
lea esi, [ebp - 0x110]
call fcn.10012b50
lea edx, [ebp - 0x48]
push edx
mov ecx, esi
call fcn.100135e0
lea eax, [ebp - 0x9c]
push ebx
push eax
mov byte [ebp - 4], 5
call fcn.1000b1b0
add esp, 8
cmp dword [eax + 0x14], 0x10
mov esi, dword [eax + 0x10]
jb 0x1003a620
mov eax, dword [eax]
mov ebx, dword [ebp - 0x38]
mov edx, ebx
cmp ebx, esi
jb 0x1003a62b
mov edx, esi
cmp dword [ebp - 0x34], 0x10
mov ecx, dword [ebp - 0x48]
jae 0x1003a637
lea ecx, [ebp - 0x48]
push edx
push eax
push ecx
call fcn.10003f40
add esp, 0xc
cmp eax, edi
jne 0x1003a658
cmp ebx, esi
jae 0x1003a64f
or eax, 0xffffffff
jmp 0x1003a656
xor eax, eax
cmp ebx, esi
setne al
cmp eax, edi
sete al
test al, al
mov esi, 0x10
sete bl
mov byte [ebp - 4], 5
cmp dword [ebp - 0x88], esi
jb 0x1003a680
mov ecx, dword [ebp - 0x9c]
push ecx
call fcn.10065453
add esp, 4
test bl, bl
je 0x1003a6e5
cmp dword [ebp - 0x34], esi
jb 0x1003a695
mov edx, dword [ebp - 0x48]
push edx
call fcn.10065453
add esp, 4
cmp dword [ebp - 0x18], 0x10
mov esi, 0xf
mov dword [ebp - 0x34], esi
mov dword [ebp - 0x38], edi
mov byte [ebp - 0x48], 0
jb 0x1003a6b6
mov eax, dword [ebp - 0x2c]
push eax
call fcn.10065453
add esp, 4
mov dword [ebp - 0x18], esi
mov esi, 8
mov dword [ebp - 0x1c], edi
mov byte [ebp - 0x2c], 0
cmp dword [ebp - 0x50], esi
jb 0x1003a6d6
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.10065453
add esp, 4
mov dword [ebp - 0x50], 7
mov dword [ebp - 0x54], edi
jmp 0x1003a9e1
lea ecx, [ebp - 0x2e0]
call fcn.10043e20
lea ecx, [ebp - 0x2e0]
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 7
call fcn.1003c5f0
lea ecx, [ebp - 0x598]
call fcn.1003fcb0
lea edx, [ebp - 0x598]
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 8
call fcn.10041100
lea ecx, [ebp - 0x3c8]
call fcn.10049fc0
lea eax, [ebp - 0x3c8]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 9
call fcn.1003c5f0
lea ecx, [ebp - 0x1f8]
call fcn.1003e990
lea ecx, [ebp - 0x1f8]
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xa
call fcn.1003c5f0
lea ecx, [ebp - 0x4b0]
call fcn.10047970
lea edx, [ebp - 0x4b0]
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xb
call fcn.1003c5f0
lea ecx, [ebp - 0x808]
call fcn.100466c0
lea eax, [ebp - 0x808]
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xc
call fcn.1003c5f0
lea ebx, [ebp - 0x8d8]
call fcn.1004b5a0
mov ecx, ebx
push ecx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xd
call fcn.1003c5f0
lea ecx, [ebp - 0x668]
call fcn.1003d490
lea edx, [ebp - 0x668]
push edx
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xe
call fcn.1003c5f0
lea ebx, [ebp - 0x738]
call fcn.1003bc30
mov eax, ebx
push eax
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0xf
call fcn.1003c5f0
mov ecx, ebx
mov dword [ebp - 0x738], 0x1012748c
call fcn.1004d6c0
lea ecx, [ebp - 0x668]
mov dword [ebp - 0x668], 0x1012748c
call fcn.1004d6c0
lea ecx, [ebp - 0x8d8]
mov dword [ebp - 0x8d8], 0x1012748c
call fcn.1004d6c0
lea ecx, [ebp - 0x808]
mov dword [ebp - 0x808], 0x1012748c
call fcn.1004d6c0
mov esi, 8
mov dword [ebp - 0x4b0], 0x10127534
cmp dword [ebp - 0x3d0], esi
jb 0x1003a861
mov ecx, dword [ebp - 0x3e4]
push ecx
call fcn.10065453
add esp, 4
xor edx, edx
mov edi, 7
xor ebx, ebx
lea ecx, [ebp - 0x4b0]
mov dword [ebp - 0x3d0], edi
mov dword [ebp - 0x3d4], ebx
mov word [ebp - 0x3e4], dx
call fcn.1004d6c0
mov dword [ebp - 0x1f8], 0x10127534
cmp dword [ebp - 0x118], esi
jb 0x1003a8a9
mov eax, dword [ebp - 0x12c]
push eax
call fcn.10065453
add esp, 4
xor ecx, ecx
mov word [ebp - 0x12c], cx
lea ecx, [ebp - 0x1f8]
mov dword [ebp - 0x118], edi
mov dword [ebp - 0x11c], ebx
call fcn.1004d6c0
mov dword [ebp - 0x3c8], 0x10127534
cmp dword [ebp - 0x2e8], esi
jb 0x1003a8ea
mov edx, dword [ebp - 0x2fc]
push edx
call fcn.10065453
add esp, 4
xor eax, eax
lea ecx, [ebp - 0x3c8]
mov dword [ebp - 0x2e8], edi
mov dword [ebp - 0x2ec], ebx
mov word [ebp - 0x2fc], ax
call fcn.1004d6c0
mov dword [ebp - 0x598], 0x10127534
cmp dword [ebp - 0x4b8], esi
jb 0x1003a92b
mov ecx, dword [ebp - 0x4cc]
push ecx
call fcn.10065453
add esp, 4
xor edx, edx
lea ecx, [ebp - 0x598]
mov dword [ebp - 0x4b8], edi
mov dword [ebp - 0x4bc], ebx
mov word [ebp - 0x4cc], dx
call fcn.1004d6c0
mov dword [ebp - 0x2e0], 0x10127534
cmp dword [ebp - 0x200], esi
jb 0x1003a96c
mov eax, dword [ebp - 0x214]
push eax
call fcn.10065453
add esp, 4
xor ecx, ecx
mov word [ebp - 0x214], cx
lea ecx, [ebp - 0x2e0]
mov dword [ebp - 0x200], edi
mov dword [ebp - 0x204], ebx
call fcn.1004d6c0
cmp dword [ebp - 0x34], 0x10
jb 0x1003a99e
mov edx, dword [ebp - 0x48]
push edx
call fcn.10065453
add esp, 4
cmp dword [ebp - 0x18], 0x10
mov dword [ebp - 0x34], 0xf
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x48], bl
jb 0x1003a9bd
mov eax, dword [ebp - 0x2c]
push eax
call fcn.10065453
add esp, 4
mov dword [ebp - 0x18], 0xf
mov dword [ebp - 0x1c], ebx
mov byte [ebp - 0x2c], bl
cmp dword [ebp - 0x50], esi
jb 0x1003a9db
mov ecx, dword [ebp - 0x64]
push ecx
call fcn.10065453
add esp, 4
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x54], ebx
xor edx, edx
mov word [ebp - 0x64], dx
cmp dword [ebp - 0x6c], esi
jb 0x1003a9f8
mov eax, dword [ebp - 0x80]
push eax
call fcn.10065453
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1006656c
mov esp, ebp
pop ebp
ret