Function at 0x6467a680
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xcc
mov ebx, dword [esp + 0xe0]
mov edi, dword [esp + 0xe4]
test edi, edi
je 0x6467a6be
mov eax, dword [esp + 0xe8]
mov esi, dword [esp + 0xe4]
lea edx, [esi + esi*4]
lea edx, [eax + edx*8]
mov dword [eax + 0x24], 1
add eax, 0x28
cmp eax, edx
jne 0x6467a6b0
mov ebp, dword [esp + 0xe4]
mov edi, dword [esp + 0xec]
mov dword [edi], ebp
mov esi, dword [ebx + 4]
mov dword [esp + 0x38], esi
mov ebp, ebx
nop
mov esi, dword [esp + 0x38]
test esi, esi
je 0x6467ac28
mov edi, dword [esp + 0x38]
dec edi
mov dword [ebp + 4], edi
mov esi, dword [ebp]
mov dl, byte [esi]
mov byte [esp + 0x60], dl
lea eax, [esi + 1]
mov dword [ebp], eax
test dl, dl
jns 0x6467b08c
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 2
mov dword [ebp + 4], edi
movzx eax, byte [esi + 1]
lea edx, [esi + 2]
mov dword [ebp], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
xor edx, edx
test byte [esp + 0x60], 0x40
je 0x6467b1b7
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 3
mov dword [ebp + 4], edi
movzx ecx, byte [esi + 2]
lea eax, [esi + 3]
mov dword [ebp], eax
xor ebx, ebx
shld ebx, ecx, 8
shl ecx, 8
mov eax, dword [esp + 0x50]
or eax, ecx
mov edx, ebx
test byte [esp + 0x60], 0x20
je 0x6467b1ea
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 4
mov dword [ebp + 4], edi
movzx ecx, byte [esi + 3]
lea ebx, [esi + 4]
mov dword [ebp], ebx
xor ebx, ebx
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, eax
or ebx, edx
mov eax, ecx
mov edx, ebx
test byte [esp + 0x60], 0x10
je 0x6467b219
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 5
mov dword [ebp + 4], edi
movzx ecx, byte [esi + 4]
lea ebx, [esi + 5]
mov dword [ebp], ebx
xor ebx, ebx
shld ebx, ecx, 0x18
shl ecx, 0x18
or ecx, eax
or ebx, edx
mov eax, ecx
mov edx, ebx
test byte [esp + 0x60], 8
je 0x6467b8a0
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 6
mov dword [ebp + 4], edi
movzx ecx, byte [esi + 5]
lea ebx, [esi + 6]
mov dword [ebp], ebx
or ecx, edx
mov edx, ecx
test byte [esp + 0x60], 4
je 0x6467b8c0
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 7
mov dword [ebp + 4], edi
movzx ecx, byte [esi + 6]
lea ebx, [esi + 7]
mov dword [ebp], ebx
shl ecx, 8
or ecx, edx
mov edx, ecx
test byte [esp + 0x60], 2
je 0x6467b8e3
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 8
mov dword [ebp + 4], edi
movzx ecx, byte [esi + 7]
lea ebx, [esi + 8]
mov dword [ebp], ebx
shl ecx, 0x10
or ecx, edx
mov edx, ecx
test byte [esp + 0x60], 1
je 0x6467b950
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x38]
sub edi, 9
mov dword [ebp + 4], edi
mov cl, byte [esi + 8]
lea ebx, [esi + 9]
mov dword [ebp], ebx
shl ecx, 0x18
mov dword [esp + 0x48], eax
or ecx, edx
mov dword [esp + 0x4c], ecx
xor eax, 0xd
or eax, dword [esp + 0x4c]
je 0x6467ae14
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
add eax, 0xfffffff7
adc edx, 0xffffffff
cmp edx, 0
ja 0x6467ac38
cmp eax, 1
ja 0x6467ac38
mov ebx, ebp
mov esi, dword [esp + 0xec]
mov eax, dword [esi]
test eax, eax
jne 0x6467b115
mov edi, dword [esp + 0xf0]
mov dword [edi], 0
mov esi, dword [esp + 0xf4]
mov dword [esi], 0
mov edi, dword [esp + 0xf8]
mov dword [edi], 0
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x6467b24c
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x68], edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x78], 0
mov ebp, dword [esp + 0x48]
xor ebp, 9
mov eax, dword [esp + 0x4c]
or ebp, eax
mov dword [esp + 0x8c], ebp
jmp 0x6467a97c
mov esi, dword [esp + 0xf0]
mov eax, dword [esi]
xor esi, esi
xor edi, edi
mov ecx, dword [esp + 0x38]
lea ebp, [eax + ecx*8]
mov ecx, dword [esp + 0x68]
mov dword [esp], ecx
call sym.allegro_5.0.10_monolith_mt.dll_SzFolderGetUnPackSize
sub eax, esi
sbb edx, edi
mov dword [ebp], eax
mov dword [ebp + 4], edx
inc dword [esp + 0x38]
inc dword [esp + 0x78]
add dword [esp + 0x68], 0x28
mov esi, dword [esp + 0xe4]
cmp dword [esp + 0x78], esi
je 0x6467b24c
mov ecx, dword [esp + 0x68]
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x6467a962
mov edx, dword [esp + 0x8c]
test edx, edx
jne 0x6467a934
cmp eax, 1
jbe 0x6467a934
mov ebp, dword [ebx + 4]
test ebp, ebp
je 0x6467ac28
mov edi, dword [esp + 0x38]
shl edi, 3
mov dword [esp + 0x60], edi
mov ecx, dword [esp + 0x38]
lea eax, [eax + ecx - 1]
mov dword [esp + 0x64], eax
xor esi, esi
xor edi, edi
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], edi
lea eax, [ebp - 1]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
movzx esi, byte [ecx]
lea edx, [ecx + 1]
mov dword [ebx], edx
mov edx, esi
test dl, dl
jns 0x6467b906
test eax, eax
je 0x6467ac28
lea edi, [ebp - 2]
mov dword [esp + 0x40], edi
mov dword [ebx + 4], edi
mov al, byte [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebx], edx
movzx edi, al
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], 0
test esi, 0x40
je 0x6467ba79
mov eax, dword [esp + 0x40]
test eax, eax
je 0x6467ac28
lea eax, [ebp - 3]
mov dword [esp + 0x88], eax
mov dword [ebx + 4], eax
movzx eax, byte [ecx + 2]
lea edx, [ecx + 3]
mov dword [ebx], edx
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
shld edx, eax, 8
shl eax, 8
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x44]
or edi, eax
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], edx
test esi, 0x20
je 0x6467baba
mov eax, dword [esp + 0x88]
test eax, eax
je 0x6467ac28
lea edi, [ebp - 4]
mov dword [ebx + 4], edi
movzx edx, byte [ecx + 3]
lea eax, [ecx + 4]
mov dword [ebx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
shld edx, eax, 0x10
shl eax, 0x10
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x40]
or edx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x2c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
test esi, 0x10
je 0x6467bafe
test edi, edi
je 0x6467ac28
lea edi, [ebp - 5]
mov dword [ebx + 4], edi
movzx edx, byte [ecx + 4]
lea eax, [ecx + 5]
mov dword [ebx], eax
mov dword [esp + 0x40], edx
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x44]
shld edx, eax, 0x18
shl eax, 0x18
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], edx
mov edx, dword [esp + 0x40]
or edx, dword [esp + 0x28]
mov eax, dword [esp + 0x44]
or eax, dword [esp + 0x2c]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
test esi, 8
je 0x6467bb41
test edi, edi
je 0x6467ac28
lea edi, [ebp - 6]
mov dword [ebx + 4], edi
movzx edx, byte [ecx + 5]
lea eax, [ecx + 6]
mov dword [ebx], eax
or edx, dword [esp + 0x2c]
mov dword [esp + 0x2c], edx
test esi, 4
je 0x6467bb6d
test edi, edi
je 0x6467ac28
lea edx, [ebp - 7]
mov dword [ebx + 4], edx
mov al, byte [ecx + 6]
lea edi, [ecx + 7]
mov dword [ebx], edi
movzx edi, al
shl edi, 8
or edi, dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
test esi, 2
je 0x6467bbc5
test edx, edx
je 0x6467ac28
lea edx, [ebp - 8]
mov dword [ebx + 4], edx
mov al, byte [ecx + 7]
lea edi, [ecx + 8]
mov dword [ebx], edi
movzx edi, al
shl edi, 0x10
mov eax, dword [esp + 0x28]
or edi, dword [esp + 0x2c]
mov dword [esp + 0x2c], edi
and esi, 1
je 0x6467bb9a
test edx, edx
je 0x6467ac28
sub ebp, 9
mov dword [ebx + 4], ebp
movzx esi, byte [ecx + 8]
add ecx, 9
mov dword [ebx], ecx
shl esi, 0x18
mov dword [esp + 0x70], eax
or esi, edi
mov dword [esp + 0x74], esi
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x74]
mov ecx, dword [esp + 0xf0]
mov eax, dword [ecx]
mov edx, dword [esp + 0x60]
mov dword [eax + edx], esi
mov dword [eax + edx + 4], edi
inc dword [esp + 0x38]
add dword [esp + 0x50], esi
adc dword [esp + 0x54], edi
mov ecx, dword [esp + 0x64]
cmp dword [esp + 0x38], ecx
je 0x6467b1aa
add dword [esp + 0x60], 8
test ebp, ebp
jne 0x6467a9c5
lea esi, [esi]
mov eax, 6
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x4c]
or eax, dword [esp + 0x48]
je 0x6467a8b8
test edi, edi
je 0x6467ac28
lea esi, [edi - 1]
mov dword [ebp + 4], esi
mov edx, dword [ebp]
mov dword [esp + 0x38], edx
mov cl, byte [edx]
mov byte [esp + 0x60], cl
mov eax, edx
inc eax
mov dword [ebp], eax
test cl, cl
jns 0x6467b17c
test esi, esi
je 0x6467ac28
lea esi, [edi - 2]
mov dword [ebp + 4], esi
movzx eax, byte [edx + 1]
add edx, 2
mov dword [ebp], edx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x50]
xor edx, edx
test cl, 0x40
je 0x6467b96d
test esi, esi
je 0x6467ac28
lea esi, [edi - 3]
mov dword [ebp + 4], esi
mov ebx, dword [esp + 0x38]
movzx ecx, byte [ebx + 2]
mov eax, ebx
add eax, 3
mov dword [ebp], eax
xor ebx, ebx
shld ebx, ecx, 8
shl ecx, 8
mov eax, dword [esp + 0x50]
or eax, ecx
mov edx, ebx
test byte [esp + 0x60], 0x20
je 0x6467b998
test esi, esi
je 0x6467ac28
lea esi, [edi - 4]
mov dword [ebp + 4], esi
mov ebx, dword [esp + 0x38]
movzx ecx, byte [ebx + 3]
add ebx, 4
mov dword [ebp], ebx
xor ebx, ebx
shld ebx, ecx, 0x10
shl ecx, 0x10
or ecx, eax
or ebx, edx
mov eax, ecx
mov edx, ebx
test byte [esp + 0x60], 0x10
je 0x6467b9e7
test esi, esi
je 0x6467ac28
lea esi, [edi - 5]
mov dword [ebp + 4], esi
mov ebx, dword [esp + 0x38]
movzx ecx, byte [ebx + 4]
add ebx, 5
mov dword [ebp], ebx
xor ebx, ebx
shld ebx, ecx, 0x18
shl ecx, 0x18
or ecx, eax
or ebx, edx
mov eax, ecx
mov edx, ebx
test byte [esp + 0x60], 8
je 0x6467b9c7
test esi, esi
je 0x6467ac28
lea esi, [edi - 6]
mov dword [ebp + 4], esi
mov ebx, dword [esp + 0x38]
movzx ecx, byte [ebx + 5]
add ebx, 6
mov dword [ebp], ebx
or ecx, edx
mov edx, ecx
test byte [esp + 0x60], 4
je 0x6467ba16
test esi, esi
je 0x6467ac28
lea esi, [edi - 7]
mov dword [ebp + 4], esi
mov ebx, dword [esp + 0x38]
movzx ecx, byte [ebx + 6]
add ebx, 7
mov dword [ebp], ebx
shl ecx, 8
or ecx, edx
mov edx, ecx
test byte [esp + 0x60], 2
je 0x6467ba56
test esi, esi
je 0x6467ac28
lea esi, [edi - 8]
mov dword [ebp + 4], esi
mov ebx, dword [esp + 0x38]
movzx ecx, byte [ebx + 7]
add ebx, 8
mov dword [ebp], ebx
shl ecx, 0x10
or ecx, edx
mov edx, ecx
test byte [esp + 0x60], 1
je 0x6467ba39
test esi, esi
je 0x6467ac28
lea esi, [edi - 9]
mov dword [ebp + 4], esi
mov edi, dword [esp + 0x38]
mov cl, byte [edi + 8]
mov ebx, edi
add ebx, 9
mov dword [ebp], ebx
shl ecx, 0x18
mov dword [esp + 0x40], eax
or ecx, edx
mov dword [esp + 0x44], ecx
xor eax, eax
cmp eax, dword [esp + 0x44]
jb 0x6467ac28
cmp esi, dword [esp + 0x40]
jb 0x6467ac28
mov eax, dword [esp + 0x40]
sub esi, eax
mov dword [esp + 0x38], esi
mov dword [ebp + 4], esi
add dword [ebp], eax
jmp 0x6467a6d8
mov esi, dword [esp + 0xec]
mov dword [esi], 0
mov ebx, dword [esp + 0xe4]
test ebx, ebx
jne 0x6467ae38
mov eax, dword [ebp + 4]
mov dword [esp + 0x38], eax
jmp 0x6467a6d8
mov ebx, dword [ebp + 4]
test ebx, ebx
je 0x6467ac28
mov edi, dword [esp + 0xe8]
mov dword [esp + 0x60], edi
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], ebx
mov eax, ebx
dec eax
mov dword [ebp + 4], eax
mov ecx, dword [ebp]
mov dl, byte [ecx]
mov byte [esp + 0x88], dl
lea edx, [ecx + 1]
mov dword [ebp], edx
cmp byte [esp + 0x88], 0
jns 0x6467bc4e
test eax, eax
je 0x6467ac28
mov edi, dword [esp + 0x28]
sub edi, 2
mov dword [ebp + 4], edi
movzx eax, byte [ecx + 1]
lea edx, [ecx + 2]
mov dword [ebp], edx
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x64]
xor edx, edx
test byte [esp + 0x88], 0x40
je 0x6467bc8d
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x28]
sub edi, 3
mov dword [ebp + 4], edi
movzx eax, byte [ecx + 2]
lea edx, [ecx + 3]
mov dword [ebp], edx
mov ebx, eax
xor esi, esi
shld esi, ebx, 8
shl ebx, 8
mov eax, dword [esp + 0x64]
or eax, ebx
mov edx, esi
test byte [esp + 0x88], 0x20
je 0x6467c00d
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x28]
sub edi, 4
mov dword [ebp + 4], edi
movzx esi, byte [ecx + 3]
lea ebx, [ecx + 4]
mov dword [ebp], ebx
and esi, 0xff
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], 0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
shld esi, ebx, 0x10
shl ebx, 0x10
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x50]
or esi, eax
mov ebx, dword [esp + 0x54]
or ebx, edx
mov eax, esi
mov edx, ebx
test byte [esp + 0x88], 0x10
je 0x6467bf96
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x28]
sub edi, 5
mov dword [ebp + 4], edi
movzx esi, byte [ecx + 4]
lea ebx, [ecx + 5]
mov dword [ebp], ebx
and esi, 0xff
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], 0
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x54]
shld esi, ebx, 0x18
shl ebx, 0x18
mov dword [esp + 0x50], ebx
mov dword [esp + 0x54], esi
mov esi, dword [esp + 0x50]
or esi, eax
mov ebx, dword [esp + 0x54]
or ebx, edx
mov eax, esi
mov edx, ebx
test byte [esp + 0x88], 8
je 0x6467bfde
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x28]
sub edi, 6
mov dword [ebp + 4], edi
movzx esi, byte [ecx + 5]
lea ebx, [ecx + 6]
mov dword [ebp], ebx
and esi, 0xff
or esi, edx
mov edx, esi
test byte [esp + 0x88], 4
je 0x6467bf1a
test edi, edi
je 0x6467ac28
mov esi, dword [esp + 0x28]
sub esi, 7
mov dword [ebp + 4], esi
mov bl, byte [ecx + 6]
lea edi, [ecx + 7]
mov dword [ebp], edi
movzx edi, bl
shl edi, 8
or edi, edx
mov edx, edi
test byte [esp + 0x88], 2
je 0x6467bf4e
test esi, esi
je 0x6467ac28
mov esi, dword [esp + 0x28]
sub esi, 8
mov dword [ebp + 4], esi
mov bl, byte [ecx + 7]
lea edi, [ecx + 8]
mov dword [ebp], edi
movzx edi, bl
shl edi, 0x10
or edi, edx
mov edx, edi
test byte [esp + 0x88], 1
je 0x6467c055
test esi, esi
je 0x6467ac28
mov ebx, dword [esp + 0x28]
sub ebx, 9
mov dword [ebp + 4], ebx
mov bl, byte [ecx + 8]
add ecx, 9
mov dword [ebp], ecx
shl ebx, 0x18
mov dword [esp + 0x68], eax
or ebx, edi
mov dword [esp + 0x6c], ebx
cmp dword [esp + 0x6c], 0
jbe 0x6467b0c0
mov eax, 0x80004001
jmp 0x6467ac2d
mov al, dl
and eax, 0x7f
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0
xor eax, eax
xor edx, edx
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
add ebx, eax
adc esi, edx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], esi
mov eax, dword [esp + 0x48]
jmp 0x6467a88b
cmp dword [esp + 0x68], 0x3ffffff
ja 0x6467b080
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x60]
mov dword [ebx + 0x24], eax
mov edi, dword [esp + 0xec]
add dword [edi], eax
inc dword [esp + 0x38]
mov ebx, dword [esp + 0xe4]
cmp dword [esp + 0x38], ebx
jne 0x6467b0fc
mov esi, dword [ebp + 4]
mov dword [esp + 0x38], esi
jmp 0x6467a6d8
mov eax, dword [ebp + 4]
mov dword [esp + 0x28], eax
add dword [esp + 0x60], 0x28
test eax, eax
je 0x6467ac28
jmp 0x6467ae5c
shl eax, 3
mov dword [esp], eax
mov ebp, dword [esp + 0xfc]
call dword [ebp]
mov ecx, dword [esp + 0xf0]
mov dword [ecx], eax
test eax, eax
je 0x6467b172
mov esi, dword [esp + 0xec]
mov eax, dword [esi]
mov dword [esp], eax
call dword [ebp]
mov edi, dword [esp + 0xf4]
mov dword [edi], eax
test eax, eax
je 0x6467b172
mov ebp, dword [esi]
mov eax, ebp
shl eax, 2
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
call dword [edx]
mov esi, dword [esp + 0xf8]
mov dword [esi], eax
test eax, eax
jne 0x6467a8f2
mov eax, 0x8007000e
jmp 0x6467ac2d
mov al, cl
and eax, 0x7f
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], 0
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
add ecx, eax
adc ebx, edx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], ebx
jmp 0x6467ade9
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
jmp 0x6467a941
mov cl, byte [esp + 0x60]
and ecx, 0x3f
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
shld ebx, ecx, 8
shl ecx, 8
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov esi, ebx
mov ebx, ecx
jmp 0x6467b0a9
mov cl, byte [esp + 0x60]
and ecx, 0x1f
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
shld esi, ebx, 0x10
shl ebx, 0x10
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], esi
jmp 0x6467b0a9
mov cl, byte [esp + 0x60]
and ecx, 0xf
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], 0
mov ecx, dword [esp + 0x78]
mov ebx, dword [esp + 0x7c]
shld ebx, ecx, 0x18
shl ecx, 0x18
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], ebx
mov esi, ebx
mov ebx, ecx
jmp 0x6467b0a9
mov eax, dword [esp + 0x48]
xor eax, 9
or eax, dword [esp + 0x4c]
je 0x6467bcd2
mov esi, dword [esp + 0xec]
mov eax, dword [esi]
test eax, eax
je 0x6467b290
xor eax, eax
mov ecx, esi
mov esi, dword [esp + 0xf4]
mov edi, dword [esp + 0xf8]
mov edx, dword [esi]
mov byte [edx + eax], 0
mov edx, dword [edi]
mov dword [edx + eax*4], 0
inc eax
cmp dword [ecx], eax
ja 0x6467b27c
mov ebp, dword [esp + 0xe4]
test ebp, ebp
je 0x6467bf89
mov eax, dword [esp + 0xe8]
mov edi, dword [esp + 0xe4]
lea edx, [edi + edi*4]
lea ecx, [eax + edx*8]
mov dword [esp + 0x68], 0
xor esi, esi
lea esi, [esi]
mov edx, dword [eax + 0x24]
cmp edx, 1
je 0x6467b890
add esi, edx
add eax, 0x28
cmp eax, ecx
jne 0x6467b2c0
mov dword [esp + 0x68], esi
mov ebp, dword [esp + 0xe4]
lea eax, [ebp + ebp*4]
mov esi, dword [esp + 0xe8]
lea eax, [esi + eax*8]
mov dword [esp + 0x88], eax
mov dword [esp + 0x60], 0
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x48]
xor eax, 0xa
or eax, dword [esp + 0x4c]
je 0x6467b765
mov ecx, dword [esp + 0x4c]
or ecx, dword [esp + 0x48]
je 0x6467bf82
mov ebx, dword [esp + 0x38]
mov edx, dword [ebx + 4]
test edx, edx
je 0x6467ac28
mov esi, ebx
mov edi, ebx
lea ebx, [edx - 1]
mov dword [esi + 4], ebx
mov eax, dword [esi]
mov cl, byte [eax]
mov byte [esp + 0x50], cl
lea esi, [eax + 1]
mov dword [edi], esi
test cl, cl
jns 0x6467c162
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 2]
mov dword [edi + 4], ebx
movzx edi, byte [eax + 1]
lea esi, [eax + 2]
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov ecx, edi
movzx ebp, cl
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], 0
test byte [esp + 0x50], 0x40
je 0x6467c121
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 3]
mov edi, dword [esp + 0x38]
mov dword [edi + 4], ebx
movzx esi, byte [eax + 2]
lea edi, [eax + 3]
mov ecx, dword [esp + 0x38]
mov dword [ecx], edi
mov ecx, esi
movzx edi, cl
mov esi, edi
xor edi, edi
shld edi, esi, 8
shl esi, 8
or ebp, esi
mov dword [esp + 0x40], ebp
mov dword [esp + 0x44], edi
test byte [esp + 0x50], 0x20
je 0x6467c0e3
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 4]
mov edi, dword [esp + 0x38]
mov dword [edi + 4], ebx
movzx edi, byte [eax + 3]
lea esi, [eax + 4]
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov ecx, edi
movzx esi, cl
xor edi, edi
shld edi, esi, 0x10
shl esi, 0x10
or esi, dword [esp + 0x40]
or edi, dword [esp + 0x44]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
test byte [esp + 0x50], 0x10
je 0x6467c07e
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 5]
mov edi, dword [esp + 0x38]
mov dword [edi + 4], ebx
movzx edi, byte [eax + 4]
lea esi, [eax + 5]
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov ecx, edi
movzx esi, cl
xor edi, edi
shld edi, esi, 0x18
shl esi, 0x18
or esi, dword [esp + 0x40]
or edi, dword [esp + 0x44]
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], edi
test byte [esp + 0x50], 8
je 0x6467c367
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 6]
mov ecx, dword [esp + 0x38]
mov dword [ecx + 4], ebx
movzx edi, byte [eax + 5]
lea esi, [eax + 6]
mov dword [ecx], esi
mov ecx, edi
movzx esi, cl
or esi, dword [esp + 0x44]
mov dword [esp + 0x44], esi
test byte [esp + 0x50], 4
je 0x6467c346
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 7]
mov esi, dword [esp + 0x38]
mov dword [esi + 4], ebx
movzx edi, byte [eax + 6]
lea esi, [eax + 7]
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov ecx, edi
movzx esi, cl
shl esi, 8
or esi, dword [esp + 0x44]
mov dword [esp + 0x44], esi
test byte [esp + 0x50], 2
je 0x6467c325
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 8]
mov esi, dword [esp + 0x38]
mov dword [esi + 4], ebx
movzx edi, byte [eax + 7]
lea esi, [eax + 8]
mov ecx, dword [esp + 0x38]
mov dword [ecx], esi
mov ecx, edi
movzx esi, cl
shl esi, 0x10
mov edi, dword [esp + 0x40]
or esi, dword [esp + 0x44]
mov dword [esp + 0x44], esi
test byte [esp + 0x50], 1
je 0x6467c30a
test ebx, ebx
je 0x6467ac28
lea ebx, [edx - 9]
mov esi, dword [esp + 0x38]
mov dword [esi + 4], ebx
mov dl, byte [eax + 8]
add eax, 9
mov dword [esi], eax
shl edx, 0x18
mov dword [esp + 0xa8], edi
or edx, dword [esp + 0x44]
mov dword [esp + 0xac], edx
mov esi, dword [esp + 0xac]
test esi, esi
jne 0x6467ac28
cmp ebx, dword [esp + 0xa8]
jb 0x6467ac28
mov eax, dword [esp + 0xa8]
sub ebx, eax
mov dword [esp + 0x58], ebx
mov edi, dword [esp + 0x38]
mov dword [edi + 4], ebx
add dword [edi], eax
mov edi, dword [esp + 0x58]
test edi, edi
je 0x6467ac28
mov eax, dword [esp + 0x58]
dec eax
mov edx, dword [esp + 0x38]
mov dword [edx + 4], eax
mov ecx, dword [edx]
mov bl, byte [ecx]
mov byte [esp + 0x40], bl
lea edx, [ecx + 1]
mov esi, dword [esp + 0x38]
mov dword [esi], edx
test bl, bl
jns 0x6467bedc
test eax, eax
je 0x6467ac28
mov esi, dword [esp + 0x58]
sub esi, 2
mov edi, dword [esp + 0x38]
mov dword [edi + 4], esi
mov al, byte [ecx + 1]
lea edx, [ecx + 2]
mov dword [edi], edx
movzx ebx, al
mov eax, ebx
xor edx, edx
test byte [esp + 0x40], 0x40
je 0x6467c23f
test esi, esi
je 0x6467ac28
mov ebp, dword [esp + 0x58]
sub ebp, 3
mov esi, dword [esp + 0x38]
mov dword [esi + 4], ebp
movzx eax, byte [ecx + 2]
lea edx, [ecx + 3]
mov dword [esi], edx
mov esi, eax
xor edi, edi
shld edi, esi, 8
shl esi, 8
mov eax, ebx
or eax, esi
mov edx, edi
test byte [esp + 0x40], 0x20
je 0x6467c2c9
test ebp, ebp
je 0x6467ac28
mov ebp, dword [esp + 0x58]
sub ebp, 4
mov ebx, dword [esp + 0x38]
mov dword [ebx + 4], ebp
mov bl, byte [ecx + 3]
lea esi, [ecx + 4]
mov edi, dword [esp + 0x38]
mov dword [edi], esi
movzx esi, bl
xor edi, edi
shld edi, esi, 0x10
shl esi, 0x10
or esi, eax
or edi, edx
mov eax, esi
mov edx, edi
test byte [esp + 0x40], 0x10
je 0x6467c284
test ebp, ebp
je 0x6467ac28
mov ebp, dword [esp + 0x58]
sub ebp, 5
mov esi, dword [esp + 0x38]
mov dword [esi + 4], ebp
movzx edi, byte [ecx + 4]
lea esi, [ecx + 5]
mov ebx, dword [esp + 0x38]
mov dword [ebx], esi
mov ebx, edi
movzx esi, bl
xor edi, edi
shld edi, esi, 0x18
shl esi, 0x18
or esi, eax
or edi, edx
mov eax, esi
mov edx, edi
test byte [esp + 0x40], 8
je 0x6467c213
test ebp, ebp
je 0x6467ac28
mov esi, dword [esp + 0x58]
sub esi, 6
mov ebx, dword [esp + 0x38]
mov dword [ebx + 4], esi
movzx ebp, byte [ecx + 5]
lea edi, [ecx + 6]
mov dword [ebx], edi
mov ebx, ebp
movzx edi, bl
or edi, edx
mov edx, edi
test byte [esp + 0x40], 4
je 0x6467c1e4
test esi, esi
je 0x6467ac28
mov edi, dword [esp + 0x58]
sub edi, 7
mov esi, dword [esp + 0x38]
mov dword [esi + 4], edi
movzx ebp, byte [ecx + 6]
lea esi, [ecx + 7]
mov ebx, dword [esp + 0x38]
mov dword [ebx], esi
mov ebx, ebp
movzx esi, bl
shl esi, 8
or esi, edx
mov edx, esi
test byte [esp + 0x40], 2
je 0x6467c1b5
test edi, edi
je 0x6467ac28
mov edi, dword [esp + 0x58]
sub edi, 8
mov esi, dword [esp + 0x38]
mov dword [esi + 4], edi
movzx ebp, byte [ecx + 7]
lea esi, [ecx + 8]
mov ebx, dword [esp + 0x38]
mov dword [ebx], esi
mov ebx, ebp
movzx esi, bl
shl esi, 0x10
or esi, edx
mov edx, esi
test byte [esp + 0x40], 1
je 0x6467c18c
test edi, edi
je 0x6467ac28
mov ebx, dword [esp + 0x58]
sub ebx, 9
mov esi, dword [esp + 0x38]
mov dword [esi + 4], ebx
mov bl, byte [ecx + 8]
add ecx, 9
mov dword [esi], ecx
shl ebx, 0x18
mov dword [esp + 0x48], eax
or ebx, edx
mov dword [esp + 0x4c], ebx
xor eax, 0xa
or eax, dword [esp + 0x4c]
jne 0x6467b312
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov edi, dword [esp + 0xfc]
mov eax, dword [edi]
mov dword [esp + 0x10], eax
lea ebp, [esp + 0xbc]
mov dword [esp + 0xc], ebp
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x68]
mov dword [esp + 4], edx
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
call sym.allegro_5.0.10_monolith_mt.dll_SzReadHashDigests
test eax, eax
jne 0x6467bbf2
mov ecx, dword [esp + 0xe4]
test ecx, ecx
je 0x6467b85e
mov ebx, dword [esp + 0xe8]
mov dword [esp + 0x70], ebx
xor ecx, ecx
mov ebp, dword [esp + 0xf4]
mov edi, dword [esp + 0xf8]
mov esi, dword [esp + 0x70]
mov esi, dword [esi + 0x24]
mov dword [esp + 0x40], esi
cmp esi, 1
je 0x6467bc1c
test esi, esi
je 0x6467b84c
mov edx, dword [esp + 0x60]
shl edx, 2
mov eax, ecx
sub eax, dword [esp + 0x60]
shl eax, 2
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x60]
mov ebx, dword [esp + 0xb8]
mov bl, byte [ebx + ecx]
mov esi, dword [ebp]
mov byte [esi + eax], bl
mov ebx, dword [esp + 0x50]
add ebx, dword [esp + 0xbc]
mov esi, dword [ebx + edx]
mov ebx, dword [edi]
mov dword [ebx + edx], esi
inc eax
inc ecx
add edx, 4
mov ebx, eax
sub ebx, dword [esp + 0x60]
cmp dword [esp + 0x40], ebx
ja 0x6467b814
mov dword [esp + 0x60], eax
add dword [esp + 0x70], 0x28
mov edx, dword [esp + 0x88]
cmp dword [esp + 0x70], edx
jne 0x6467b7e4
mov eax, dword [esp + 0xb8]
mov dword [esp], eax
mov esi, dword [esp + 0xfc]
call dword [esi + 4]
mov eax, dword [esp + 0xbc]
mov dword [esp], eax
call dword [esi + 4]
mov edi, dword [esp + 0x38]
mov edi, dword [edi + 4]
mov dword [esp + 0x58], edi
jmp 0x6467b565
mov edi, dword [eax + 0x1c]
test edi, edi
jne 0x6467b2ce
jmp 0x6467b2cc
mov bl, byte [esp + 0x60]
and ebx, 7
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], 0
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x6467b0a9
mov cl, byte [esp + 0x60]
and ecx, 3
shl ecx, 8
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], 0
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x6467b0a9
mov cl, byte [esp + 0x60]
and ecx, 1
shl ecx, 0x10
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], 0
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x6467b0a9
and esi, 0x7f
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0
mov ebp, eax
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
add esi, dword [esp + 0x28]
adc edi, dword [esp + 0x2c]
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], edi
jmp 0x6467abea
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x6467b0a9
and ecx, 0x3f
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
shld ebx, ecx, 8
shl ecx, 8
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
jmp 0x6467b199
mov cl, byte [esp + 0x60]
and ecx, 0x1f
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
shld ebx, ecx, 0x10
shl ecx, 0x10
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
jmp 0x6467b199
mov cl, byte [esp + 0x60]
and ecx, 7
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
jmp 0x6467b199
mov cl, byte [esp + 0x60]
and ecx, 0xf
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
shld ebx, ecx, 0x18
shl ecx, 0x18
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], ebx
jmp 0x6467b199
mov cl, byte [esp + 0x60]
and ecx, 3
shl ecx, 8
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
jmp 0x6467b199
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
jmp 0x6467b199
mov cl, byte [esp + 0x60]
and ecx, 1
shl ecx, 0x10
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0x58]
mov ebx, dword [esp + 0x5c]
jmp 0x6467b199
and esi, 0x3f
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
shld edi, esi, 8
shl esi, 8
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edi
mov ebp, dword [esp + 0x40]
jmp 0x6467b93b
and esi, 0x1f
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
shld edi, esi, 0x10
shl esi, 0x10
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], edi
mov ebp, dword [esp + 0x88]
jmp 0x6467b93b
and esi, 0xf
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], 0
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
shld ecx, edx, 0x18
shl edx, 0x18
mov dword [esp + 0x90], edx
mov dword [esp + 0x94], ecx
mov ebp, edi
mov esi, edx
mov edi, ecx
jmp 0x6467b93b
mov edx, esi
and edx, 7
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], 0
mov ebp, edi
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
jmp 0x6467b93b
and esi, 3
shl esi, 8
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], 0
mov ebp, edi
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
jmp 0x6467b93b
mov ebp, edx
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
jmp 0x6467b93b
and esi, 1
shl esi, 0x10
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], 0
mov ebp, edx
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
jmp 0x6467b93b
mov esi, eax
mov edx, dword [esp + 0xb8]
mov dword [esp], edx
mov ebx, dword [esp + 0xfc]
call dword [ebx + 4]
mov edx, dword [esp + 0xbc]
mov dword [esp], edx
call dword [ebx + 4]
mov eax, esi
jmp 0x6467ac2d
mov eax, dword [esp + 0x70]
mov edx, dword [eax + 0x1c]
test edx, edx
je 0x6467b7fc
mov ebx, eax
mov eax, dword [ebp]
mov edx, dword [esp + 0x60]
mov byte [eax + edx], 1
mov edx, dword [ebx + 0x20]
mov eax, dword [edi]
mov esi, dword [esp + 0x60]
mov dword [eax + esi*4], edx
inc esi
mov dword [esp + 0x60], esi
jmp 0x6467b84c
mov al, byte [esp + 0x88]
and eax, 0x7f
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], 0
xor eax, eax
xor edx, edx
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
add ecx, eax
adc ebx, edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], ebx
jmp 0x6467b079
mov cl, byte [esp + 0x88]
and ecx, 0x3f
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
shld esi, ebx, 8
shl ebx, 8
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov ecx, ebx
mov ebx, esi
jmp 0x6467bc7c
mov eax, dword [ebx + 4]
test eax, eax
je 0x6467ac28
lea edi, [eax - 1]
mov dword [ebx + 4], edi
mov edx, dword [ebx]
movzx esi, byte [edx]
lea ecx, [edx + 1]
mov dword [ebx], ecx
mov ecx, esi
test cl, cl
jns 0x6467c42d
test edi, edi
je 0x6467ac28
lea edi, [eax - 2]
mov dword [ebx + 4], edi
movzx ebp, byte [edx + 1]
lea ecx, [edx + 2]
mov dword [ebx], ecx
mov ecx, ebp
movzx ebp, cl
mov dword [esp + 0x40], ebp
mov dword [esp + 0x38], ebp
mov dword [esp + 0x3c], 0
test esi, 0x40
je 0x6467c41e
test edi, edi
je 0x6467ac28
lea edi, [eax - 3]
mov dword [esp + 0x60], edi
mov dword [ebx + 4], edi
movzx edi, byte [edx + 2]
lea ecx, [edx + 3]
mov dword [ebx], ecx
and edi, 0xff
xor ebp, ebp
shld ebp, edi, 8
shl edi, 8
mov ecx, dword [esp + 0x40]
or ecx, edi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x3c], ebp
test esi, 0x20
je 0x6467c40f
mov edi, dword [esp + 0x60]
test edi, edi
je 0x6467ac28
lea ecx, [eax - 4]
mov dword [ebx + 4], ecx
movzx edi, byte [edx + 3]
add edx, 4
mov dword [ebx], edx
and edi, 0xff
xor ebp, ebp
shld ebp, edi, 0x10
shl edi, 0x10
mov edx, dword [esp + 0x38]
or edx, edi
mov edi, dword [esp + 0x3c]
or edi, ebp
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edi
test esi, 0x10
je 0x6467c403
test ecx, ecx
je 0x6467ac28
lea ebp, [eax - 5]
mov dword [ebx + 4], ebp
mov edi, dword [ebx]
mov cl, byte [edi]
lea edx, [edi + 1]
mov dword [ebx], edx
movzx edx, cl
xor ecx, ecx
shld ecx, edx, 0x18
shl edx, 0x18
or edx, dword [esp + 0x38]
or ecx, dword [esp + 0x3c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
test esi, 8
je 0x6467c3f7
test ebp, ebp
je 0x6467ac28
lea ecx, [eax - 6]
mov dword [ebx + 4], ecx
movzx ebp, byte [edi + 1]
lea edx, [edi + 2]
mov dword [ebx], edx
mov edx, ebp
movzx ebp, dl
mov dword [esp + 0x40], ebp
mov edx, dword [esp + 0x3c]
or dword [esp + 0x40], edx
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x3c], ebp
test esi, 4
je 0x6467c3eb
test ecx, ecx
je 0x6467ac28
lea edx, [eax - 7]
mov dword [esp + 0x40], edx
mov dword [ebx + 4], edx
movzx ebp, byte [edi + 2]
lea edx, [edi + 3]
mov dword [ebx], edx
mov ecx, ebp
movzx edx, cl
shl edx, 8
or edx, dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
test esi, 2
je 0x6467c3df
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x6467ac28
lea ebp, [eax - 8]
mov dword [esp + 0x40], ebp
mov dword [ebx + 4], ebp
movzx ebp, byte [edi + 3]
lea edx, [edi + 4]
mov dword [ebx], edx
mov ecx, ebp
movzx edx, cl
shl edx, 0x10
or edx, dword [esp + 0x3c]
mov dword [esp + 0x3c], edx
test esi, 1
je 0x6467c385
mov edx, dword [esp + 0x40]
test edx, edx
je 0x6467ac28
sub eax, 9
mov dword [ebx + 4], eax
mov al, byte [edi + 4]
add edi, 5
mov dword [ebx], edi
shl eax, 0x18
mov edx, dword [esp + 0x38]
mov dword [esp + 0x48], edx
or eax, dword [esp + 0x3c]
mov dword [esp + 0x4c], eax
jmp 0x6467b25d
mov al, bl
and eax, 0x7f
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], 0
xor eax, eax
xor edx, edx
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
add edi, eax
adc ebp, edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x48]
jmp 0x6467b305
mov cl, byte [esp + 0x88]
and ecx, 3
mov esi, ecx
shl esi, 8
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x6467bc7c
mov cl, byte [esp + 0x88]
and ecx, 1
mov esi, ecx
shl esi, 0x10
mov dword [esp + 0x84], esi
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x6467bc7c
xor eax, eax
jmp 0x6467ac2d
mov dword [esp + 0x68], 0
jmp 0x6467b2d9
mov cl, byte [esp + 0x88]
and ecx, 0xf
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
shld esi, ebx, 0x18
shl ebx, 0x18
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov ecx, ebx
mov ebx, esi
jmp 0x6467bc7c
mov cl, byte [esp + 0x88]
and ecx, 7
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], 0
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x6467bc7c
mov cl, byte [esp + 0x88]
and ecx, 0x1f
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0
mov ebx, dword [esp + 0x80]
mov esi, dword [esp + 0x84]
shld esi, ebx, 0x10
shl ebx, 0x10
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], esi
mov ecx, ebx
mov ebx, esi
jmp 0x6467bc7c
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0x84]
jmp 0x6467bc7c
mov cl, byte [esp + 0x50]
and ecx, 0xf
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
shld edi, esi, 0x18
shl esi, 0x18
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
mov esi, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
add esi, dword [esp + 0x98]
adc edi, dword [esp + 0x9c]
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edi
jmp 0x6467b533
mov cl, byte [esp + 0x50]
and ecx, 0x1f
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
shld edi, esi, 0x10
shl esi, 0x10
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
jmp 0x6467c0ba
mov cl, byte [esp + 0x50]
and ecx, 0x3f
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
mov esi, dword [esp + 0x98]
mov edi, dword [esp + 0x9c]
shld edi, esi, 8
shl esi, 8
mov dword [esp + 0x98], esi
mov dword [esp + 0x9c], edi
jmp 0x6467c0ba
and ecx, 0x7f
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
jmp 0x6467c0ba
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
jmp 0x6467bf05
mov cl, byte [esp + 0x40]
and ecx, 1
shl ecx, 0x10
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], 0
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
jmp 0x6467bf05
mov cl, byte [esp + 0x40]
and ecx, 3
shl ecx, 8
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], 0
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
jmp 0x6467bf05
mov cl, byte [esp + 0x40]
and ecx, 7
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa0], 0
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
jmp 0x6467bf05
mov cl, byte [esp + 0x40]
and ecx, 0x3f
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
shld esi, ebx, 8
shl ebx, 8
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], esi
mov edi, ebx
mov ebp, esi
jmp 0x6467bf05
mov cl, byte [esp + 0x40]
and ecx, 0xf
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp + 0xa4]
shld esi, ebx, 0x18
shl ebx, 0x18
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], esi
mov edi, ebx
mov ebp, esi
jmp 0x6467bf05
mov cl, byte [esp + 0x40]
and ecx, 0x1f
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], 0
mov edi, dword [esp + 0xa0]
mov ebp, dword [esp + 0xa4]
shld ebp, edi, 0x10
shl edi, 0x10
mov dword [esp + 0xa0], edi
mov dword [esp + 0xa4], ebp
jmp 0x6467bf05
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
jmp 0x6467c0ba
mov cl, byte [esp + 0x50]
and ecx, 1
shl ecx, 0x10
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], 0
jmp 0x6467c0ba
mov cl, byte [esp + 0x50]
and ecx, 3
shl ecx, 8
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x98], 0
jmp 0x6467c0ba
mov al, byte [esp + 0x50]
and eax, 7
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], 0
jmp 0x6467c0ba
mov edx, 1
mov eax, 7
dec edx
and esi, 0xff
and edx, esi
mov dword [esp + 0x48], edx
mov esi, edx
sar esi, 0x1f
mov dword [esp + 0x4c], esi
lea ecx, [eax*8]
mov edi, dword [esp + 0x48]
mov ebp, dword [esp + 0x4c]
shld ebp, edi, cl
shl edi, cl
test cl, 0x20
je 0x6467c3c2
mov ebp, edi
xor edi, edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x4c], ebp
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x3c]
add dword [esp + 0x48], eax
adc dword [esp + 0x4c], edx
jmp 0x6467b25d
mov edx, 2
mov eax, 6
jmp 0x6467c38f
mov edx, 4
mov eax, 5
jmp 0x6467c38f
mov edx, 8
mov eax, 4
jmp 0x6467c38f
mov edx, 0x10
mov eax, 3
jmp 0x6467c38f
mov edx, 0x20
mov eax, 2
jmp 0x6467c38f
mov edx, 0x40
mov eax, 1
jmp 0x6467c38f
mov edx, pe_nt_image_headers32
xor eax, eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jmp 0x6467c38f