Function at 0x24306f0
Capabilities:
Log keystrokes
Log keystrokes via polling

Disassembly:
sub esp, 8
push ebx
push ebp
mov ebp, dword [sym.imp.user32.dll_keybd_event]
push esi
push edi
mov edi, dword [sym.imp.user32.dll_MapVirtualKeyA]
xor ebx, ebx
push ebx
call dword [sym.imp.user32.dll_GetAsyncKeyState]
test ah, 0x80
je case.0x2430729.1
lea eax, [ebx - 1]
xor esi, esi
cmp eax, 0xfb
mov byte [esp + 0x10], bl
ja case.0x2430729.8
xor ecx, ecx
mov cl, byte [eax + 0x24307c8]
jmp dword [ecx*4 + 0x24307a8]
mov byte [esp + 0x10], 0x10
mov esi, 1
jmp case.0x2430729.8
mov byte [esp + 0x10], 0x11
mov esi, 1
jmp case.0x2430729.8
mov byte [esp + 0x10], 0x12
mov esi, 1
jmp case.0x2430729.8
mov byte [esp + 0x10], 0x10
jmp case.0x2430729.8
mov byte [esp + 0x10], 0x11
jmp case.0x2430729.8
mov byte [esp + 0x10], 0x12
push 0
push ebx
call edi
mov ecx, dword [esp + 0x10]
xor edx, edx
test esi, esi
setne dl
push 0
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x18]
or edx, 2
push edx
push eax
push ecx
call ebp
inc ebx
cmp ebx, 0x100
jb 0x2430705
push 0x64
call dword [sym.imp.kernel32.dll_Sleep]
pop edi
pop esi
pop ebp
pop ebx
add esp, 8
ret
mov esi, dword [edx + 4]
mov ebx, dword [edx + 0x14]
mov ecx, dword [edx]
mov ebp, dword [edx + 0xc]
mov edi, dword [edx + 0x10]
mov dword [esp + 0x1c], esi
mov esi, dword [edx + 8]
mov dword [esp + 0x28], ebx
mov ebx, dword [edx + 0x18]
mov edx, dword [edx + 0x1c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xa4]
test edx, edx
mov dword [esp + 0x38], edi
mov dword [esp + 0x2c], ebx
je 0x24a0b73
mov edx, dword [eax]
mov ebx, edi
mov dword [esp + 0x50], edx
mov edx, edi
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, edi
rol edx, 7
xor ebx, edx
mov edx, dword [esp + 0x2c]
not edi
and edi, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x28]
and edi, edx
mov edx, dword [esp + 0x3c]
xor edx, edi
mov edi, dword [0x24cf39c]
add edi, ebx
mov ebx, dword [esp + 0x14]
add edx, edi
mov edi, dword [esp + 0x50]
add edx, edi
mov edi, dword [esp + 0x1c]
add edx, ebx
mov ebx, ecx
mov dword [esp + 0x10], edx
add ebp, edx
mov edx, edi
and edi, ecx
mov dword [esp + 0x34], edi
xor edx, ecx
mov edi, ecx
mov dword [esp + 0x40], edx
rol ebx, 0x1e
rol edi, 0x13
xor ebx, edi
mov edi, ecx
rol edi, 0xa
xor ebx, edi
mov edi, dword [esp + 0x34]
and edx, esi
mov dword [esp + 0x20], ebp
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x28]
add edx, edi
mov edi, ebp
mov dword [esp + 0x24], edx
mov edx, dword [eax + 4]
mov dword [esp + 0x54], edx
mov edx, ebp
rol edi, 0x1a
rol edx, 0x15
xor edi, edx
mov edx, ebp
rol edx, 7
xor edi, edx
mov edx, ebp
not edx
and edx, ebx
mov ebx, dword [esp + 0x38]
and ebx, ebp
xor edx, ebx
mov ebx, dword [0x24cf3a0]
add ebx, edi
mov edi, dword [esp + 0x54]
add edx, ebx
mov ebx, dword [esp + 0x2c]
add edx, edi
mov edi, dword [esp + 0x24]
add edx, ebx
mov ebx, edi
add esi, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], esi
mov edx, edi
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x40]
and edx, edi
mov edi, dword [esp + 0x34]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x38]
add edx, edi
mov edi, esi
mov dword [esp + 0x18], edx
mov edx, dword [eax + 8]
mov dword [esp + 0x58], edx
mov edx, esi
rol edi, 0x1a
rol edx, 0x15
xor edi, edx
mov edx, esi
rol edx, 7
xor edi, edx
mov edx, esi
not edx
and edx, ebx
mov ebx, ebp
and ebx, esi
xor edx, ebx
mov ebx, dword [0x24cf3a4]
add ebx, edi
mov edi, dword [esp + 0x28]
add edx, ebx
mov ebx, dword [esp + 0x58]
add edx, ebx
mov ebx, dword [esp + 0x1c]
add edx, edi
mov dword [esp + 0x10], edx
add ebx, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x1c], ebx
mov ebx, edx
mov edi, edx
rol ebx, 0x1e
rol edi, 0x13
xor ebx, edi
mov edi, edx
rol edi, 0xa
xor ebx, edi
mov edi, dword [esp + 0x24]
xor edx, ecx
and edx, edi
mov edi, dword [esp + 0x18]
and edi, ecx
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
add edx, edi
mov edi, dword [eax + 0xc]
mov dword [esp + 0x5c], edi
mov edi, dword [esp + 0x1c]
mov ebx, edi
rol ebx, 0x1a
rol edi, 0x15
xor ebx, edi
mov edi, dword [esp + 0x1c]
rol edi, 7
xor ebx, edi
mov edi, dword [esp + 0x1c]
not edi
and edi, ebp
mov ebp, esi
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
and ebp, edi
mov edi, dword [esp + 0x14]
xor edi, ebp
mov ebp, dword [0x24cf3a8]
add ebp, ebx
add edi, ebp
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x38]
add edi, ebx
mov ebx, dword [esp + 0x24]
add edi, ebp
mov ebp, edx
mov dword [esp + 0x10], edi
add ecx, edi
mov edi, edx
rol ebp, 0x1e
rol edi, 0x13
xor ebp, edi
mov edi, edx
rol edi, 0xa
xor ebp, edi
mov edi, dword [esp + 0x18]
xor edi, edx
and edi, ebx
mov ebx, dword [esp + 0x18]
and ebx, edx
xor edi, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
mov ebp, ecx
add edi, ebx
mov ebx, dword [eax + 0x10]
mov dword [esp + 0x60], ebx
mov ebx, ecx
rol ebp, 0x1a
rol ebx, 0x15
xor ebp, ebx
mov ebx, ecx
rol ebx, 7
xor ebp, ebx
mov ebx, ecx
not ebx
and ebx, esi
mov esi, dword [esp + 0x1c]
and esi, ecx
xor ebx, esi
mov esi, dword [0x24cf3ac]
add esi, ebp
mov ebp, dword [esp + 0x60]
add ebx, esi
mov esi, dword [esp + 0x20]
add ebx, ebp
mov ebp, dword [esp + 0x24]
add ebx, esi
mov esi, edi
add ebp, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x24], ebp
mov ebp, edi
rol ebp, 0x1e
rol esi, 0x13
xor ebp, esi
mov ebx, dword [esp + 0x18]
mov esi, edi
rol esi, 0xa
xor ebp, esi
mov esi, edx
xor esi, edi
and esi, ebx
mov ebx, edx
and ebx, edi
xor esi, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add esi, ebx
mov dword [esp + 0x20], esi
mov esi, dword [eax + 0x14]
mov dword [esp + 0x64], esi
mov esi, dword [esp + 0x24]
mov ebx, esi
mov ebp, esi
rol ebx, 0x1a
rol ebp, 0x15
xor ebx, ebp
mov ebp, esi
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x1c]
not esi
and esi, ebp
mov ebp, dword [esp + 0x24]
and ebp, ecx
xor esi, ebp
mov ebp, dword [0x24cf3b0]
add ebp, ebx
mov ebx, dword [esp + 0x2c]
add esi, ebp
mov ebp, dword [esp + 0x64]
add esi, ebp
mov ebp, dword [esp + 0x18]
add esi, ebx
add ebp, esi
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
mov ebp, esi
mov ebx, esi
rol ebp, 0x1e
rol ebx, 0x13
xor ebp, ebx
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
xor ebx, esi
mov dword [esp + 0x3c], ebp
mov ebp, edi
and ebx, edx
and ebp, esi
mov esi, dword [esp + 0x10]
mov dword [esp + 0x14], ebx
xor ebx, ebp
mov ebp, dword [esp + 0x3c]
add esi, ebp
add ebx, esi
mov esi, dword [eax + 0x18]
mov dword [esp + 0x68], esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x2c], ebx
mov ebp, esi
mov ebx, esi
rol ebp, 0x1a
rol ebx, 0x15
xor ebp, ebx
mov ebx, esi
rol ebx, 7
xor ebp, ebx
mov ebx, esi
not ebx
and ebx, ecx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x24]
and ebx, esi
mov esi, dword [esp + 0x14]
xor esi, ebx
mov ebx, dword [0x24cf3b4]
add ebx, ebp
mov ebp, dword [esp + 0x68]
add esi, ebx
mov ebx, dword [esp + 0x1c]
add esi, ebp
add esi, ebx
mov dword [esp + 0x10], esi
add edx, esi
mov esi, dword [esp + 0x2c]
mov ebp, esi
mov ebx, esi
rol ebp, 0x1e
rol ebx, 0x13
xor ebp, ebx
mov ebx, esi
rol ebx, 0xa
xor ebp, ebx
mov ebx, dword [esp + 0x20]
xor ebx, esi
mov dword [esp + 0x3c], ebp
and ebx, edi
mov dword [esp + 0x14], ebx
mov ebp, dword [esp + 0x20]
and ebp, esi
mov esi, dword [esp + 0x10]
xor ebx, ebp
mov ebp, dword [esp + 0x3c]
add esi, ebp
mov ebp, dword [esp + 0x24]
add ebx, esi
mov esi, dword [eax + 0x1c]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x6c], esi
mov ebx, edx
mov esi, edx
rol ebx, 0x1a
rol esi, 0x15
xor ebx, esi
mov esi, edx
rol esi, 7
xor ebx, esi
mov esi, edx
not esi
and esi, ebp
mov ebp, dword [esp + 0x18]
and ebp, edx
xor esi, ebp
mov ebp, dword [0x24cf3b8]
add ebp, ebx
mov ebx, dword [esp + 0x6c]
add esi, ebp
add esi, ebx
mov ebx, dword [esp + 0x2c]
add esi, ecx
mov dword [esp + 0x10], esi
add edi, esi
mov esi, dword [esp + 0x1c]
mov ebp, esi
mov ecx, esi
rol ebp, 0x1e
rol ecx, 0x13
xor ebp, ecx
mov ecx, esi
rol ecx, 0xa
xor ebp, ecx
mov ecx, ebx
xor ecx, esi
and ebx, esi
and ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x10]
add esi, ebp
mov ebp, dword [esp + 0x18]
xor ecx, ebx
mov ebx, edi
add ecx, esi
mov esi, dword [eax + 0x20]
mov dword [esp + 0x70], esi
mov esi, edi
rol esi, 0x1a
rol ebx, 0x15
xor esi, ebx
mov ebx, edi
rol ebx, 7
xor esi, ebx
mov ebx, edi
not ebx
and ebx, ebp
mov ebp, edx
and ebp, edi
mov dword [esp + 0x28], ecx
xor ebx, ebp
mov ebp, dword [0x24cf3bc]
add ebp, esi
mov esi, dword [esp + 0x70]
add ebx, ebp
mov ebp, dword [esp + 0x24]
add ebx, esi
mov esi, dword [esp + 0x20]
add ebx, ebp
mov ebp, dword [esp + 0x1c]
add esi, ebx
mov dword [esp + 0x20], esi
mov esi, ebp
xor esi, ecx
mov dword [esp + 0x40], esi
mov esi, ebp
and esi, ecx
mov ebp, ecx
mov dword [esp + 0x34], esi
mov esi, ecx
rol ebp, 0x1e
rol esi, 0x13
xor ebp, esi
mov esi, dword [esp + 0x40]
rol ecx, 0xa
xor ebp, ecx
mov ecx, dword [esp + 0x2c]
and esi, ecx
mov ecx, dword [esp + 0x34]
xor esi, ecx
mov ecx, dword [eax + 0x24]
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x20]
add ebx, ebp
mov ebp, ecx
add esi, ebx
mov ebx, ecx
rol ebp, 0x1a
rol ebx, 0x15
xor ebp, ebx
mov ebx, ecx
rol ebx, 7
xor ebp, ebx
mov ebx, ecx
not ebx
and ebx, edx
mov dword [esp + 0x14], ebx
mov ebx, edi
and ebx, ecx
mov ecx, dword [esp + 0x14]
xor ecx, ebx
mov ebx, dword [0x24cf3c0]
add ebx, ebp
mov ebp, dword [esp + 0x18]
add ecx, ebx
mov ebx, dword [esp + 0x74]
add ecx, ebx
mov ebx, dword [esp + 0x2c]
add ecx, ebp
mov ebp, esi
mov dword [esp + 0x10], ecx
add ebx, ecx
mov ecx, esi
mov dword [esp + 0x2c], ebx
rol ebp, 0x1e
rol ecx, 0x13
xor ebp, ecx
mov ebx, dword [esp + 0x34]
mov ecx, esi
rol ecx, 0xa
xor ebp, ecx
mov ecx, dword [esp + 0x40]
and ecx, esi
xor ecx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add ecx, ebx
mov dword [esp + 0x18], ecx
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x2c]
mov ebp, ecx
mov ebx, ecx
rol ebp, 0x1a
rol ebx, 0x15
xor ebp, ebx
mov ebx, ecx
rol ebx, 7
xor ebp, ebx
mov ebx, ecx
not ebx
and ebx, edi
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x20]
and ebx, ecx
mov ecx, dword [esp + 0x14]
xor ecx, ebx
mov ebx, dword [0x24cf3c4]
add ebx, ebp
mov ebp, dword [esp + 0x78]
add ecx, ebx
mov ebx, dword [esp + 0x28]
add ecx, ebp
add ecx, edx
mov edx, dword [esp + 0x1c]
add edx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
mov ebp, edx
mov ecx, edx
rol ebp, 0x1e
rol ecx, 0x13
xor ebp, ecx
mov ecx, edx
rol ecx, 0xa
xor ebp, ecx
mov ecx, edx
xor ecx, ebx
and edx, ebx
and ecx, esi
xor ecx, edx
mov edx, dword [esp + 0x10]
add edx, ebp
add ecx, edx
mov edx, dword [eax + 0x2c]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x1c]
mov ebx, edx
mov ebp, edx
rol ebx, 0x1a
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x20]
not edx
and edx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
and ebp, edx
mov edx, dword [esp + 0x14]
xor edx, ebp
mov ebp, dword [0x24cf3c8]
add ebp, ebx
mov ebx, dword [esp + 0x7c]
add edx, ebp
mov ebp, ecx
add edx, ebx
mov ebx, dword [esp + 0x28]
add edx, edi
mov edi, ecx
add ebx, edx
rol ebp, 0x1e
rol edi, 0x13
xor ebp, edi
mov edi, ecx
rol edi, 0xa
xor ebp, edi
mov edi, dword [esp + 0x18]
mov dword [esp + 0x28], ebx
mov ebx, edi
xor ebx, ecx
and edi, ecx
and ebx, esi
add edx, ebp
xor ebx, edi
add ebx, edx
mov edx, dword [eax + 0x30]
mov dword [esp + 0x80], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x30], ebx
mov edi, edx
mov ebp, edx
rol edi, 0x1a
rol ebp, 0x15
xor edi, ebp
mov ebp, edx
rol ebp, 7
xor edi, ebp
mov ebp, dword [esp + 0x2c]
not edx
and edx, ebp
mov ebp, dword [esp + 0x1c]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
and ebp, edx
mov edx, dword [esp + 0x14]
xor edx, ebp
mov ebp, dword [0x24cf3cc]
add ebp, edi
mov edi, dword [esp + 0x80]
add edx, ebp
mov ebp, dword [esp + 0x20]
add edx, edi
mov edi, dword [esp + 0x18]
add edx, ebp
mov ebp, ebx
mov dword [esp + 0x10], edx
add esi, edx
mov edx, ebx
rol ebp, 0x1e
rol edx, 0x13
xor ebp, edx
mov edx, ebx
rol edx, 0xa
xor ebp, edx
mov edx, ecx
xor edx, ebx
and edx, edi
mov edi, ecx
and edi, ebx
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebp
mov ebp, dword [esp + 0x1c]
add edx, edi
mov edi, esi
mov dword [esp + 0x20], edx
mov edx, dword [eax + 0x34]
mov dword [esp + 0x84], edx
mov edx, esi
rol edi, 0x1a
rol edx, 0x15
xor edi, edx
mov edx, esi
rol edx, 7
xor edi, edx
mov edx, esi
not edx
and edx, ebp
mov ebp, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
and ebp, edx
mov edx, dword [esp + 0x14]
xor edx, ebp
mov ebp, dword [0x24cf3d0]
add ebp, edi
mov edi, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x84]
add edx, ebp
mov ebp, dword [esp + 0x18]
add edx, edi
mov dword [esp + 0x10], edx
add ebp, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], ebp
mov ebp, edx
mov edi, edx
rol ebp, 0x1e
rol edi, 0x13
xor ebp, edi
mov edi, edx
rol edi, 0xa
xor ebp, edi
mov edi, ebx
xor edi, edx
and edi, ecx
mov dword [esp + 0x14], edi
mov edi, ebx
and edi, edx
mov edx, dword [esp + 0x14]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebp
add edx, edi
mov dword [esp + 0x2c], edx
mov edx, dword [eax + 0x38]
mov dword [esp + 0x88], edx
mov edx, dword [esp + 0x18]
mov edi, edx
mov ebp, edx
rol edi, 0x1a
rol ebp, 0x15
xor edi, ebp
mov ebp, edx
rol ebp, 7
xor edi, ebp
mov ebp, dword [esp + 0x28]
not edx
and edx, ebp
mov ebp, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x18]
and ebp, edx
mov edx, dword [esp + 0x14]
xor edx, ebp
mov ebp, dword [0x24cf3d4]
add ebp, edi
mov edi, dword [esp + 0x1c]
add edx, ebp
mov ebp, dword [esp + 0x88]
add edx, ebp
add edx, edi
mov dword [esp + 0x10], edx
add ecx, edx
mov edx, dword [esp + 0x2c]
mov ebp, edx
mov edi, edx
rol ebp, 0x1e
rol edi, 0x13
xor ebp, edi
mov edi, edx
rol edi, 0xa
xor ebp, edi
mov edi, dword [esp + 0x20]
xor edi, edx
and edi, ebx
mov ebx, dword [esp + 0x20]
and ebx, edx
mov edx, dword [esp + 0x10]
xor edi, ebx
add edx, ebp
add edi, edx
mov edx, dword [eax + 0x3c]
mov dword [esp + 0x8c], edx
mov ebp, ecx
mov edx, ecx
mov ebx, dword [esp + 0x18]
rol ebp, 0x1a
rol edx, 0x15
xor ebp, edx
mov edx, ecx
rol edx, 7
xor ebp, edx
mov edx, ecx
not edx
and edx, esi
and ebx, ecx
xor edx, ebx
mov ebx, dword [esp + 0x8c]
add ebx, ebp
add edx, ebx
mov ebx, dword [0x24cf3d8]
mov ebp, dword [esp + 0x28]
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, ebp
mov ebp, edi
mov dword [esp + 0x10], edx
add ebx, edx
mov edx, edi
mov dword [esp + 0x30], ebx
rol ebp, 0x1e
rol edx, 0x13
xor ebp, edx
mov ebx, dword [esp + 0x20]
mov edx, edi
rol edx, 0xa
xor ebp, edx
mov edx, dword [esp + 0x2c]
xor edx, edi
and edx, ebx
mov ebx, dword [esp + 0x2c]
and ebx, edi
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add edx, ebx
add eax, 0x40
mov dword [esp + 0x28], edx
jmp 0x24a15ed
xor edx, edx
xor ebx, ebx
mov dl, byte [eax]
mov bl, byte [eax + 1]
shl edx, 0x18
inc eax
shl ebx, 0x10
or edx, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
or edx, ebx
mov ebx, edi
mov dword [esp + 0x10], edx
mov dword [esp + 0x50], edx
mov edx, edi
inc eax
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, edi
rol edx, 7
xor ebx, edx
mov edx, dword [esp + 0x2c]
not edi
and edi, edx
mov edx, dword [esp + 0x38]
mov dword [esp + 0x3c], edi
mov edi, dword [esp + 0x28]
and edi, edx
mov edx, dword [esp + 0x3c]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x14]
add edx, edi
mov edi, dword [0x24cf39c]
add edx, edi
mov edi, dword [esp + 0x1c]
add edx, ebx
mov ebx, ecx
mov dword [esp + 0x10], edx
add ebp, edx
mov edx, edi
and edi, ecx
mov dword [esp + 0x34], edi
xor edx, ecx
mov edi, ecx
mov dword [esp + 0x40], edx
rol ebx, 0x1e
rol edi, 0x13
xor ebx, edi
mov edi, ecx
rol edi, 0xa
xor ebx, edi
mov edi, dword [esp + 0x34]
and edx, esi
mov dword [esp + 0x20], ebp
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
add edx, edi
mov dword [esp + 0x24], edx
xor edx, edx
mov dl, byte [eax]
mov edi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl edi, 0x18
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
inc eax
xor edx, edx
mov ebx, ebp
mov dl, byte [eax]
or edi, edx
mov edx, ebp
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, ebp
rol edx, 7
xor ebx, edx
mov edx, ebp
mov dword [esp + 0x10], edi
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x28]
inc eax
not edx
and edx, edi
mov edi, dword [esp + 0x38]
and edi, ebp
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x2c]
add edx, edi
mov edi, dword [0x24cf3a0]
add edx, edi
mov edi, dword [esp + 0x24]
add edx, ebx
mov ebx, edi
add esi, edx
mov dword [esp + 0x10], edx
mov edx, edi
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x40]
and edx, edi
mov edi, dword [esp + 0x34]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, esi
add edx, edi
mov dword [esp + 0x18], edx
xor edx, edx
mov dl, byte [eax]
mov edi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl edi, 0x18
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or edi, edx
mov edx, esi
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, esi
rol edx, 7
xor ebx, edx
mov edx, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], edi
mov edi, dword [esp + 0x38]
inc eax
not edx
and edx, edi
mov edi, ebp
and edi, esi
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x28]
add edx, edi
mov edi, dword [0x24cf3a4]
add edx, edi
mov edi, dword [esp + 0x1c]
add edx, ebx
add edi, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x18]
mov ebx, edi
mov edx, edi
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x24]
xor edi, ecx
and edi, edx
mov edx, dword [esp + 0x18]
and edx, ecx
xor edi, edx
mov edx, dword [esp + 0x10]
add edx, ebx
xor ebx, ebx
add edi, edx
xor edx, edx
mov dl, byte [eax]
mov bl, byte [eax + 1]
shl edx, 0x18
inc eax
shl ebx, 0x10
or edx, ebx
inc eax
xor ebx, ebx
mov bh, byte [eax]
or edx, ebx
inc eax
xor ebx, ebx
mov bl, byte [eax]
or edx, ebx
inc eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x5c], edx
mov edx, dword [esp + 0x1c]
mov ebx, edx
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, dword [esp + 0x1c]
rol edx, 7
xor ebx, edx
mov edx, dword [esp + 0x1c]
not edx
and edx, ebp
mov ebp, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
and ebp, edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x10]
xor edx, ebp
mov ebp, dword [esp + 0x14]
add ebx, ebp
mov ebp, dword [esp + 0x38]
add edx, ebx
mov ebx, dword [0x24cf3a8]
add edx, ebx
add edx, ebp
mov ebp, edi
mov dword [esp + 0x10], edx
add ecx, edx
mov edx, edi
rol ebp, 0x1e
rol edx, 0x13
xor ebp, edx
mov ebx, dword [esp + 0x24]
mov edx, edi
rol edx, 0xa
xor ebp, edx
mov edx, dword [esp + 0x18]
xor edx, edi
and edx, ebx
mov ebx, dword [esp + 0x18]
and ebx, edi
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x1c]
mov dword [esp + 0x30], edx
xor edx, edx
mov dl, byte [eax]
and ebx, ecx
mov ebp, edx
xor edx, edx
mov dl, byte [eax + 1]
shl ebp, 0x18
inc eax
shl edx, 0x10
or ebp, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or ebp, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or ebp, edx
mov edx, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x60], ebp
mov ebp, ecx
inc eax
rol ebp, 0x1a
rol edx, 0x15
xor ebp, edx
mov edx, ecx
rol edx, 7
xor ebp, edx
mov edx, ecx
not edx
and edx, esi
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
mov ebp, dword [0x24cf3ac]
add edx, ebx
mov ebx, dword [esp + 0x20]
add edx, ebp
mov ebp, dword [esp + 0x24]
add edx, ebx
mov dword [esp + 0x10], edx
add ebp, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x24], ebp
mov ebp, edx
mov ebx, edx
rol ebp, 0x1e
rol ebx, 0x13
xor ebp, ebx
mov ebx, edx
rol ebx, 0xa
xor ebp, ebx
mov ebx, edi
xor ebx, edx
mov edx, dword [esp + 0x18]
and ebx, edx
mov edx, edi
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x30]
and edx, ebx
mov ebx, dword [esp + 0x14]
xor ebx, edx
mov edx, dword [esp + 0x10]
add edx, ebp
add ebx, edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0x20], ebx
mov ebp, edx
xor edx, edx
mov dl, byte [eax + 1]
shl ebp, 0x18
inc eax
shl edx, 0x10
or ebp, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or ebp, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or ebp, edx
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x64], ebp
mov ebp, edx
mov ebx, edx
rol ebp, 0x1a
rol ebx, 0x15
xor ebp, ebx
mov ebx, edx
rol ebx, 7
xor ebp, ebx
mov ebx, dword [esp + 0x1c]
not edx
and edx, ebx
mov ebx, dword [esp + 0x24]
and ebx, ecx
inc eax
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add edx, ebx
mov ebx, dword [0x24cf3b0]
add edx, ebx
mov ebx, dword [esp + 0x18]
add edx, esi
mov dword [esp + 0x10], edx
add ebx, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x18], ebx
mov ebx, edx
mov esi, edx
rol ebx, 0x1e
rol esi, 0x13
xor ebx, esi
mov esi, edx
rol esi, 0xa
xor ebx, esi
mov esi, dword [esp + 0x30]
mov ebp, esi
and esi, edx
xor ebp, edx
mov edx, dword [esp + 0x10]
and ebp, edi
add edx, ebx
xor ebp, esi
add ebp, edx
xor edx, edx
mov dl, byte [eax]
mov esi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 0x18
inc eax
shl edx, 0x10
or esi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or esi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or esi, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], esi
mov dword [esp + 0x68], esi
mov ebx, edx
mov esi, edx
rol ebx, 0x1a
rol esi, 0x15
xor ebx, esi
mov esi, edx
rol esi, 7
xor ebx, esi
mov esi, edx
not esi
and esi, ecx
inc eax
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x24]
and esi, edx
mov edx, dword [esp + 0x14]
xor edx, esi
mov esi, dword [esp + 0x10]
add esi, ebx
mov ebx, dword [esp + 0x1c]
add edx, esi
mov esi, dword [0x24cf3b4]
add edx, esi
mov esi, dword [esp + 0x30]
add edx, ebx
mov ebx, ebp
add edi, edx
mov dword [esp + 0x10], edx
mov edx, ebp
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, ebp
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x20]
xor edx, ebp
and edx, esi
mov esi, dword [esp + 0x20]
and esi, ebp
xor edx, esi
mov esi, dword [esp + 0x10]
add esi, ebx
mov ebx, edi
add edx, esi
mov dword [esp + 0x1c], edx
xor edx, edx
mov dl, byte [eax]
mov esi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 0x18
inc eax
shl edx, 0x10
or esi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or esi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or esi, edx
mov edx, edi
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, edi
rol edx, 7
xor ebx, edx
mov edx, edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x6c], esi
mov esi, dword [esp + 0x24]
inc eax
not edx
and edx, esi
mov esi, dword [esp + 0x18]
and esi, edi
xor edx, esi
mov esi, dword [esp + 0x10]
add esi, ebx
mov ebx, dword [esp + 0x20]
add edx, esi
mov esi, dword [0x24cf3b8]
add edx, esi
mov esi, dword [esp + 0x30]
add edx, ecx
add esi, edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x30], esi
mov esi, edx
mov ecx, edx
rol esi, 0x1e
rol ecx, 0x13
xor esi, ecx
mov ecx, edx
rol ecx, 0xa
xor esi, ecx
mov ecx, ebp
xor ecx, edx
and ecx, ebx
mov ebx, ebp
and ebx, edx
mov edx, dword [esp + 0x10]
add edx, esi
xor ecx, ebx
add ecx, edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0x28], ecx
mov esi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl esi, 0x18
inc eax
shl edx, 0x10
or esi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or esi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or esi, edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x10], esi
mov dword [esp + 0x70], esi
mov ebx, edx
mov esi, edx
rol ebx, 0x1a
rol esi, 0x15
xor ebx, esi
mov esi, edx
rol esi, 7
xor ebx, esi
mov esi, edx
not esi
and esi, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], esi
mov esi, edi
and esi, edx
mov edx, dword [esp + 0x14]
xor edx, esi
mov esi, dword [esp + 0x10]
add esi, ebx
mov ebx, dword [esp + 0x24]
add edx, esi
mov esi, dword [0x24cf3bc]
add edx, esi
mov esi, dword [esp + 0x20]
add edx, ebx
add esi, edx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x1c]
mov ebx, esi
and esi, ecx
xor ebx, ecx
mov dword [esp + 0x34], esi
mov dword [esp + 0x40], ebx
mov ebx, ecx
mov esi, ecx
rol ebx, 0x1e
rol esi, 0x13
xor ebx, esi
mov esi, dword [esp + 0x40]
rol ecx, 0xa
xor ebx, ecx
mov ecx, dword [esp + 0x34]
and esi, ebp
add edx, ebx
xor esi, ecx
xor ecx, ecx
mov cl, byte [eax]
add esi, edx
shl ecx, 0x18
inc eax
xor edx, edx
mov dl, byte [eax]
shl edx, 0x10
or ecx, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or ecx, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or ecx, edx
inc eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x74], ecx
mov ecx, dword [esp + 0x20]
mov ebx, ecx
mov edx, ecx
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, ecx
rol edx, 7
xor ebx, edx
mov edx, ecx
not edx
and edx, edi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
and edx, ecx
mov ecx, dword [esp + 0x14]
xor ecx, edx
mov edx, dword [esp + 0x10]
add edx, ebx
mov ebx, dword [esp + 0x18]
add ecx, edx
mov edx, dword [0x24cf3c0]
add ecx, edx
mov edx, esi
add ecx, ebx
mov ebx, esi
mov dword [esp + 0x10], ecx
add ebp, ecx
mov ecx, esi
rol ebx, 0x1e
rol ecx, 0x13
xor ebx, ecx
mov ecx, dword [esp + 0x40]
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x34]
and ecx, esi
xor ecx, edx
mov edx, dword [esp + 0x10]
add edx, ebx
add ecx, edx
mov dword [esp + 0x18], ecx
xor ecx, ecx
mov cl, byte [eax]
shl ecx, 0x18
inc eax
xor edx, edx
mov ebx, ebp
mov dl, byte [eax]
shl edx, 0x10
or ecx, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or ecx, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or ecx, edx
mov edx, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x78], ecx
mov ecx, ebp
inc eax
rol ebx, 0x1a
rol ecx, 0x15
xor ebx, ecx
mov ecx, ebp
rol edx, 7
xor ebx, edx
mov edx, dword [esp + 0x30]
not ecx
and ecx, edx
mov edx, dword [esp + 0x20]
and edx, ebp
xor ecx, edx
mov edx, dword [esp + 0x10]
add edx, ebx
add ecx, edx
mov edx, dword [0x24cf3c4]
add ecx, edx
mov edx, dword [esp + 0x1c]
add ecx, edi
mov edi, dword [esp + 0x28]
add edx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x18]
mov ebx, edx
mov ecx, edx
rol ebx, 0x1e
rol ecx, 0x13
xor ebx, ecx
mov ecx, edx
rol ecx, 0xa
xor ebx, ecx
mov ecx, edx
xor ecx, edi
and edx, edi
and ecx, esi
xor ecx, edx
mov edx, dword [esp + 0x10]
add edx, ebx
add ecx, edx
xor edx, edx
mov dl, byte [eax]
mov edi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl edi, 0x18
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or edi, edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x10], edi
inc eax
mov dword [esp + 0x7c], edi
mov ebx, edx
mov edi, edx
rol ebx, 0x1a
rol edi, 0x15
xor ebx, edi
mov edi, edx
rol edi, 7
xor ebx, edi
mov edi, dword [esp + 0x20]
not edx
and edx, edi
mov edi, ebp
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x1c]
and edi, edx
mov edx, dword [esp + 0x14]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x30]
add edx, edi
mov edi, dword [0x24cf3c8]
add edx, edi
mov edi, dword [esp + 0x28]
add edx, ebx
mov ebx, ecx
add edi, edx
mov dword [esp + 0x10], edx
mov edx, ecx
mov dword [esp + 0x28], edi
mov edi, dword [esp + 0x18]
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, edi
xor edx, ecx
and edi, ecx
and edx, esi
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
add edx, edi
mov dword [esp + 0x30], edx
xor edx, edx
mov dl, byte [eax]
mov edi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl edi, 0x18
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or edi, edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], edi
mov dword [esp + 0x80], edi
mov ebx, edx
mov edi, edx
rol ebx, 0x1a
rol edi, 0x15
xor ebx, edi
mov edi, edx
rol edi, 7
xor ebx, edi
mov edi, edx
not edi
and edi, ebp
inc eax
mov dword [esp + 0x14], edi
mov edi, dword [esp + 0x1c]
and edi, edx
mov edx, dword [esp + 0x14]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x20]
add edx, edi
mov edi, dword [0x24cf3cc]
add edx, edi
mov edi, dword [esp + 0x30]
add edx, ebx
mov ebx, edi
mov dword [esp + 0x10], edx
add esi, edx
mov edx, edi
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, ecx
xor edx, edi
mov edi, dword [esp + 0x18]
and edx, edi
mov edi, ecx
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x30]
and edi, edx
mov edx, dword [esp + 0x14]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, esi
add edx, edi
mov dword [esp + 0x20], edx
xor edx, edx
mov dl, byte [eax]
mov edi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl edi, 0x18
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or edi, edx
mov edx, esi
rol ebx, 0x1a
rol edx, 0x15
xor ebx, edx
mov edx, esi
rol edx, 7
xor ebx, edx
mov edx, esi
mov dword [esp + 0x10], edi
mov dword [esp + 0x84], edi
mov edi, dword [esp + 0x1c]
inc eax
not edx
and edx, edi
mov edi, esi
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x28]
and edi, edx
mov edx, dword [esp + 0x14]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [0x24cf3d0]
add edx, edi
add edx, ebx
add edx, ebp
mov ebp, dword [esp + 0x18]
add ebp, edx
mov dword [esp + 0x18], ebp
mov edi, dword [esp + 0x20]
mov ebp, edi
mov ebx, edi
rol ebp, 0x1e
rol ebx, 0x13
xor ebp, ebx
mov ebx, edi
rol ebx, 0xa
xor ebp, ebx
mov ebx, dword [esp + 0x30]
xor ebx, edi
mov dword [esp + 0x3c], ebp
and ebx, ecx
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x30]
mov ebp, dword [esp + 0x14]
and ebx, edi
mov edi, dword [esp + 0x3c]
xor ebp, ebx
add edx, edi
add ebp, edx
xor edx, edx
mov dl, byte [eax]
mov dword [esp + 0x2c], ebp
mov edi, edx
xor edx, edx
mov dl, byte [eax + 1]
shl edi, 0x18
inc eax
shl edx, 0x10
or edi, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or edi, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or edi, edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], edi
mov dword [esp + 0x88], edi
mov ebx, edx
mov edi, edx
rol ebx, 0x1a
rol edi, 0x15
xor ebx, edi
mov edi, edx
rol edi, 7
xor ebx, edi
mov edi, edx
not edi
and edi, dword [esp + 0x28]
inc eax
mov dword [esp + 0x14], edi
mov edi, esi
and edi, edx
mov edx, dword [esp + 0x14]
xor edx, edi
mov edi, dword [esp + 0x10]
add edi, ebx
mov ebx, dword [esp + 0x1c]
add edx, edi
mov edi, dword [0x24cf3d4]
add edx, edi
add edx, ebx
mov ebx, ebp
mov dword [esp + 0x10], edx
add ecx, edx
mov edx, ebp
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, ebp
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x20]
mov edi, edx
xor edi, ebp
and edi, dword [esp + 0x30]
and edx, ebp
xor edi, edx
mov edx, dword [esp + 0x10]
add edx, ebx
mov ebx, dword [esp + 0x18]
add edi, edx
xor edx, edx
mov dl, byte [eax]
and ebx, ecx
mov ebp, edx
xor edx, edx
mov dl, byte [eax + 1]
shl ebp, 0x18
inc eax
shl edx, 0x10
or ebp, edx
inc eax
xor edx, edx
mov dh, byte [eax]
or ebp, edx
inc eax
xor edx, edx
mov dl, byte [eax]
or ebp, edx
mov edx, ecx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x8c], ebp
mov ebp, ecx
inc eax
rol ebp, 0x1a
rol edx, 0x15
xor ebp, edx
mov edx, ecx
rol edx, 7
xor ebp, edx
mov edx, ecx
not edx
and edx, esi
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
mov ebp, dword [esp + 0x28]
add edx, ebx
mov ebx, dword [0x24cf3d8]
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, ebp
mov ebp, edi
mov dword [esp + 0x10], edx
add ebx, edx
mov edx, edi
mov dword [esp + 0x30], ebx
rol ebp, 0x1e
rol edx, 0x13
xor ebp, edx
mov ebx, dword [esp + 0x20]
mov edx, edi
rol edx, 0xa
xor ebp, edx
mov edx, dword [esp + 0x2c]
xor edx, edi
and edx, ebx
mov ebx, dword [esp + 0x2c]
and ebx, edi
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add edx, ebx
mov dword [esp + 0x28], edx
mov edx, 0x11
mov dword [esp + 0x38], 0x24cf3e0
mov dword [esp + 0x24], edx
mov ebx, edx
and ebx, 0xf
lea ebx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x3c], ebx
mov ebx, dword [ebx]
mov dword [esp + 0x10], ebx
lea ebx, [edx - 3]
and ebx, 0xf
dec edx
and edx, 0xf
lea ebx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x44], ebx
lea edx, [esp + edx*4 + 0x50]
mov ebx, dword [ebx]
mov dword [esp + 0x4c], edx
mov ebp, ebx
mov edx, ebx
rol ebp, 0xf
rol edx, 0xd
xor ebp, edx
mov edx, dword [esp + 0x10]
shr ebx, 0xa
xor ebp, ebx
mov ebx, edx
rol ebx, 0x19
rol edx, 0xe
xor ebx, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebx, edx
mov edx, dword [esp + 0x24]
add edx, 0xfffffff8
add ebp, ebx
and edx, 0xf
mov ebx, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x4c]
add ebp, ebx
mov ebx, dword [edx]
add ebx, ebp
mov dword [edx], ebx
mov edx, dword [esp + 0x30]
mov ebx, edx
mov ebp, edx
rol ebx, 0x1a
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, ecx
and ebp, edx
mov edx, dword [esp + 0x14]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx - 4]
mov ebx, dword [esp + 0x4c]
add edx, ebp
mov ebp, dword [ebx]
mov ebx, edi
add edx, ebp
add edx, esi
mov esi, dword [esp + 0x20]
add esi, edx
mov dword [esp + 0x20], esi
mov esi, dword [esp + 0x28]
xor ebx, esi
mov ebp, esi
mov dword [esp + 0x40], ebx
mov ebx, edi
and ebx, esi
mov dword [esp + 0x34], ebx
mov ebx, esi
rol ebx, 0x1e
rol ebp, 0x13
xor ebx, ebp
mov ebp, dword [esp + 0x2c]
rol esi, 0xa
xor ebx, esi
mov esi, dword [esp + 0x40]
and esi, ebp
mov ebp, dword [esp + 0x34]
add edx, ebx
mov ebx, dword [esp + 0x24]
xor esi, ebp
add esi, edx
lea edx, [ebx + 1]
and edx, 0xf
add ebx, 0xfffffffe
and ebx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x14], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
lea edx, [esp + ebx*4 + 0x50]
mov dword [esp + 0x48], edx
mov edx, dword [edx]
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add edx, 0xfffffff9
add ebx, ebp
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x3c]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov dword [edx], ebp
mov edx, dword [esp + 0x20]
mov ebx, edx
mov ebp, edx
rol ebx, 0x1a
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x1c], ebx
mov ebx, edx
not ebx
and ebx, ecx
and ebp, edx
mov edx, dword [esp + 0x1c]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x3c]
add edx, ebp
mov ebp, dword [ebx]
mov ebx, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x18]
add edx, ebp
mov ebp, esi
mov dword [esp + 0x10], edx
add ebx, edx
mov edx, esi
mov dword [esp + 0x2c], ebx
rol ebp, 0x1e
rol edx, 0x13
xor ebp, edx
mov ebx, dword [esp + 0x34]
mov edx, esi
rol edx, 0xa
xor ebp, edx
mov edx, dword [esp + 0x40]
and edx, esi
xor edx, ebx
mov ebx, dword [esp + 0x10]
add ebx, ebp
add edx, ebx
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x24]
add edx, 2
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x40], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x4c]
mov edx, dword [edx]
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add edx, 0xfffffffa
add ebx, ebp
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x14]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov dword [edx], ebp
mov edx, dword [esp + 0x2c]
mov ebx, edx
mov ebp, edx
rol ebx, 0x1a
rol ebp, 0x15
xor ebx, ebp
mov ebp, edx
rol ebp, 7
xor ebx, ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x34], ebx
mov ebx, edx
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x20]
and ebp, edx
mov edx, dword [esp + 0x34]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx + 4]
mov ebx, dword [esp + 0x14]
add edx, ebp
add edx, dword [ebx]
add edx, ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x10], edx
add edi, edx
mov ebx, ecx
mov edx, ecx
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov dword [esp + 0x1c], edi
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x28]
mov ebp, ecx
and ecx, edx
xor ebp, edx
mov edx, dword [esp + 0x24]
add edx, 3
and ebp, esi
and edx, 0xf
xor ebp, ecx
mov ecx, dword [esp + 0x10]
lea edx, [esp + edx*4 + 0x50]
add ecx, ebx
mov dword [esp + 0x34], edx
add ecx, ebp
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add edx, 0xfffffffb
add ebx, ebp
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x40]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov ebx, edi
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x3c], edx
mov edx, edi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov ebp, dword [esp + 0x20]
mov ebx, edi
rol ebx, 7
xor edx, ebx
mov ebx, edi
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x2c]
and ebp, edi
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx + 8]
mov ebx, dword [esp + 0x3c]
add edx, ebp
mov ebp, dword [esp + 0x30]
add edx, ebx
mov ebx, dword [esp + 0x28]
add edx, ebp
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], ebx
mov ebx, ecx
mov edx, ecx
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, ecx
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x18]
mov ebp, edx
and edx, ecx
xor ebp, ecx
and ebp, esi
xor ebp, edx
mov edx, dword [esp + 0x10]
add edx, ebx
add ebp, edx
mov edx, dword [esp + 0x24]
add edx, 4
mov dword [esp + 0x30], ebp
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x3c], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx]
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x24]
add edx, 0xfffffffc
add ebx, ebp
and edx, 0xf
mov ebp, dword [esp + edx*4 + 0x50]
mov edx, dword [esp + 0x34]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov ebx, dword [esp + 0x28]
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x14], edx
mov edx, ebx
mov ebp, ebx
rol edx, 0x1a
rol ebp, 0x15
xor edx, ebp
mov ebp, ebx
rol ebp, 7
xor edx, ebp
mov ebp, dword [esp + 0x2c]
not ebx
and ebx, ebp
mov ebp, dword [esp + 0x28]
and edi, ebp
mov ebp, dword [esp + 0x14]
xor ebx, edi
mov edi, dword [esp + 0x38]
add edx, ebx
mov ebx, dword [edi + 0xc]
mov edi, dword [esp + 0x30]
add edx, ebx
mov ebx, dword [esp + 0x20]
add edx, ebp
add edx, ebx
mov ebx, edi
mov dword [esp + 0x10], edx
add esi, edx
mov edx, edi
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x18]
mov ebp, ecx
xor ebp, edi
and ebp, edx
mov edx, ecx
and edx, edi
xor ebp, edx
mov edx, dword [esp + 0x10]
add edx, ebx
add ebp, edx
mov edx, dword [esp + 0x24]
add edx, 5
mov dword [esp + 0x20], ebp
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x14], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x40]
mov edx, dword [edx]
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x44]
add ebx, ebp
mov ebp, dword [edx]
mov edx, dword [esp + 0x3c]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov ebx, esi
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x44], edx
mov edx, esi
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov ebp, dword [esp + 0x1c]
mov ebx, esi
rol ebx, 7
xor edx, ebx
mov ebx, esi
not ebx
and ebx, ebp
mov ebp, esi
and ebp, dword [esp + 0x28]
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx + 0x10]
mov ebx, dword [esp + 0x44]
add edx, ebp
mov ebp, dword [esp + 0x2c]
add edx, ebx
mov ebx, dword [esp + 0x18]
add edx, ebp
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
mov ebp, ebx
mov edx, ebx
rol ebp, 0x1e
rol edx, 0x13
xor ebp, edx
mov edx, ebx
rol edx, 0xa
xor ebp, edx
mov dword [esp + 0x44], ebp
mov edx, dword [esp + 0x10]
mov ebp, edi
and edi, ebx
xor ebp, ebx
and ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x44]
add edx, edi
add ebp, edx
mov edx, dword [esp + 0x24]
add edx, 6
mov dword [esp + 0x2c], ebp
and edx, 0xf
lea edx, [esp + edx*4 + 0x50]
mov dword [esp + 0x44], edx
mov edx, dword [edx]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x34]
mov edx, dword [edx]
mov edi, edx
mov ebp, edx
rol edi, 0xf
rol ebp, 0xd
xor edi, ebp
shr edx, 0xa
xor edi, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x48]
add edi, ebp
mov ebp, dword [edx]
mov edx, dword [esp + 0x14]
add edi, ebp
mov ebp, dword [edx]
add ebp, edi
mov edi, dword [esp + 0x18]
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x48], edx
mov edx, edi
mov ebp, edi
rol edx, 0x1a
rol ebp, 0x15
xor edx, ebp
mov ebp, edi
rol ebp, 7
xor edx, ebp
mov ebp, dword [esp + 0x28]
not edi
and edi, ebp
mov ebp, esi
and ebp, dword [esp + 0x18]
xor edi, ebp
add edx, edi
mov edi, dword [esp + 0x38]
mov ebp, dword [edi + 0x14]
mov edi, dword [esp + 0x48]
add edx, ebp
mov ebp, dword [esp + 0x1c]
add edx, edi
add edx, ebp
mov dword [esp + 0x10], edx
add ecx, edx
mov edx, dword [esp + 0x2c]
mov edi, edx
mov ebp, edx
rol edi, 0x1e
rol ebp, 0x13
xor edi, ebp
mov ebp, edx
rol ebp, 0xa
xor edi, ebp
mov ebp, ebx
xor ebp, edx
and ebp, dword [esp + 0x30]
and ebx, edx
mov edx, dword [esp + 0x10]
xor ebp, ebx
add edx, edi
add ebp, edx
mov edx, dword [esp + 0x24]
add edx, 7
mov edi, ebp
and edx, 0xf
mov edx, dword [esp + edx*4 + 0x50]
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x3c]
mov edx, dword [edx]
mov ebx, edx
mov ebp, edx
rol ebx, 0xf
rol ebp, 0xd
xor ebx, ebp
shr edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x10]
mov ebp, edx
rol ebp, 0x19
rol edx, 0xe
xor ebp, edx
mov edx, dword [esp + 0x10]
shr edx, 3
xor ebp, edx
mov edx, dword [esp + 0x4c]
add ebx, ebp
mov ebp, dword [edx]
mov edx, dword [esp + 0x44]
add ebx, ebp
mov ebp, dword [edx]
add ebp, ebx
mov ebx, ecx
mov dword [edx], ebp
mov edx, ebp
mov dword [esp + 0x48], edx
mov edx, ecx
rol edx, 0x1a
rol ebx, 0x15
xor edx, ebx
mov ebp, dword [esp + 0x18]
mov ebx, ecx
and ebp, ecx
rol ebx, 7
xor edx, ebx
mov ebx, ecx
not ebx
and ebx, esi
xor ebx, ebp
add edx, ebx
mov ebx, dword [esp + 0x38]
mov ebp, dword [ebx + 0x18]
mov ebx, dword [esp + 0x48]
add edx, ebp
mov ebp, dword [esp + 0x28]
add edx, ebx
mov ebx, dword [esp + 0x30]
add edx, ebp
add ebx, edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x30], ebx
mov ebx, edi
mov edx, edi
rol ebx, 0x1e
rol edx, 0x13
xor ebx, edx
mov edx, edi
rol edx, 0xa
xor ebx, edx
mov edx, dword [esp + 0x2c]
mov ebp, edx
and edx, edi
xor ebp, edi
and ebp, dword [esp + 0x20]
xor ebp, edx
mov edx, dword [esp + 0x10]
add edx, ebx
add ebp, edx
mov edx, dword [esp + 0x24]
mov ebx, ebp
mov ebp, dword [esp + 0x38]
add edx, 8
add ebp, 0x20
mov dword [esp + 0x38], ebp
mov dword [esp + 0x28], ebx
lea ebp, [edx - 1]
mov dword [esp + 0x24], edx
cmp ebp, 0x40
jl 0x24a15fe
mov edx, dword [esp + 0x98]
mov ebp, dword [edx]
add ebp, ebx
mov ebx, dword [edx + 4]
add ebx, edi
mov edi, dword [edx + 8]
mov dword [edx + 4], ebx
mov ebx, dword [esp + 0x2c]
add edi, ebx
mov ebx, dword [esp + 0x20]
mov dword [edx + 8], edi
mov edi, dword [edx + 0xc]
add edi, ebx
mov ebx, dword [esp + 0x30]
mov dword [edx + 0xc], edi
mov edi, dword [edx + 0x10]
add edi, ebx
mov dword [edx], ebp
mov dword [edx + 0x10], edi
mov edi, dword [edx + 0x14]
add edi, ecx
mov ecx, dword [edx + 0x18]
mov dword [edx + 0x14], edi
mov edi, dword [esp + 0x18]
add ecx, edi
mov dword [edx + 0x18], ecx
mov ecx, dword [edx + 0x1c]
add ecx, esi
mov dword [edx + 0x1c], ecx
mov ecx, dword [esp + 0x90]
dec ecx
mov dword [esp + 0x90], ecx
jne 0x24a02e6
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x84
ret