Function at 0x408f80
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42c97a
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
mov eax, dword [0x435084]
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
mov eax, dword [ebp + 8]
xor ebx, ebx
mov edi, 0xf
mov dword [ebp - 0x1c0], eax
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x14], bx
mov dword [ebp - 0x58], edi
mov dword [ebp - 0x5c], ebx
mov byte [ebp - 0x6c], bl
mov dword [ebp - 4], ebx
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 2
call fcn.0040f530
test al, al
jne 0x40900e
lea esi, [ebp - 0x18]
call fcn.0040f290
test al, al
jne 0x40900e
call fcn.0040f3c0
mov byte [ebp - 0x1b9], bl
test al, al
je 0x409015
mov byte [ebp - 0x1b9], 1
lea esi, [ebp - 0x50]
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x6c]
call fcn.0040f110
mov byte [ebp - 0x1ba], al
cmp byte [ebp - 0x1b9], bl
je 0x409276
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00408cb0
mov byte [ebp - 4], 3
cmp byte [ebp - 0x1ba], bl
je 0x40918f
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x114]
push eax
call fcn.00403b80
add esp, 8
mov ecx, eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 4
call fcn.00403c30
mov ecx, eax
lea eax, [ebp - 0x34]
lea ebx, [ebp - 0xdc]
mov byte [ebp - 4], 5
call fcn.0040d0f0
mov ecx, eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.00403c30
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0xa4]
mov byte [ebp - 4], 7
call fcn.0040d0f0
xor ebx, ebx
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.00403d90
mov esi, 0x10
cmp dword [ebp - 0x90], esi
jb 0x4090e2
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.004114fe
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x90], edi
mov dword [ebp - 0x94], ebx
mov byte [ebp - 0xa4], bl
cmp dword [ebp - 0xac], esi
jb 0x409110
mov edx, dword [ebp - 0xc0]
push edx
call fcn.004114fe
add esp, 4
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb0], ebx
mov byte [ebp - 0xc0], bl
cmp dword [ebp - 0xc8], esi
jb 0x409139
mov eax, dword [ebp - 0xdc]
push eax
call fcn.004114fe
add esp, 4
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xcc], ebx
mov byte [ebp - 0xdc], bl
cmp dword [ebp - 0xe4], esi
jb 0x409162
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.004114fe
add esp, 4
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe8], ebx
mov byte [ebp - 0xf8], bl
cmp dword [ebp - 0x100], esi
jb 0x40918b
mov edx, dword [ebp - 0x114]
push edx
call fcn.004114fe
add esp, 4
xor ebx, ebx
jmp 0x409194
mov esi, 0x10
mov eax, dword [ebp - 0x88]
mov dword [ebp - 0x1b8], 0x67452301
mov dword [ebp - 0x1b4], 0xefcdab89
mov dword [ebp - 0x1b0], 0x98badcfe
mov dword [ebp - 0x1ac], 0x10325476
mov dword [ebp - 0x1a8], ebx
mov dword [ebp - 0x1a4], ebx
mov dword [ebp - 0x1a0], ebx
cmp dword [ebp - 0x74], esi
jae 0x4091df
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
push ecx
push eax
lea edi, [ebp - 0x1b8]
call fcn.0040dfc0
mov edx, dword [ebp - 0x1c0]
push edx
mov esi, edi
call fcn.0040e080
mov esi, 0x10
add esp, 0xc
cmp dword [ebp - 0x74], esi
jb 0x409219
mov eax, dword [ebp - 0x88]
push eax
call fcn.004114fe
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x78], ebx
mov byte [ebp - 0x88], bl
cmp dword [ebp - 0x3c], esi
jb 0x40923b
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.004114fe
add esp, 4
mov byte [ebp - 0x50], bl
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x20], esi
jb 0x409255
mov edx, dword [ebp - 0x34]
push edx
call fcn.004114fe
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x40926f
mov eax, dword [ebp - 0x6c]
push eax
call fcn.004114fe
add esp, 4
mov al, 1
jmp 0x409344
mov esi, dword [ebp - 0x1c0]
push esi
call fcn.00409370
test al, al
je 0x40928d
mov esi, 0x10
jmp 0x40922a
mov edi, esi
call fcn.004096a0
test al, al
je 0x4092f3
mov ecx, esi
push ecx
call fcn.00409580
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jb 0x4092b6
mov edx, dword [ebp - 0x50]
push edx
call fcn.004114fe
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
cmp dword [ebp - 0x20], esi
jb 0x4092d5
mov eax, dword [ebp - 0x34]
push eax
call fcn.004114fe
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x40926f
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004114fe
add esp, 4
mov al, 1
jmp 0x409344
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jb 0x409309
mov edx, dword [ebp - 0x50]
push edx
call fcn.004114fe
add esp, 4
mov edi, 0xf
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x40], ebx
mov byte [ebp - 0x50], bl
cmp dword [ebp - 0x20], esi
jb 0x409328
mov eax, dword [ebp - 0x34]
push eax
call fcn.004114fe
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x409342
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004114fe
add esp, 4
xor al, al
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.00410f34
mov esp, ebp
pop ebp
ret 4