Function at 0x409220
Capabilities:
Hash data with md5

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x42bf3a
mov eax, dword fs:[0]
push eax
sub esp, 0x1b8
mov eax, dword [0x435080]
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.0040f860
test al, al
jne 0x4092ae
lea esi, [ebp - 0x18]
call fcn.0040f5a0
test al, al
jne 0x4092ae
call fcn.0040f6d0
mov byte [ebp - 0x1b9], bl
test al, al
je 0x4092b5
mov byte [ebp - 0x1b9], 1
lea esi, [ebp - 0x50]
lea edx, [ebp - 0x34]
lea ecx, [ebp - 0x6c]
call fcn.0040f430
mov byte [ebp - 0x1ba], al
cmp byte [ebp - 0x1b9], bl
je 0x409516
lea ecx, [ebp - 0x88]
push ecx
lea ecx, [ebp - 0x18]
call fcn.00408f20
mov byte [ebp - 4], 3
cmp byte [ebp - 0x1ba], bl
je 0x40942f
lea edx, [ebp - 0x6c]
push edx
lea eax, [ebp - 0x114]
push eax
call fcn.0040d320
add esp, 8
mov ecx, eax
lea eax, [ebp - 0xf8]
mov byte [ebp - 4], 4
call fcn.0040d3d0
mov ecx, eax
lea eax, [ebp - 0x34]
lea ebx, [ebp - 0xdc]
mov byte [ebp - 4], 5
call fcn.0040d410
mov ecx, eax
lea eax, [ebp - 0xc0]
mov byte [ebp - 4], 6
call fcn.0040d3d0
mov ecx, eax
mov eax, esi
lea ebx, [ebp - 0xa4]
mov byte [ebp - 4], 7
call fcn.0040d410
xor ebx, ebx
push ebx
push eax
or eax, 0xffffffff
lea esi, [ebp - 0x88]
mov byte [ebp - 4], 8
call fcn.00404100
mov esi, 0x10
cmp dword [ebp - 0x90], esi
jb 0x409382
mov ecx, dword [ebp - 0xa4]
push ecx
call fcn.004114ab
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 0x4093b0
mov edx, dword [ebp - 0xc0]
push edx
call fcn.004114ab
add esp, 4
mov dword [ebp - 0xac], edi
mov dword [ebp - 0xb0], ebx
mov byte [ebp - 0xc0], bl
cmp dword [ebp - 0xc8], esi
jb 0x4093d9
mov eax, dword [ebp - 0xdc]
push eax
call fcn.004114ab
add esp, 4
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xcc], ebx
mov byte [ebp - 0xdc], bl
cmp dword [ebp - 0xe4], esi
jb 0x409402
mov ecx, dword [ebp - 0xf8]
push ecx
call fcn.004114ab
add esp, 4
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xe8], ebx
mov byte [ebp - 0xf8], bl
cmp dword [ebp - 0x100], esi
jb 0x40942b
mov edx, dword [ebp - 0x114]
push edx
call fcn.004114ab
add esp, 4
xor ebx, ebx
jmp 0x409434
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 0x40947f
lea eax, [ebp - 0x88]
mov ecx, dword [ebp - 0x78]
push ecx
push eax
lea edi, [ebp - 0x1b8]
call fcn.0040e2e0
mov edx, dword [ebp - 0x1c0]
push edx
mov esi, edi
call fcn.0040e3a0
mov esi, 0x10
add esp, 0xc
cmp dword [ebp - 0x74], esi
jb 0x4094b9
mov eax, dword [ebp - 0x88]
push eax
call fcn.004114ab
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 0x4094db
mov ecx, dword [ebp - 0x50]
push ecx
call fcn.004114ab
add esp, 4
mov byte [ebp - 0x50], bl
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], edi
cmp dword [ebp - 0x20], esi
jb 0x4094f5
mov edx, dword [ebp - 0x34]
push edx
call fcn.004114ab
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x40950f
mov eax, dword [ebp - 0x6c]
push eax
call fcn.004114ab
add esp, 4
mov al, 1
jmp 0x4095e4
mov esi, dword [ebp - 0x1c0]
push esi
call fcn.00409610
test al, al
je 0x40952d
mov esi, 0x10
jmp 0x4094ca
mov edi, esi
call fcn.00409910
test al, al
je 0x409593
mov ecx, esi
push ecx
call fcn.004097f0
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jb 0x409556
mov edx, dword [ebp - 0x50]
push edx
call fcn.004114ab
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 0x409575
mov eax, dword [ebp - 0x34]
push eax
call fcn.004114ab
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x40950f
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004114ab
add esp, 4
mov al, 1
jmp 0x4095e4
mov esi, 0x10
cmp dword [ebp - 0x3c], esi
jb 0x4095a9
mov edx, dword [ebp - 0x50]
push edx
call fcn.004114ab
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 0x4095c8
mov eax, dword [ebp - 0x34]
push eax
call fcn.004114ab
add esp, 4
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x24], ebx
mov byte [ebp - 0x34], bl
cmp dword [ebp - 0x58], esi
jb 0x4095e2
mov ecx, dword [ebp - 0x6c]
push ecx
call fcn.004114ab
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.004114b6
mov esp, ebp
pop ebp
ret 4