Function at 0x422742
Capabilities:
Hash data with md5

Disassembly:
push 0x2c
call 0x422742
cmc
mov bh, bl
sbb byte [ecx + 0x56], dh
xlatb
les ebp, [ebp - 0x56cf8c1e]
add esp, 8
push edx
inc edx
mov edx, esp
xor dword [edx - 0x11], edi
pop edx
pushal
mov esi, dword [esp + 0x24]
mov dword [esi], 0x67452301
mov dword [esi + 4], 0xefcdab89
mov dword [esi + 8], 0x98badcfe
mov dword [esi + 0xc], 0x10325476
mov eax, dword [esp + 0x2c]
lea esp, [esp - 0x37]
xchg dword [esp + 0x33], eax
mov eax, dword [esp + 0x33]
lea esp, [esp + 0x33]
mov dword [esp - 0x6a], ecx
add dword [esp - 0x52], ecx
xor edx, edx
mov ecx, 0x40
div ecx
inc eax
pop edx
jmp 0x4227a7
sub esp, 0x40
mov ebx, esp
mov esi, dword [esp + 0x68]
xchg edx, eax
xchg edi, ebx
or ebx, 0x243f9745
mov ebx, edi
dec edx
jne 0x422926
test eax, eax
js 0x4227d7
add dword [esp - 0x32], edx
mov byte [ebx + eax], 0x80
jmp 0x4227da
xor eax, eax
dec eax
mov ecx, 0x40
sub ecx, eax
add edi, eax
sub esp, 4
xchg dword [esp], eax
sub esp, 0x1e
mov eax, dword [esp + 0x1e]
add esp, 0x22
sub esp, 4
xor eax, eax
inc edi
dec ecx
or ecx, ecx
je 0x42280c
mov byte [edi], al
inc edi
dec ecx
jne 0x422802
or eax, 0xffffffff
and eax, 0xffffffff
and eax, dword [esp]
jae 0x422820
sub esi, 0
push esi
call 0x42283a
dec edi
fsubr st(5), st(0)
mov edx, 0x8661c86b
inc edi
je 0x4227ce
adc ah, bl
loopne 0x4227ce
pop esi
aas
or al, 0x55
push 0xffffffffffffff83
les ecx, [eax]
add esp, 4
test eax, eax
js 0x4228a2
je 0x42284c
cmp eax, esi
push 0
push edi
xor edi, edi
jne 0x4228c8
mov edi, esp
xor dword [edi - 0x62], edx
pop edi
jns 0x42285d
cmp ebx, eax
add dword [esp], edx
xchg edx, eax
xor eax, eax
jne 0x8284df
add eax, 0xce535832
push 0xffffffffffffffb1
call 0x42287d
xchg esi, eax
pop ss
add al, 0xed
and dh, byte [ebx - 0x78f73b7d]
ret 0xf281
push 0xffffffffffffffff
push edi
mov edi, esp
jmp 0x4228af
xor edi, 0
and dword [edi + 4], eax
pop edi
mov eax, dword [esp + 0x70]
push edx
xor edx, edx
or ecx, 0xffffffff
not ecx
or ecx, 0x88352e4e
jne 0x4228d3
xor eax, 0x81067588
add byte [eax], al
add byte [eax], al
xor edx, 0
jns 0x4228d7
test edi, esi
xor ecx, 0x88352e46
jno 0x4228e1
cmp edx, eax
jne 0x4228e5
or edi, edi
mul ecx
mov dword [ebx + 0x38], eax
push esi
xchg esi, ebx
shr ebx, 3
js 0x4228f8
sub ebx, 0
shr ebx, 0x1d
add ebx, 0x5841adf5
or dword [esp - 0x52], esi
jo 0x422909
and ebx, ebx
xchg esi, ebx
xor esi, 0x5841adc9
add esi, ebx
mov dword [esi], edx
pop esi
pop edx
pop eax
jmp 0x422926
test eax, eax
js 0x422947
cmp eax, 0x40
jae 0x422956
jmp 0x422949
xor eax, eax
mov ecx, eax
jmp 0x422971
or ecx, 0xffffffff
jmp 0x422968
inc ecx
not ecx
and ecx, 0x40
mov edi, ebx
rep movsb byte es:[edi], byte [esi]
lea esp, [esp - 4]
xchg dword [esp], eax
mov eax, dword [esp]
push edx
push ebx
push esi
lea esi, [esp + 0x10]
mov edi, dword [esp + 0x74]
push edi
mov eax, dword [edi]
shr ebx, 0xd
cmp dword [esp - 0x48], edi
shr ebx, 0x13
add ebx, 0x9cb36e6e
xor ebx, 0
push eax
call 0x4229b5
mov gs, word [edi - 0x3465ba44]
test al, 0xc1
cmpsw word [esi], word es:[edi]
push esp
std
inc ebx
rol byte [ebx - 0xc7ef73c], 0xd5
cmp byte fs:[ecx], dl
xor ebx, 0x8d8b0abf
add ebx, edi
mov ebx, dword [ebx]
mov ecx, dword [edi + 8]
lea edi, [edi + 0xc]
add edi, 0
mov edx, dword [edi]
lea edi, [edi - 0xc]
sub edi, 0
xor edx, 0x497cf8d8
and edx, edi
or edx, edi
add esp, 0xfffffffc
mov dword [esp], edx
xor edx, edx
je 0x422a01
imul ebp, esi, 0xfa251c8f
stosd dword es:[edi], eax
or byte [ecx - 0x224b783a], ah
push edx
and esp, dword [eax]
fstp dword [esi - 0x357eb381]
cmp eax, 0x87ad17f4
adc al, 0x24
or edx, 0xad17f43d
xchg dword [esp], edx
xor dword [esp], 0xad17f431
add edx, dword [esp]
lea esp, [esp + 4]
mov edx, dword [edx]
mov edi, ebx
lea ebp, [ebx]
and edi, ecx
jmp 0x422a25
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0x28955b88]
add eax, dword [esi]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi - 0x173848aa]
add edx, dword [esi + 4]
sub dword [esp - 0x46], ebx
jmp 0x422a5a
rol edx, 0xc
add edx, eax
mov edi, edx
mov ebp, edx
and edi, eax
not ebp
and ebp, ebx
or edi, ebp
lea ecx, [ecx + edi + 0x242070db]
add ecx, dword [esi + 8]
rol ecx, 0x11
add ecx, edx
add edi, ebx
and edi, ecx
or edi, ecx
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x3e423112]
add ebx, dword [esi + 0xc]
rol ebx, 0x16
add ebx, ecx
or edi, 0xffffffff
sub dword [esp - 0x27], ebx
not edi
sub edi, ebx
dec edi
not edi
mov ebp, ebx
and edi, ecx
jno 0x422ab3
sub esi, 0
jo 0x422ab8
add edi, 0
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi - 0xa83f051]
add eax, dword [esi + 0x10]
jmp 0x422ad2
push esi
inc esi
mov esi, esp
sub dword [esi - 0x65], eax
pop esi
rol eax, 7
add eax, ebx
shl edi, 0xf
cmp dword [esp - 0x58], ebx
jmp 0x422aee
shl edi, 0x11
xor edi, eax
xchg ebp, eax
and eax, edi
mov eax, ebp
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
lea edx, [edx + edi + 0x4787c62a]
add edx, dword [esi + 0x14]
rol edx, 0xc
add edx, eax
mov edi, edx
or ebp, 0xffffffff
jmp 0x422b20
je 0x422b28
add eax, 0
inc ebp
xor ebp, edx
and edi, eax
not ebp
and ebp, ebx
aad 0x21
fisttp qword [ecx]
out dx, eax
or edi, ebp
lea ecx, [ecx + edi - 0x57cfb9ed]
add ecx, dword [esi + 0x18]
rol ecx, 0x11
add ecx, edx
lea edi, [ecx]
mov ebp, ecx
and edi, edx
not ebp
and ebp, eax
or edi, ebp
lea ebx, [ebx + edi - 0x2b96aff]
add ebx, dword [esi + 0x1c]
call 0x422b6c
push cs
das
cmp al, 0xc5
sbb cl, byte [ebx + 0x28]
inc ecx
out 0x27, al
aam 0x7d
jb 0x422b2e
inc eax
call 0x422b7c
jns 0x422b31
pop ds
insb byte es:[edi], dx
xor eax, 0xb1583bca
xchg esi, eax
pop ss
add esp, 8
rol ebx, 0x16
add ebx, ecx
mov edi, ebx
mov ebp, ebx
and edi, ecx
not ebp
and ebp, edx
or edi, ebp
lea eax, [eax + edi + 0x698098d8]
add eax, dword [esi + 0x20]
rol eax, 7
add eax, ebx
mov edi, eax
mov ebp, eax
and edi, ebx
not ebp
and ebp, ecx
or edi, ebp
push 0xe4e78c22
call fcn.00422bc2
mov bl, 0x70
jmp 0xa5de3b2a