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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xc
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov ebx, dword [eax + 4]
mov ebp, ebx
and ebp, 3
je 0x810af0
mov ecx, ebp
neg ecx
add ebx, ecx
lea edi, [ecx*8 + 0x20]
mov ecx, 4
sub ecx, ebp
shl ecx, 3
mov dword [eax + 4], ebx
mov dword [eax + 0x10], edi
mov esi, dword [ebx]
bswap esi
sar esi, cl
mov dword [eax + 0xc], esi
mov ecx, dword [edx + 4]
cmp edi, 8
mov dword [esp + 4], ecx
jg 0x810ae0
mov dword [esp + 8], 8
mov ebp, ecx
sub dword [esp + 8], edi
movzx ecx, byte [esp + 8]
shr ebp, cl
mov ecx, edi
shl esi, cl
mov edi, 0x20
or ebp, esi
mov esi, dword [esp + 4]
mov dword [eax + 0xc], ebp
mov ecx, ebp
bswap ecx
mov dword [ebx], ecx
add dword [eax + 4], 4
sub edi, dword [esp + 8]
add esi, esi
or esi, dword [edx + 0xc]
lea ecx, [edi - 1]
test ecx, ecx
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ecx
je 0x8106f0
add esi, esi
sub edi, 2
or esi, dword [edx + 0x10]
test edi, edi
mov dword [eax + 0x10], edi
mov ebp, esi
mov dword [eax + 0xc], esi
jne 0x810708
mov ecx, dword [eax + 4]
bswap esi
mov dword [ecx], esi
mov esi, dword [eax + 0xc]
mov ecx, 0x1f
add dword [eax + 4], 4
add esi, esi
or esi, dword [edx + 0x14]
add esi, esi
sub ecx, 1
or esi, dword [edx + 0x18]
test ecx, ecx
mov dword [eax + 0x10], ecx
mov dword [eax + 0xc], esi
jne 0x8118df
mov ecx, dword [eax + 4]
bswap esi
mov dword [esp + 4], 0x1c
mov ebx, dword [esp + 4]
mov dword [ecx], esi
mov ebp, dword [eax + 0xc]
add dword [eax + 4], 4
shl ebp, 4
mov dword [esp], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
cmp dword [esp + 4], 8
mov esi, dword [edx + 8]
jg 0x810ac0
mov ebp, 8
mov edi, esi
mov ebx, dword [esp]
sub ebp, dword [esp + 4]
mov ecx, ebp
shr edi, cl
movzx ecx, byte [esp + 4]
shl ebx, cl
mov ecx, dword [eax + 4]
or edi, ebx
mov ebx, 0x20
bswap edi
sub ebx, ebp
mov ebp, esi
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
mov esi, dword [edx]
add esi, 1
cmp esi, 0xffff
jle 0x8106e0
mov ecx, esi
mov edi, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x80f6bd
mov edi, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea edi, [ecx + edi]
sar edi, 1
cmp ebx, edi
jg 0x810aa8
mov ecx, ebx
sub ebx, edi
shl ebp, cl
mov ecx, dword [eax + 4]
add ebx, 0x20
bswap ebp
mov dword [ecx], ebp
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
lea ecx, [edi + 1]
cmp ecx, ebx
jl 0x8108e1
sub ecx, ebx
mov edi, esi
shr edi, cl
mov dword [esp], ecx
mov ecx, ebx
mov ebx, 0x20
shl ebp, cl
mov ecx, dword [eax + 4]
or edi, ebp
mov ebp, esi
bswap edi
sub ebx, dword [esp]
mov dword [ecx], edi
add dword [eax + 4], 4
cmp dword [edx + 4], 0x63
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
jg 0x8108f7
mov edi, dword [edx + 0x1c]
sub edi, 3
cmp edi, 0xffff
jle 0x8106d0
mov ecx, edi
mov esi, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x80f761
mov esi, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea esi, [ecx + esi]
sar esi, 1
cmp ebx, esi
jg 0x8108d0
mov ecx, ebx
sub ebx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
add ebx, 0x20
bswap ebp
mov dword [ecx], ebp
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
lea ecx, [esi + 1]
cmp ebx, ecx
jg 0x8108b8
sub ecx, ebx
mov esi, edi
mov dword [esp], ecx
shr esi, cl
mov ecx, ebx
shl ebp, cl
mov ecx, dword [eax + 4]
mov ebx, 0x20
or esi, ebp
sub ebx, dword [esp]
bswap esi
mov dword [ecx], esi
mov esi, edi
add dword [eax + 4], 4
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
mov edi, dword [edx + 0x20]
add edi, 1
cmp edi, 0xffff
jle 0x8106c0
mov ecx, edi
mov ebp, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x80f7fb
mov ebp, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea ebp, [ecx + ebp]
sar ebp, 1
cmp ebx, ebp
jg 0x8108a0
mov ecx, ebx
sub ebx, ebp
shl esi, cl
mov ecx, dword [eax + 4]
add ebx, 0x20
bswap esi
mov dword [esp + 4], ebx
mov dword [esp], 0
mov dword [ecx], esi
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
lea ebx, [ebp + 1]
cmp dword [esp + 4], ebx
jg 0x8107d4
sub ebx, dword [esp + 4]
mov ebp, edi
mov esi, dword [esp]
mov dword [esp], edi
mov ecx, ebx
shr ebp, cl
movzx ecx, byte [esp + 4]
shl esi, cl
mov ecx, dword [eax + 4]
or ebp, esi
mov esi, 0x20
sub esi, ebx
bswap ebp
mov dword [ecx], ebp
mov ebx, dword [edx + 0x20]
add dword [eax + 4], 4
mov dword [eax + 0xc], edi
test ebx, ebx
mov dword [eax + 0x10], esi
je 0x8107f7
mov ebp, dword [edx + 0x28]
add ebp, 1
cmp ebp, 0xffff
jle 0x8106b2
mov ecx, ebp
mov edi, 0x30
sar ecx, 0x10
mov ebx, 0x20
cmp ecx, 0xff
jle 0x80f8af
sar ecx, 8
mov ebx, edi
movzx ecx, byte [ecx + 0xbb1100]
lea ebx, [ecx + ebx]
sar ebx, 1
cmp esi, ebx
jg 0x8107c0
mov edi, dword [esp]
mov ecx, esi
sub esi, ebx
add esi, 0x20
shl edi, cl
bswap edi
mov dword [esp], edi
mov edi, dword [eax + 4]
mov ecx, dword [esp]
mov dword [edi], ecx
xor edi, edi
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [ebx + 1]
cmp esi, ecx
jg 0x8107b3
sub ecx, esi
mov ebx, ebp
mov dword [esp], ecx
shr ebx, cl
mov ecx, esi
shl edi, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or ebx, edi
mov edi, ebp
mov dword [eax + 0xc], ebx
bswap ebx
mov dword [ecx], ebx
add dword [eax + 4], 4
sub esi, dword [esp]
add edi, edi
sub esi, 1
or edi, dword [edx + 0x2c]
test esi, esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], edi
jne 0x80f949
mov ecx, dword [eax + 4]
mov si, 0x20
bswap edi
mov dword [ecx], edi
mov edi, dword [eax + 0xc]
add dword [eax + 4], 4
mov dword [eax + 0x10], 0x20
mov ebp, dword [edx + 0x30]
cmp ebp, 0xffff
jle 0x8106a2
mov ecx, ebp
mov ebx, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x80f977
mov ebx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea ebx, [ecx + ebx]
sar ebx, 1
cmp ebx, esi
jl 0x8107a2
mov ecx, esi
sub esi, ebx
shl edi, cl
mov ecx, dword [eax + 4]
add esi, 0x20
bswap edi
mov dword [ecx], edi
xor edi, edi
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [ebx + 1]
cmp ecx, esi
jl 0x810791
sub ecx, esi
mov ebx, ebp
mov dword [esp], ecx
shr ebx, cl
mov ecx, esi
shl edi, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or ebx, edi
mov edi, ebp
bswap ebx
sub esi, dword [esp]
mov dword [ecx], ebx
add dword [eax + 4], 4
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
mov ecx, dword [edx + 0x38]
mov ebx, dword [edx + 0x34]
test ecx, ecx
sete cl
sar ebx, cl
cmp ebx, 0xffff
jle 0x810692
mov ecx, ebx
mov ebp, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x80fa18
mov ebp, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea ebp, [ecx + ebp]
sar ebp, 1
cmp ebp, esi
jl 0x810780
mov ecx, esi
sub esi, ebp
shl edi, cl
mov ecx, dword [eax + 4]
add esi, 0x20
bswap edi
mov dword [ecx], edi
xor edi, edi
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [ebp + 1]
cmp esi, ecx
jg 0x810772
sub ecx, esi
mov ebp, ebx
mov dword [esp], ecx
shr ebp, cl
mov ecx, esi
shl edi, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or ebp, edi
mov edi, ebx
mov dword [eax + 0xc], ebp
bswap ebp
mov dword [ecx], ebp
add dword [eax + 4], 4
sub esi, dword [esp]
mov ecx, dword [edx + 0x38]
add edi, edi
lea ebx, [esi - 1]
mov dword [eax + 0x10], ebx
or edi, ecx
test ebx, ebx
mov dword [eax + 0xc], edi
je 0x810670
sub esi, 2
test ecx, ecx
jne 0x80fda6
add edi, edi
or edi, dword [edx + 0x3c]
test esi, esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], edi
jne 0x80fda3
mov ecx, dword [eax + 4]
mov esi, 0x1f
bswap edi
mov dword [ecx], edi
mov ebx, dword [eax + 0xc]
add dword [eax + 4], 4
add ebx, ebx
or ebx, dword [edx + 0x40]
mov ecx, dword [edx + 0x44]
sub esi, 1
add ebx, ebx
mov dword [eax + 0x10], esi
or ebx, ecx
test esi, esi
mov dword [eax + 0xc], ebx
jne 0x80fddf
mov ecx, dword [eax + 4]
mov esi, 0x20
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0x44]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
test ecx, ecx
je 0x80fde7
cmp dword [edx + 0x108], 3
mov ebp, dword [edx + 0x48]
setne byte [esp]
movzx ecx, byte [esp]
sar ebp, cl
add ebp, 1
cmp ebp, 0xffff
jg 0x810c10
mov ecx, ebp
xor edi, edi
mov dword [esp + 4], 0x10
cmp ecx, 0xff
jle 0x80fb47
mov edi, dword [esp + 4]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea edi, [ecx + edi]
sar edi, 1
cmp edi, esi
jl 0x8114a8
mov ecx, esi
sub esi, edi
shl ebx, cl
mov ecx, dword [eax + 4]
add esi, 0x20
bswap ebx
mov dword [ecx], ebx
xor ebx, ebx
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [edi + 1]
cmp ecx, esi
jl 0x811493
sub ecx, esi
mov edi, ebp
mov dword [esp + 4], ecx
shr edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or edi, ebx
sub esi, dword [esp + 4]
bswap edi
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
mov dword [esp + 4], ebp
mov edi, dword [edx + 0x4c]
movzx ecx, byte [esp]
sar edi, cl
add edi, 1
cmp edi, 0xffff
jle 0x811311
mov ecx, edi
mov ebp, 0x30
sar ecx, 0x10
mov ebx, 0x20
cmp ecx, 0xff
jle 0x80fbe8
sar ecx, 8
mov ebx, ebp
movzx ecx, byte [ecx + 0xbb1100]
lea ebx, [ecx + ebx]
sar ebx, 1
cmp ebx, esi
jl 0x8113d8
mov ebp, dword [esp + 4]
mov ecx, esi
sub esi, ebx
add esi, 0x20
shl ebp, cl
bswap ebp
mov dword [esp + 4], ebp
mov ebp, dword [eax + 4]
mov ecx, dword [esp + 4]
mov dword [ebp], ecx
lea ecx, [ebx + 1]
xor ebp, ebp
add dword [eax + 4], 4
cmp ecx, esi
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
jl 0x8113f3
sub ecx, esi
mov ebx, edi
mov dword [esp + 4], ecx
shr ebx, cl
mov ecx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or ebx, ebp
mov ebp, edi
bswap ebx
sub esi, dword [esp + 4]
mov dword [ecx], ebx
add dword [eax + 4], 4
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
mov ebx, dword [edx + 0x50]
movzx ecx, byte [esp]
sar ebx, cl
add ebx, 1
cmp ebx, 0xffff
jle 0x811297
mov ecx, ebx
mov edi, 0x20
sar ecx, 0x10
mov dword [esp + 4], 0x30
cmp ecx, 0xff
jle 0x80fc99
mov edi, dword [esp + 4]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea edi, [ecx + edi]
sar edi, 1
cmp edi, esi
jl 0x811482
mov ecx, esi
sub esi, edi
shl ebp, cl
mov ecx, dword [eax + 4]
add esi, 0x20
bswap ebp
mov dword [ecx], ebp
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [edi + 1]
cmp ecx, esi
jl 0x811471
sub ecx, esi
mov edi, ebx
mov dword [esp + 4], ecx
shr edi, cl
mov ecx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or edi, ebp
mov ebp, ebx
bswap edi
sub esi, dword [esp + 4]
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
mov edi, dword [edx + 0x54]
movzx ecx, byte [esp]
sar edi, cl
add edi, 1
cmp edi, 0xffff
jle 0x8113a6
mov ecx, edi
mov ebx, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x80fd3b
mov ebx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea ebx, [ecx + ebx]
sar ebx, 1
cmp ebx, esi
jl 0x8114f5
mov ecx, esi
sub esi, ebx
shl ebp, cl
mov ecx, dword [eax + 4]
add esi, 0x20
bswap ebp
mov dword [ecx], ebp
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [ebx + 1]
cmp ecx, esi
jl 0x8114e8
sub ecx, esi
mov ebx, edi
mov dword [esp], ecx
shr ebx, cl
mov ecx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or ebx, ebp
mov dword [eax + 0xc], ebx
sub esi, dword [esp]
bswap ebx
mov dword [ecx], ebx
mov ebx, edi
add dword [eax + 4], 4
jmp 0x80fde7
sub esi, 1
add edi, edi
or edi, dword [edx + 0x40]
test esi, esi
mov dword [eax + 0x10], esi
mov ebx, edi
mov dword [eax + 0xc], edi
jne 0x80facc
mov ecx, dword [eax + 4]
mov esi, 0x1f
bswap edi
mov dword [ecx], edi
mov ebx, dword [eax + 0xc]
mov ecx, dword [edx + 0x44]
add dword [eax + 4], 4
add ebx, ebx
or ebx, ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], 0x1f
test ecx, ecx
jne 0x80fb09
mov ecx, dword [edx + 0x58]
lea ebp, [ebx + ebx]
lea ebx, [esi - 1]
mov dword [eax + 0x10], ebx
or ebp, ecx
test ebx, ebx
mov dword [eax + 0xc], ebp
je 0x810648
sub esi, 2
mov dword [esp + 8], esi
test ecx, ecx
je 0x8105e5
mov ecx, dword [edx + 0x5c]
add ebp, ebp
mov ebx, dword [esp + 8]
or ebp, ecx
test ebx, ebx
mov dword [esp], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jne 0x80fe4c
mov ecx, dword [eax + 4]
mov esi, ebp
bswap esi
mov dword [esp + 8], 0x20
mov dword [ecx], esi
mov esi, dword [eax + 0xc]
add dword [eax + 4], 4
mov ecx, dword [edx + 0x5c]
mov dword [eax + 0x10], 0x20
mov dword [esp], esi
test ecx, ecx
je 0x80ff90
mov esi, dword [edx + 0x60]
mov edi, 1
mov ebp, eax
mov ecx, 0xbb13c0
mov eax, edi
xor ebx, ebx
mov edi, esi
jmp 0x80fe7e
movzx eax, byte [ecx + 5]
add ebx, 1
add ecx, 3
cmp al, 0xff
je 0x80fea0
movzx esi, byte [ecx]
cmp esi, edi
jne 0x80fe70
movzx esi, byte [ecx + 1]
cmp esi, dword [edx + 0x64]
jne 0x80fe70
mov edi, eax
mov eax, ebp
mov ecx, edi
movzx edi, cl
mov dword [esp + 4], edi
jmp 0x80feaa
mov eax, ebp
mov dword [esp + 4], 0xff
cmp dword [esp + 8], 8
jg 0x810c35
mov ebp, 8
mov edi, dword [esp + 4]
sub ebp, dword [esp + 8]
mov esi, dword [esp]
mov ecx, ebp
shr edi, cl
movzx ecx, byte [esp + 8]
mov dword [esp + 8], 0x20
sub dword [esp + 8], ebp
mov ebp, dword [esp + 8]
shl esi, cl
mov ecx, dword [eax + 4]
or edi, esi
bswap edi
mov dword [ecx], edi
mov edi, dword [esp + 4]
add dword [eax + 4], 4
mov dword [eax + 0x10], ebp
mov dword [esp], edi
mov dword [eax + 0xc], edi
cmp byte [ebx + ebx*2 + 0xbb13c2], 0xff
jne 0x80ff90
cmp dword [esp + 8], 0x10
mov edi, dword [edx + 0x60]
jg 0x8118ba
mov ebp, 0x10
mov ebx, edi
mov esi, dword [esp]
sub ebp, dword [esp + 8]
mov ecx, ebp
shr ebx, cl
movzx ecx, byte [esp + 8]
shl esi, cl
mov ecx, dword [eax + 4]
or ebx, esi
mov esi, 0x20
bswap ebx
sub esi, ebp
mov dword [ecx], ebx
mov ebx, edi
add dword [eax + 4], 4
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
mov edi, dword [edx + 0x64]
cmp esi, 0x10
mov dword [esp + 4], edi
jg 0x8118a6
mov ebp, 0x10
sub ebp, esi
mov ecx, ebp
shr edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
or edi, ebx
mov ebx, dword [esp + 4]
mov dword [eax + 0xc], edi
mov dword [esp + 8], 0x20
bswap edi
sub dword [esp + 8], ebp
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [esp], ebx
lea esi, [esi]
mov esi, dword [esp]
mov edi, dword [esp + 8]
mov ecx, dword [edx + 0x68]
lea ebx, [esi + esi]
sub edi, 1
or ebx, ecx
test edi, edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], edi
je 0x810750
mov esi, dword [esp + 8]
sub esi, 2
test ecx, ecx
je 0x810093
add ebx, ebx
or ebx, dword [edx + 0x6c]
test esi, esi
mov dword [eax + 0x10], esi
mov dword [eax + 0xc], ebx
jne 0x810090
mov ecx, dword [eax + 4]
mov esi, 0x1f
bswap ebx
mov dword [ecx], ebx
mov ebx, dword [eax + 0xc]
mov ecx, dword [edx + 0x70]
add dword [eax + 4], 4
add ebx, ebx
or ebx, ecx
test ecx, ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], 0x1f
je 0x8100c8
mov edi, dword [edx + 0x74]
cmp esi, 3
mov dword [esp], edi
jg 0x811623
mov ebp, edi
mov edi, 3
sub edi, esi
mov ecx, edi
shr ebp, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or ebp, ebx
mov ebx, dword [esp]
sub esi, edi
mov dword [eax + 0xc], ebp
bswap ebp
mov dword [ecx], ebp
add dword [eax + 4], 4
add ebx, ebx
or ebx, dword [edx + 0x78]
lea ecx, [esi - 1]
test ecx, ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
je 0x811596
mov ecx, dword [edx + 0x7c]
sub esi, 2
add ebx, ebx
mov dword [eax + 0x10], esi
or ebx, ecx
test esi, esi
mov dword [eax + 0xc], ebx
jne 0x81007f
mov ecx, dword [eax + 4]
mov esi, 0x20
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0x7c]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
test ecx, ecx
jne 0x811796
mov ebx, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
jmp 0x8100c8
sub esi, 1
mov ecx, dword [edx + 0x70]
add ebx, ebx
mov dword [eax + 0x10], esi
or ebx, ecx
test esi, esi
mov dword [eax + 0xc], ebx
jne 0x8100c0
mov ecx, dword [eax + 4]
mov si, 0x20
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0x70]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
test ecx, ecx
jne 0x80fffe
mov ecx, dword [edx + 0x8c]
add ebx, ebx
sub esi, 1
mov dword [eax + 0x10], esi
or ebx, ecx
test esi, esi
mov dword [eax + 0xc], ebx
jne 0x8100fe
mov ecx, dword [eax + 4]
mov si, 0x20
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0x8c]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
test ecx, ecx
jne 0x811140
mov ecx, dword [edx + 0x98]
add ebx, ebx
sub esi, 1
mov dword [eax + 0x10], esi
or ebx, ecx
test esi, esi
mov dword [eax + 0xc], ebx
jne 0x81013c
mov ecx, dword [eax + 4]
mov si, 0x20
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0x98]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
test ecx, ecx
jne 0x811015
sub esi, 1
mov ecx, dword [edx + 0xa8]
add ebx, ebx
mov dword [eax + 0x10], esi
or ebx, ecx
test esi, esi
mov dword [eax + 0xc], ebx
jne 0x81017a
mov ecx, dword [eax + 4]
mov si, 0x20
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0xa8]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
test ecx, ecx
jne 0x810ca3
add ebx, ebx
or ebx, dword [edx + 0xac]
lea ecx, [esi - 1]
test ecx, ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], ecx
je 0x810bb0
mov ebx, dword [esp + 8]
add ebp, ebp
or ebp, 1
mov dword [eax + 0xc], ebp
test ebx, ebx
mov dword [eax + 0x10], ebx
jne 0x810b00
mov edx, dword [eax + 4]
mov esi, 0x20
xor edi, edi
bswap ebp
mov dword [edx], ebp
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov ecx, edi
mov edx, dword [eax + 4]
mov dword [eax + 0x10], esi
shl ebx, cl
mov ecx, esi
and ecx, 0x1f
mov dword [eax + 0xc], ebx
shl ebx, cl
bswap ebx
mov dword [edx], ebx
mov ecx, dword [eax + 0x10]
mov edx, 4
mov dword [eax + 0x10], 0x20
sar ecx, 3
sub edx, ecx
add dword [eax + 4], edx
add esp, 0xc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [eax + 4]
bswap ebp
mov dword [esp + 8], 0x1f
mov dword [ecx], ebp
mov ecx, dword [edx + 0x58]
add dword [eax + 4], 4
mov ebp, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
jmp 0x80fe07
mov ecx, dword [eax + 4]
mov esi, 0x1f
bswap edi
mov dword [ecx], edi
mov ecx, dword [edx + 0x38]
add dword [eax + 4], 4
mov edi, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
jmp 0x80fa99
mov ecx, ebx
xor ebp, ebp
mov dword [esp], 0x10
jmp 0x80fa0a
mov ecx, ebp
xor ebx, ebx
mov dword [esp], 0x10
jmp 0x80f969
mov ecx, ebp
mov edi, 0x10
xor ebx, ebx
jmp 0x80f8a2
mov ecx, edi
xor ebp, ebp
mov dword [esp], 0x10
jmp 0x80f7ed
mov ecx, edi
xor esi, esi
mov dword [esp], 0x10
jmp 0x80f753
mov ecx, esi
xor edi, edi
mov dword [esp], 0x10
jmp 0x80f6af
mov ecx, dword [eax + 4]
mov edi, 0x1f
bswap esi
mov dword [ecx], esi
mov ebp, dword [eax + 0xc]
add dword [eax + 4], 4
add ebp, ebp
or ebp, dword [edx + 0x10]
add ebp, ebp
or ebp, dword [edx + 0x14]
lea ecx, [edi - 1]
test ecx, ecx
mov esi, ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ecx
jne 0x80f60e
mov ecx, dword [eax + 4]
bswap ebp
mov dword [ecx], ebp
mov ebp, dword [eax + 0xc]
mov ecx, 0x1f
add dword [eax + 4], 4
add ebp, ebp
or ebp, dword [edx + 0x18]
mov dword [eax + 0xc], ebp
sub ecx, 4
mov dword [esp + 4], ecx
mov ebx, ecx
jmp 0x80f63e
mov ecx, dword [eax + 4]
mov esi, 0x1f
bswap ebx
mov dword [ecx], ebx
mov ecx, dword [edx + 0x68]
add dword [eax + 4], 4
mov ebx, dword [eax + 0xc]
mov dword [eax + 0x10], 0x20
jmp 0x80ffb7
shl edi, cl
sub esi, ecx
or edi, ebx
jmp 0x80fa7e
mov ecx, ebp
sub esi, ebp
shl edi, cl
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
jmp 0x80fa4c
shl edi, cl
sub esi, ecx
or edi, ebp
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
jmp 0x80f9e0
mov ecx, ebx
sub esi, ebx
shl edi, cl
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], esi
jmp 0x80f9ab
shl edi, cl
sub esi, ecx
or edi, ebp
jmp 0x80f91e
mov edi, dword [esp]
mov ecx, ebx
sub esi, ebx
mov dword [eax + 0x10], esi
shl edi, cl
mov dword [eax + 0xc], edi
jmp 0x80f8ec
mov esi, dword [esp]
mov ecx, ebx
shl esi, cl
or esi, edi
mov dword [esp], esi
mov dword [eax + 0xc], esi
mov esi, dword [esp + 4]
sub esi, ebx
mov ebx, dword [edx + 0x20]
mov dword [eax + 0x10], esi
test ebx, ebx
jne 0x80f881
mov edi, dword [edx + 0x24]
sub edi, 3
cmp edi, 0xffff
jle 0x810c27
mov ecx, edi
mov ebp, 0x30
sar ecx, 0x10
mov ebx, 0x20
cmp ecx, 0xff
jle 0x810825
sar ecx, 8
mov ebx, ebp
movzx ecx, byte [ecx + 0xbb1100]
lea ebx, [ecx + ebx]
sar ebx, 1
cmp esi, ebx
jg 0x8114d4
mov ebp, dword [esp]
mov ecx, esi
sub esi, ebx
add esi, 0x20
shl ebp, cl
bswap ebp
mov dword [esp], ebp
mov ebp, dword [eax + 4]
mov ecx, dword [esp]
mov dword [ebp], ecx
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [ebx + 1]
cmp ecx, esi
jl 0x8114c0
sub ecx, esi
mov ebx, edi
mov dword [esp], ecx
shr ebx, cl
mov ecx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
sub esi, dword [esp]
or ebx, ebp
mov dword [esp], edi
bswap ebx
mov dword [ecx], ebx
mov dword [eax + 0xc], edi
add dword [eax + 4], 4
mov dword [eax + 0x10], esi
jmp 0x80f881
mov ecx, ebp
sub ebx, ebp
shl esi, cl
mov dword [esp], esi
mov dword [eax + 0xc], esi
mov dword [esp + 4], ebx
mov dword [eax + 0x10], ebx
jmp 0x80f838
mov esi, ebp
sub ebx, ecx
shl esi, cl
or esi, edi
mov dword [eax + 0xc], esi
mov dword [eax + 0x10], ebx
jmp 0x80f7ca
mov ecx, esi
sub ebx, esi
shl ebp, cl
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jmp 0x80f795
shl ebp, cl
sub ebx, ecx
or ebp, esi
cmp dword [edx + 4], 0x63
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jle 0x80f730
mov edi, dword [edx + 0x108]
add edi, 1
cmp edi, 0xffff
jg 0x810bf4
mov ecx, edi
xor esi, esi
mov dword [esp], 0x10
cmp ecx, 0xff
jle 0x810925
mov esi, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea esi, [ecx + esi]
sar esi, 1
cmp esi, ebx
jl 0x811460
mov ecx, ebx
sub ebx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
add ebx, 0x20
bswap ebp
mov dword [ecx], ebp
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
lea ecx, [esi + 1]
cmp ecx, ebx
jl 0x811448
sub ecx, ebx
mov esi, edi
mov dword [esp], ecx
shr esi, cl
mov ecx, ebx
shl ebp, cl
mov ecx, dword [eax + 4]
mov ebx, 0x20
or esi, ebp
mov ebp, edi
bswap esi
sub ebx, dword [esp]
mov dword [ecx], esi
add dword [eax + 4], 4
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebx
cmp dword [edx + 0x108], 3
je 0x811412
test ebx, ebx
jg 0x8115f0
mov ecx, ebx
add ebx, 0x20
shl ebp, cl
mov ecx, dword [eax + 4]
bswap ebp
mov dword [ecx], ebp
xor ebp, ebp
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
cmp ebx, 1
jg 0x811435
mov edi, 1
mov esi, edi
sub esi, ebx
mov dword [esp], esi
movzx ecx, byte [esp]
mov esi, edi
shr esi, cl
mov ecx, ebx
shl ebp, cl
mov ecx, dword [eax + 4]
or esi, ebp
bswap esi
mov dword [ecx], esi
mov esi, 0x20
mov ebx, esi
sub ebx, dword [esp]
add dword [eax + 4], 4
test ebx, ebx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ebx
jg 0x811916
mov ecx, ebx
xor ebp, ebp
shl edi, cl
mov ecx, dword [eax + 4]
bswap edi
lea ebx, [esi + ebx]
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ebx
cmp ebx, 1
jg 0x811404
mov esi, 1
mov edi, esi
sub edi, ebx
mov ecx, edi
shr esi, cl
mov ecx, ebx
shl ebp, cl
mov ecx, dword [eax + 4]
mov ebx, 0x20
or esi, ebp
sub ebx, edi
mov dword [eax + 0xc], esi
mov ebp, 2
bswap esi
mov dword [ecx], esi
add dword [eax + 4], 4
or ebp, dword [edx + 0x104]
lea ecx, [ebx - 1]
test ecx, ecx
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ecx
je 0x811320
sub ebx, 2
add ebp, ebp
test ebx, ebx
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jne 0x80f730
mov ecx, dword [eax + 4]
mov ebx, 0x20
bswap ebp
mov dword [ecx], ebp
mov ebp, dword [eax + 0xc]
add dword [eax + 4], 4
mov dword [eax + 0x10], 0x20
jmp 0x80f730
mov ecx, edi
sub ebx, edi
shl ebp, cl
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jmp 0x80f6f1
mov ebp, dword [esp]
mov ebx, dword [esp + 4]
shl ebp, 8
or ebp, esi
sub ebx, 8
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jmp 0x80f68d
shl esi, 8
sub edi, 8
or esi, ecx
jmp 0x80f5c8
mov edi, dword [eax + 0x10]
mov esi, dword [eax + 0xc]
jmp 0x80f583
mov edi, ebx
and edi, 7
cmp edi, dword [esp + 8]
jl 0x8118d4
mov edx, dword [eax + 4]
xor ebx, ebx
movzx ecx, byte [esp + 8]
mov esi, dword [esp + 8]
shl ebp, cl
bswap ebp
mov dword [edx], ebp
mov edx, dword [eax + 4]
sub esi, edi
lea ecx, [esi + 0x20]
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], ecx
add edx, 4
mov dword [eax + 4], edx
jmp 0x810625
mov ecx, edi
mov esi, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
jmp 0x810917
mov ecx, ebp
mov edi, 0x20
sar ecx, 0x10
mov dword [esp + 4], 0x30
jmp 0x80fb38
mov ecx, edi
mov ebp, 0x10
xor ebx, ebx
jmp 0x810818
shl dword [esp], 8
mov esi, dword [esp + 4]
or dword [esp], esi
sub dword [esp + 8], 8
mov edi, dword [esp]
mov ebp, dword [esp + 8]
mov dword [eax + 0xc], edi
mov dword [eax + 0x10], ebp
jmp 0x80fefa
mov ebp, dword [edx + 0xb0]
cmp ebp, 0xffff
jle 0x811516
mov edi, dword [edx + 0x9c]
mov dword [esp], edi
shr edi, 0x10
cmp esi, 0x10
mov dword [esp + 4], edi
jg 0x8116c0
mov ebp, 0x10
sub ebp, esi
mov ecx, ebp
shr edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or edi, ebx
mov ebx, dword [esp + 4]
sub esi, ebp
bswap edi
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
cmp esi, 0x10
jg 0x8116a7
mov edi, dword [esp]
mov ebp, 0x10
sub ebp, esi
mov ecx, ebp
shr edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
or edi, ebx
mov ebx, 0x20
bswap edi
sub ebx, ebp
mov dword [ecx], edi
mov edi, dword [esp]
add dword [eax + 4], 4
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
mov esi, dword [edx + 0xa0]
mov dword [esp], esi
shr esi, 0x10
cmp ebx, 0x10
mov dword [esp + 8], esi
jg 0x811690
mov ebp, dword [edx + 0x90]
add ebp, 1
cmp ebp, 0xffff
jle 0x811506
mov ecx, ebp
mov edi, 0x20
sar ecx, 0x10
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0x811174
mov edi, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xbb1100]
lea edi, [ecx + edi]
sar edi, 1
cmp edi, esi
jl 0x811785
mov ecx, esi
sub esi, edi
shl ebx, cl
mov ecx, dword [eax + 4]
add esi, 0x20
bswap ebx
mov dword [ecx], ebx
xor ebx, ebx
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [edi + 1]
cmp ecx, esi
jl 0x811771
sub ecx, esi
mov edi, ebp
mov dword [esp], ecx
shr edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or edi, ebx
sub esi, dword [esp]
bswap edi
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
mov dword [esp], ebp
mov edi, dword [edx + 0x94]
add edi, 1
cmp edi, 0xffff
jle 0x811536
mov ecx, edi
mov ebp, 0x30
sar ecx, 0x10
mov ebx, 0x20
cmp ecx, 0xff
jle 0x81120f
sar ecx, 8
mov ebx, ebp
movzx ecx, byte [ecx + 0xbb1100]
lea ebx, [ecx + ebx]
sar ebx, 1
cmp ebx, esi
jl 0x8116e5
mov ebp, dword [esp]
mov ecx, esi
sub esi, ebx
add esi, 0x20
mov dword [esp + 4], esi
shl ebp, cl
bswap ebp
mov dword [esp], ebp
mov ebp, dword [eax + 4]
mov ecx, dword [esp]
mov dword [esp], 0
mov dword [ebp], ecx
add dword [eax + 4], 4
mov dword [eax + 0xc], 0
mov dword [eax + 0x10], esi
lea ecx, [ebx + 1]
cmp ecx, dword [esp + 4]
jl 0x8116d3
mov ebx, ecx
mov ebp, edi
mov esi, dword [esp]
sub ebx, dword [esp + 4]
mov ecx, ebx
shr ebp, cl
movzx ecx, byte [esp + 4]
shl esi, cl
mov ecx, dword [eax + 4]
or ebp, esi
mov esi, 0x20
mov dword [eax + 0xc], ebp
sub esi, ebx
mov ebx, edi
bswap ebp
mov dword [ecx], ebp
add dword [eax + 4], 4
jmp 0x810106
mov ecx, ebx
xor edi, edi
mov dword [esp + 4], 0x10
jmp 0x80fc8a
mov ecx, edi
mov ebp, 0x10
xor ebx, ebx
jmp 0x80fbdb
mov ecx, dword [eax + 4]
mov ebx, 0x1f
bswap ebp
mov dword [ecx], ebp
mov ebp, dword [eax + 0xc]
add dword [eax + 4], 4
mov dword [eax + 0x10], 0x1f
add ebp, ebp
mov dword [eax + 0xc], ebp
jmp 0x80f730
mov ecx, edi
xor ebx, ebx
mov dword [esp], 0x10
jmp 0x80fd2d
mov ebp, dword [esp + 4]
mov ecx, ebx
sub esi, ebx
mov dword [eax + 0x10], esi
shl ebp, cl
lea ecx, [ebx + 1]
cmp ecx, esi
mov dword [eax + 0xc], ebp
jge 0x80fc34
shl ebp, cl
sub esi, ecx
or ebp, edi
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
jmp 0x80fc60
shl ebp, 2
sub ebx, 1
or ebp, 2
jmp 0x810a5f
sub ebx, 1
add ebp, ebp
test ebx, ebx
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jne 0x81099b
mov ecx, dword [eax + 4]
mov bl, 0x20
bswap ebp
mov dword [ecx], ebp
mov ebp, dword [eax + 0xc]
add dword [eax + 4], 4
add ebp, ebp
sub ebx, 1
or ebp, 1
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jmp 0x810a29
shl ebp, cl
sub ebx, ecx
or ebp, edi
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jmp 0x81098e
mov ecx, esi
sub ebx, esi
shl ebp, cl
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], ebx
jmp 0x810959
shl ebp, cl
sub esi, ecx
or ebp, ebx
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
jmp 0x80fd04
mov ecx, edi
sub esi, edi
shl ebp, cl
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
jmp 0x80fccd
shl ebx, cl
sub esi, ecx
or ebx, ebp
mov dword [esp + 4], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
jmp 0x80fbb4
mov ecx, edi
sub esi, edi
shl ebx, cl
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
jmp 0x80fb7b
shl ebp, cl
sub esi, ecx
or ebp, edi
mov dword [esp], ebp
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
jmp 0x80f881
mov ebp, dword [esp]
mov ecx, ebx
sub esi, ebx
mov dword [eax + 0x10], esi
shl ebp, cl
mov dword [eax + 0xc], ebp
jmp 0x810863
mov ebx, ebp
sub esi, ecx
shl ebx, cl
or ebx, edi
jmp 0x80fde7
mov ecx, ebx
sub esi, ebx
shl ebp, cl
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
jmp 0x80fd6f
mov ecx, ebp
xor edi, edi
mov dword [esp], 0x10
jmp 0x811166
mov ecx, edi
mov ebp, 0x10
xor ebx, ebx
jmp 0x811202
mov ecx, dword [eax + 4]
mov esi, 0x1f
bswap ebx
mov dword [ecx], ebx
mov ebx, dword [eax + 0xc]
mov ecx, dword [edx + 0x7c]
add dword [eax + 4], 4
add ebx, ebx
or ebx, ecx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], 0x1f
jmp 0x81007f
mov ebp, dword [eax + 0xc]
jmp 0x8109c1
shl ebx, 3
sub esi, 3
or ebx, edi
jmp 0x810038
mov edi, ebx
shl edi, 0x10
or edi, dword [esp]
lea ebx, [esi - 0x10]
mov dword [eax + 0x10], ebx
mov dword [eax + 0xc], edi
jmp 0x811093
shl ebx, 0x10
sub esi, 0x10
or ebx, edi
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
jmp 0x81105b
mov ebx, dword [esp]
mov esi, dword [esp + 4]
shl ebx, cl
or ebx, edi
sub esi, ecx
jmp 0x810106
mov ebp, dword [esp]
mov ecx, ebx
sub esi, ebx
mov dword [esp + 4], esi
mov dword [eax + 0x10], esi
shl ebp, cl
mov dword [esp], ebp
mov dword [eax + 0xc], ebp
jmp 0x811256
shl ebx, cl
sub esi, ecx
or ebx, ebp
mov dword [esp], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
jmp 0x8111de
mov ecx, edi
sub esi, edi
shl ebx, cl
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
jmp 0x8111a8
cmp esi, 8
mov ebp, dword [edx + 0x80]
jg 0x811866
mov dword [esp], 8
mov edi, ebp
sub dword [esp], esi
movzx ecx, byte [esp]
mov dword [esp + 4], 0x20
shr edi, cl
mov ecx, esi
shl ebx, cl
mov ecx, dword [eax + 4]
or edi, ebx
mov ebx, dword [esp]
sub dword [esp + 4], ebx
mov esi, dword [esp + 4]
bswap edi
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
mov dword [esp], ebp
cmp dword [esp + 4], 8
mov ebx, dword [edx + 0x84]
jg 0x81188f
mov ebp, 8
mov edi, ebx
mov esi, dword [esp]
sub ebp, dword [esp + 4]
mov ecx, ebp
shr edi, cl
movzx ecx, byte [esp + 4]
shl esi, cl
mov ecx, dword [eax + 4]
or edi, esi
mov esi, 0x20
bswap edi
sub esi, ebp
mov ebp, ebx
mov dword [ecx], edi
add dword [eax + 4], 4
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
mov edi, dword [edx + 0x88]
cmp esi, 8
mov dword [esp], edi
jg 0x811880
mov ebx, 8
sub ebx, esi
mov ecx, ebx
shr edi, cl
mov ecx, esi
shl ebp, cl
mov ecx, dword [eax + 4]
mov esi, 0x20
or edi, ebp
sub esi, ebx
mov ebx, dword [esp]
mov dword [eax + 0xc], edi
bswap edi
mov dword [ecx], edi
add dword [eax + 4], 4
jmp 0x8100c8
shl ebx, 8
sub esi, 8
or ebx, ebp
mov dword [esp], ebx
mov dword [eax + 0xc], ebx
mov dword [esp + 4], esi
mov dword [eax + 0x10], esi
jmp 0x8117e4
mov ebx, ebp
sub esi, 8
shl ebx, 8
or ebx, edi
jmp 0x8100c8
mov ebp, dword [esp]
mov esi, dword [esp + 4]
shl ebp, 8
or ebp, ebx
sub esi, 8
mov dword [eax + 0xc], ebp
mov dword [eax + 0x10], esi
jmp 0x81182a
shl ebx, 0x10
sub esi, 0x10
or ebx, edi
mov dword [esp], ebx
mov dword [esp + 8], esi
jmp 0x80ff90
mov ebx, dword [esp]
mov esi, dword [esp + 8]
shl ebx, 0x10
or ebx, edi
sub esi, 0x10
mov dword [eax + 0xc], ebx
mov dword [eax + 0x10], esi
jmp 0x80ff4b
mov esi, dword [esp + 8]
sub esi, edi
jmp 0x81060e
cmp ecx, 4
jg 0x811920
mov ebx, dword [eax + 4]
shl esi, cl
add ecx, 0x1c
bswap esi
mov dword [esp + 4], ecx
mov dword [esp], 0
mov dword [ebx], esi
mov dword [eax + 0xc], 0
add dword [eax + 4], 4
mov dword [eax + 0x10], ecx
jmp 0x80f64a
mov ebp, 1
jmp 0x810a29
mov ebp, esi
jmp 0x81073b