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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xc
mov ebx, dword [esp + 0x20]
mov ebp, dword [ebx + 4]
mov edx, ebp
and edx, 3
jne 0xa31304
mov eax, dword [ebx + 0x10]
mov edi, dword [ebx + 0xc]
mov ecx, dword [esp + 0x24]
cmp eax, 8
mov esi, dword [ecx + 4]
jle 0xa312d3
shl edi, 8
sub eax, 8
or esi, edi
mov edi, ecx
mov ecx, dword [edi + 0xc]
add esi, esi
lea edx, [eax - 1]
mov dword [ebx + 0x10], edx
or esi, ecx
test edx, edx
mov dword [ebx + 0xc], esi
je 0xa31271
mov edx, dword [edi + 0x10]
lea ecx, [eax - 2]
add esi, esi
mov dword [ebx + 0x10], ecx
or esi, edx
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa3244e
bswap esi
mov dword [ebp], esi
mov ecx, 0x1f
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 4], ebp
lea esi, [eax + eax]
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x14]
or esi, edx
mov edi, dword [eax + 0x18]
dec ecx
add esi, esi
mov dword [ebx + 0x10], ecx
or esi, edi
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa3235d
bswap esi
mov dword [ebp], esi
mov ecx, 0x1c
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x10], ecx
shl edi, 4
mov dword [ebx + 0xc], edi
mov eax, dword [esp + 0x24]
cmp ecx, 8
mov esi, dword [eax + 8]
jle 0xa31240
shl edi, 8
or esi, edi
lea eax, [ecx - 8]
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
mov edi, dword [esp + 0x24]
mov edi, dword [edi]
mov dword [esp], edi
inc edi
cmp edi, 0xffff
mov ecx, edi
jle 0xa31230
sar ecx, 0x10
mov edx, 0x20
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0xa2fd23
mov edx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa31040
sub eax, edx
mov cl, dl
inc edx
shl esi, cl
cmp edx, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jl 0xa3106c
sub edx, eax
mov cl, al
shl esi, cl
mov eax, edi
mov cl, dl
shr eax, cl
mov ecx, dword [esp + 0x24]
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
cmp dword [ecx + 4], 0x63
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
jg 0xa31088
mov ecx, dword [ecx + 0x1c]
lea esi, [ecx - 3]
cmp esi, 0xffff
mov dword [esp], ecx
mov ecx, esi
jle 0xa31030
sar ecx, 0x10
mov edx, 0x20
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0xa2fdb6
mov edx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa30ff0
sub eax, edx
mov cl, dl
inc edx
shl edi, cl
cmp edx, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jl 0xa3101c
sub edx, eax
mov cl, al
shl edi, cl
mov eax, esi
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], esi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
mov edi, dword [esp + 0x24]
mov edi, dword [edi + 0x20]
mov dword [esp], edi
inc edi
cmp edi, 0xffff
mov ecx, edi
jle 0xa30fe2
sar ecx, 0x10
mov edx, 0x20
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0xa2fe3d
mov edx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa30ef0
sub eax, edx
mov cl, dl
inc edx
shl esi, cl
cmp edx, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jl 0xa30f1c
sub edx, eax
mov cl, al
shl esi, cl
mov eax, edi
mov cl, dl
shr eax, cl
mov ecx, dword [esp + 0x24]
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov edx, dword [ecx + 0x20]
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
test edx, edx
je 0xa30f39
mov ecx, dword [ecx + 0x28]
lea esi, [ecx + 1]
cmp esi, 0xffff
mov dword [esp], ecx
mov ecx, esi
jle 0xa30ee0
sar ecx, 0x10
mov edx, 0x20
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0xa2fed1
mov edx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa30ea1
sub eax, edx
mov cl, dl
inc edx
shl edi, cl
cmp edx, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jl 0xa30ecd
sub edx, eax
mov cl, al
shl edi, cl
mov eax, esi
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
mov edi, dword [esp + 0x24]
add esi, esi
dec eax
mov edx, dword [edi + 0x2c]
mov dword [ebx + 0x10], eax
or esi, edx
test eax, eax
mov dword [ebx + 0xc], esi
jne 0xa2ff4f
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
mov edi, dword [edi + 0x30]
cmp edi, 0xffff
mov ecx, edi
mov dword [esp + 4], edi
jle 0xa30e93
sar ecx, 0x10
mov edx, 0x20
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0xa2ff81
mov edx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa30e50
sub eax, edx
mov cl, dl
inc edx
shl esi, cl
cmp edx, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jl 0xa30e7c
sub edx, eax
mov cl, al
shl esi, cl
mov eax, edi
mov cl, dl
shr eax, cl
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
mov edi, dword [esp + 0x24]
mov ecx, dword [edi + 0x38]
mov edi, dword [edi + 0x34]
test ecx, ecx
sete cl
sar edi, cl
cmp edi, 0xffff
mov esi, edi
mov dword [esp], edi
jle 0xa30e41
sar esi, 0x10
mov ecx, 0x30
mov edx, 0x20
cmp esi, 0xff
jle 0xa3000e
sar esi, 8
mov edx, ecx
movzx ecx, byte [esi + 0xde3e80]
mov esi, dword [esp + 4]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa30e03
sub eax, edx
mov cl, dl
inc edx
shl esi, cl
cmp edx, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jl 0xa30e2f
sub edx, eax
mov cl, al
shl esi, cl
mov cl, dl
shr edi, cl
mov ecx, dword [esp]
or esi, edi
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
mov edi, dword [esp + 0x24]
add ecx, ecx
mov edx, dword [edi + 0x38]
or ecx, edx
mov esi, ecx
mov dword [ebx + 0xc], ecx
lea ecx, [eax - 1]
test ecx, ecx
mov dword [ebx + 0x10], ecx
je 0xa30365
sub eax, 2
test edx, edx
jne 0xa3039d
lea edx, [esi + esi]
mov esi, dword [edi + 0x3c]
mov dword [ebx + 0x10], eax
or esi, edx
test eax, eax
mov dword [ebx + 0xc], esi
jne 0xa30398
mov eax, esi
bswap eax
mov dword [ebp], eax
mov eax, dword [ebx + 4]
mov esi, dword [edi + 0x40]
lea ebp, [eax + 4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 4], ebp
add eax, eax
or eax, esi
mov ecx, eax
mov eax, 0x1f
mov edx, dword [edi + 0x44]
dec eax
lea edi, [ecx + ecx]
mov dword [ebx + 0x10], eax
or edi, edx
test eax, eax
mov dword [ebx + 0xc], edi
jne 0xa303e1
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0x44]
mov eax, 0x20
test edx, edx
je 0xa303e9
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x24]
mov edx, dword [ecx + 0x108]
mov esi, dword [esi + 0x48]
lea ecx, [edx - 1]
cmp ecx, 1
setbe byte [esp]
dec edx
movzx ecx, byte [esp]
sete byte [esp + 4]
mov dword [esp + 8], esi
sar esi, cl
inc esi
cmp esi, 0xffff
mov edx, esi
jg 0xa317d0
mov ecx, 0x10
mov dword [esp + 8], ecx
xor ecx, ecx
cmp edx, 0xff
jle 0xa30155
mov ecx, dword [esp + 8]
sar edx, 8
movzx edx, byte [edx + 0xde3e80]
add ecx, edx
mov edx, ecx
sar edx, 1
cmp edx, eax
mov dword [esp + 8], edx
jge 0xa31d90
sub eax, edx
mov cl, dl
mov dword [ebx + 0x10], eax
mov edx, eax
mov eax, dword [esp + 8]
shl edi, cl
mov dword [ebx + 0xc], edi
inc eax
cmp eax, edx
jl 0xa31dc4
sub eax, edx
mov cl, dl
shl edi, cl
mov edx, esi
mov cl, al
shr edx, cl
or edi, edx
mov edx, 0x20
bswap edi
mov dword [ebp], edi
sub edx, eax
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edx
lea ebp, [edi + 4]
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x24]
movzx ecx, byte [esp]
mov eax, dword [eax + 0x4c]
mov dword [esp + 8], eax
sar eax, cl
lea edi, [eax + 1]
cmp edi, 0xffff
mov eax, edi
jle 0xa31e31
sar eax, 0x10
mov ecx, 0x20
mov dword [esp], 0x30
cmp eax, 0xff
jle 0xa301f0
mov ecx, dword [esp]
sar eax, 8
movzx eax, byte [eax + 0xde3e80]
add eax, ecx
sar eax, 1
cmp eax, edx
jge 0xa31df0
sub edx, eax
mov cl, al
inc eax
shl esi, cl
cmp eax, edx
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edx
jl 0xa31e1c
sub eax, edx
mov cl, dl
shl esi, cl
mov edx, edi
mov cl, al
shr edx, cl
or esi, edx
mov edx, 0x20
bswap esi
mov dword [ebp], esi
sub edx, eax
mov ecx, dword [ebx + 4]
mov eax, edx
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], edx
lea ebp, [ecx + 4]
mov dword [ebx + 4], ebp
mov ecx, dword [esp + 0x24]
mov ecx, dword [ecx + 0x50]
mov esi, ecx
movzx ecx, byte [esp + 4]
sar esi, cl
lea ecx, [esi + 1]
cmp ecx, 0xffff
mov edx, ecx
mov dword [esp], ecx
jle 0xa31de0
sar edx, 0x10
mov esi, 0x30
mov ecx, 0x20
cmp edx, 0xff
jle 0xa30281
sar edx, 8
mov ecx, esi
movzx edx, byte [edx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa31cd1
sub eax, edx
mov cl, dl
inc edx
shl edi, cl
cmp edx, eax
mov esi, edi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jl 0xa31cff
mov edi, dword [esp]
sub edx, eax
mov cl, al
shl esi, cl
mov cl, dl
mov eax, edi
shr eax, cl
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
mov edi, dword [esp + 0x24]
movzx ecx, byte [esp + 4]
mov edi, dword [edi + 0x54]
mov dword [esp + 8], edi
sar edi, cl
inc edi
cmp edi, 0xffff
mov ecx, edi
jle 0xa31cc5
sar ecx, 0x10
mov esi, 0x30
mov edx, 0x20
cmp ecx, 0xff
jle 0xa30312
sar ecx, 8
mov edx, esi
movzx ecx, byte [ecx + 0xde3e80]
mov esi, dword [esp]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa31d20
sub eax, edx
mov cl, dl
inc edx
shl esi, cl
cmp edx, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jl 0xa31d4c
sub edx, eax
mov cl, al
shl esi, cl
mov eax, edi
mov cl, dl
shr eax, cl
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
jmp 0xa303e9
mov eax, esi
bswap eax
mov dword [ebp], eax
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x38]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, dword [ebx + 0xc]
test edx, edx
mov dword [ebx + 4], ebp
jne 0xa31330
mov edx, dword [edi + 0x3c]
add eax, eax
or eax, edx
mov esi, eax
mov eax, 0x1f
mov edi, dword [esp + 0x24]
dec eax
mov ecx, dword [edi + 0x40]
lea edx, [esi + esi]
mov dword [ebx + 0x10], eax
or ecx, edx
test eax, eax
mov dword [ebx + 0xc], ecx
jne 0xa300be
mov eax, ecx
bswap eax
mov dword [ebp], eax
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0x44]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x1f
lea edi, [eax + eax]
mov eax, 0x1f
or edi, edx
mov dword [ebx + 0xc], edi
test edx, edx
jne 0xa30101
mov ecx, dword [esp + 0x24]
lea esi, [edi + edi]
mov edx, dword [ecx + 0x58]
lea ecx, [eax - 1]
mov dword [ebx + 0x10], ecx
or esi, edx
test ecx, ecx
mov dword [ebx + 0xc], esi
je 0xa30dc5
sub eax, 2
test edx, edx
je 0xa30b6e
mov edi, dword [esp + 0x24]
add esi, esi
mov edx, dword [edi + 0x5c]
mov dword [ebx + 0x10], eax
or esi, edx
test eax, eax
mov dword [ebx + 0xc], esi
jne 0xa30446
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x5c]
mov esi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
test edx, edx
je 0xa305a0
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x60]
cmp edx, 1
je 0xa32250
cmp edx, 0xc
je 0xa318b0
cmp edx, 0xa
je 0xa319a0
cmp edx, 0x10
je 0xa31983
cmp edx, 0x28
je 0xa31970
cmp edx, 0x18
je 0xa31950
cmp edx, 0x14
nop
je 0xa31930
cmp edx, 0x20
je 0xa31910
cmp edx, 0x50
je 0xa318f0
cmp edx, 0x12
je 0xa318d0
cmp edx, 0xf
je 0xa31890
cmp edx, 0x40
je 0xa31870
cmp edx, 0xa0
je 0xa31850
cmp edx, 4
je 0xa31830
cmp edx, 3
je 0xa319d2
cmp edx, 2
je 0xa319b3
lea esi, [esi]
mov edi, 0xff
mov edx, 0x10
cmp eax, 8
jg 0xa31740
mov ecx, 8
sub ecx, eax
mov dword [esp], ecx
mov cl, al
mov eax, edi
shl esi, cl
movzx ecx, byte [esp]
shr eax, cl
mov ecx, dword [esp]
or esi, eax
bswap esi
mov dword [ebp], esi
mov esi, edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, ecx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
cmp byte [edx + edx*2 + 0xde38c2], 0xff
jne 0xa305a0
mov edi, dword [esp + 0x24]
cmp eax, 0x10
mov edi, dword [edi + 0x60]
jg 0xa32390
mov edx, 0x10
mov cl, al
sub edx, eax
mov eax, edi
shl esi, cl
mov cl, dl
shr eax, cl
mov ecx, 0x20
or esi, eax
sub ecx, edx
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x24]
cmp ecx, 0x10
mov esi, dword [eax + 0x64]
jle 0xa323a3
shl edi, 0x10
or esi, edi
lea eax, [ecx - 0x10]
nop
lea esi, [esi]
mov edi, dword [esp + 0x24]
add esi, esi
lea ecx, [eax - 1]
mov edx, dword [edi + 0x68]
mov dword [ebx + 0x10], ecx
or esi, edx
test ecx, ecx
mov dword [ebx + 0xc], esi
je 0xa30bd0
test edx, edx
lea ecx, [eax - 2]
mov eax, edi
je 0xa30c08
mov edi, dword [edi + 0x6c]
add esi, esi
mov dword [ebx + 0x10], ecx
or esi, edi
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa30c03
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
lea esi, [edi + edi]
mov dword [ebx + 4], ebp
mov eax, dword [eax + 0x70]
mov dword [ebx + 0x10], 0x1f
or esi, eax
test eax, eax
mov dword [ebx + 0xc], esi
jne 0xa323e4
mov ecx, 0x1f
lea eax, [ecx - 1]
mov edi, dword [esp + 0x24]
mov edx, dword [edi + 0x8c]
lea edi, [esi + esi]
mov dword [ebx + 0x10], eax
or edi, edx
test eax, eax
mov dword [ebx + 0xc], edi
jne 0xa30c5d
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0x8c]
mov eax, 0x20
test edx, edx
je 0xa30c65
mov esi, dword [esp + 0x24]
mov ecx, dword [esi + 0x90]
mov esi, ecx
inc esi
cmp esi, 0xffff
mov edx, esi
mov dword [esp], ecx
jle 0xa31ea0
sar edx, 0x10
mov ecx, 0x20
mov dword [esp], 0x30
cmp edx, 0xff
jle 0xa3069c
mov ecx, dword [esp]
sar edx, 8
movzx edx, byte [edx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa321e1
mov cl, dl
sub eax, edx
shl edi, cl
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
inc edx
cmp edx, eax
jl 0xa32300
sub edx, eax
mov cl, al
shl edi, cl
mov eax, esi
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], esi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
mov edi, dword [esp + 0x24]
mov edi, dword [edi + 0x94]
mov dword [esp], edi
inc edi
cmp edi, 0xffff
mov edx, edi
jle 0xa31e90
sar edx, 0x10
mov ecx, 0x20
mov dword [esp], 0x30
cmp edx, 0xff
jle 0xa30726
mov ecx, dword [esp]
sar edx, 8
movzx edx, byte [edx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa32053
mov cl, dl
sub eax, edx
shl esi, cl
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
inc edx
cmp edx, eax
jl 0xa322d3
sub edx, eax
mov cl, al
shl esi, cl
mov eax, edi
mov cl, dl
shr eax, cl
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
jmp 0xa30c65
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0xa8]
test edx, edx
je 0xa317b0
add edi, edi
mov eax, 0x1f
dec eax
mov ecx, dword [esp + 0x24]
add edi, edi
mov edx, dword [ecx + 0xe0]
mov dword [ebx + 0x10], eax
or edi, edx
test eax, eax
mov dword [ebx + 0xc], edi
jne 0xa30d35
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0xe4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x1f
lea esi, [eax + eax]
mov eax, 0x1f
or esi, edx
mov dword [ebx + 0xc], esi
dec eax
test edx, edx
je 0xa30b6e
lea esi, [esi + esi + 1]
test eax, eax
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jne 0xa30d90
bswap esi
mov dword [ebp], esi
xor edx, edx
mov esi, 0x20
mov edi, dword [ebx + 4]
lea ebp, [edi + 4]
mov dword [ebx + 4], ebp
mov edi, dword [ebx + 0xc]
mov cl, al
mov dword [ebx + 0x10], esi
shl edi, cl
mov cl, dl
mov eax, edi
mov dword [ebx + 0xc], edi
shl eax, cl
bswap eax
mov dword [ebp], eax
mov eax, 4
mov edx, dword [ebx + 0x10]
mov dword [ebx + 0x10], 0x20
sar edx, 3
sub eax, edx
add dword [ebx + 4], eax
add esp, 0xc
pop ebx
pop esi
pop edi
pop ebp
ret
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov esi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0x68]
test edx, edx
je 0xa31753
mov edi, dword [eax + 0x6c]
add esi, esi
mov ecx, 0x1f
or esi, edi
mov eax, dword [esp + 0x24]
dec ecx
mov eax, dword [eax + 0x70]
add esi, esi
mov dword [ebx + 0x10], ecx
or esi, eax
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa31769
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov ecx, dword [eax + 0x70]
test ecx, ecx
jne 0xa31673
mov edi, dword [ebx + 0xc]
mov edx, dword [eax + 0x8c]
mov eax, 0x1f
mov dword [ebx + 0x10], 0x1f
add edi, edi
or edi, edx
mov dword [ebx + 0xc], edi
test edx, edx
jne 0xa30661
mov esi, dword [esp + 0x24]
lea ecx, [eax - 1]
mov edx, dword [esi + 0x98]
lea esi, [edi + edi]
mov dword [ebx + 0x10], ecx
or esi, edx
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa31343
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov esi, dword [eax + 0x98]
test esi, esi
jne 0xa320b0
mov edi, dword [ebx + 0xc]
mov edx, dword [eax + 0xa8]
add edi, edi
mov eax, 0x1f
mov dword [ebx + 0x10], 0x1f
or edi, edx
mov dword [ebx + 0xc], edi
test edx, edx
jne 0xa3139a
mov esi, dword [esp + 0x24]
add edi, edi
mov edx, dword [esi + 0xac]
or edi, edx
lea edx, [eax - 1]
test edx, edx
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], edx
je 0xa30780
mov ecx, dword [esi + 0xa8]
sub eax, 2
test ecx, ecx
je 0xa31660
add edi, edi
test eax, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jne 0xa307b1
mov esi, dword [esp + 0x24]
dec eax
mov edx, dword [esi + 0xe4]
lea esi, [edi + edi]
mov dword [ebx + 0x10], eax
or esi, edx
test eax, eax
mov dword [ebx + 0xc], esi
jne 0xa307fd
lea esi, [esi + esi + 1]
mov eax, 0x1f
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], 0x1f
mov edi, eax
and edi, 7
cmp eax, edi
jg 0xa32455
mov cl, al
sub eax, edi
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
mov esi, dword [ebx + 4]
mov dword [ebx + 0x10], eax
xor eax, eax
mov dword [ebx + 0xc], 0
lea ebp, [esi + 4]
mov dword [ebx + 4], ebp
jmp 0xa30ba8
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov esi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edi, dword [eax + 0x58]
test edi, edi
je 0xa30d7d
mov edx, dword [eax + 0x5c]
add esi, esi
mov eax, 0x1f
mov dword [ebx + 0x10], 0x1f
or esi, edx
mov dword [ebx + 0xc], esi
jmp 0xa30446
mov cl, al
sub eax, edx
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
inc edx
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [esi + 4]
xor esi, esi
cmp edx, eax
mov dword [ebx + 4], ebp
jge 0xa3003a
mov cl, dl
sub eax, edx
shl esi, cl
or edi, esi
mov dword [esp], edi
mov ecx, edi
jmp 0xa3005e
mov ecx, 0x10
xor edx, edx
jmp 0xa30001
mov cl, al
sub eax, edx
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
inc edx
xor esi, esi
mov ecx, dword [ebx + 4]
cmp edx, eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [ecx + 4]
mov dword [ebx + 4], ebp
jge 0xa2ffa9
mov cl, dl
sub eax, edx
shl esi, cl
or edi, esi
mov dword [esp + 4], edi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jmp 0xa2ffd2
mov dword [esp], 0x10
xor edx, edx
jmp 0xa2ff73
mov cl, al
sub eax, edx
shl edi, cl
add eax, 0x20
bswap edi
mov dword [ebp], edi
inc edx
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [edi + 4]
xor edi, edi
cmp edx, eax
mov dword [ebx + 4], ebp
jge 0xa2fef9
mov cl, dl
sub eax, edx
shl edi, cl
or esi, edi
jmp 0xa2ff1c
mov dword [esp], 0x10
xor edx, edx
jmp 0xa2fec3
mov cl, al
sub eax, edx
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
inc edx
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [esi + 4]
xor esi, esi
cmp edx, eax
mov dword [ebx + 4], ebp
jge 0xa2fe65
mov cl, dl
sub eax, edx
shl esi, cl
mov ecx, dword [esp + 0x24]
or edi, esi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0xa2fe9d
mov ecx, dword [ecx + 0x24]
mov dword [esp], 0x10
mov esi, ecx
sub esi, 3
cmp esi, 0xffff
mov ecx, esi
jle 0xa30f61
sar ecx, 0x10
mov edx, 0x20
mov dword [esp], 0x30
cmp ecx, 0xff
jle 0xa30f6f
mov edx, dword [esp]
sar ecx, 8
movzx ecx, byte [ecx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jl 0xa31804
mov cl, al
sub eax, edx
shl edi, cl
add eax, 0x20
bswap edi
mov dword [ebp], edi
inc edx
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [edi + 4]
xor edi, edi
cmp edx, eax
mov dword [ebx + 4], ebp
jl 0xa31819
sub edx, eax
mov cl, al
shl edi, cl
mov eax, esi
mov cl, dl
shr eax, cl
mov ecx, dword [esp + 0x24]
or edi, eax
bswap edi
mov dword [ebp], edi
mov edi, esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], esi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
jmp 0xa2fe9d
mov dword [esp], 0x10
xor edx, edx
jmp 0xa2fe2f
mov cl, al
sub eax, edx
shl edi, cl
add eax, 0x20
bswap edi
mov dword [ebp], edi
inc edx
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [edi + 4]
xor edi, edi
cmp edx, eax
mov dword [ebx + 4], ebp
jge 0xa2fdde
mov cl, dl
sub eax, edx
shl edi, cl
or esi, edi
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jmp 0xa2fe07
mov dword [esp], 0x10
xor edx, edx
jmp 0xa2fda8
mov cl, al
sub eax, edx
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
inc edx
xor esi, esi
mov ecx, dword [ebx + 4]
cmp edx, eax
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [ecx + 4]
mov dword [ebx + 4], ebp
jge 0xa2fd4b
mov cl, dl
sub eax, edx
shl esi, cl
mov ecx, dword [esp + 0x24]
or edi, esi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
cmp dword [ecx + 4], 0x63
jle 0xa2fd82
mov esi, dword [ecx + 0x108]
mov dword [esp], esi
lea esi, [esi + 1]
cmp esi, 0xffff
mov edx, esi
jg 0xa317f0
mov dword [esp], 0x10
xor ecx, ecx
cmp edx, 0xff
jle 0xa310b9
mov ecx, dword [esp]
sar edx, 8
movzx edx, byte [edx + 0xde3e80]
add edx, ecx
sar edx, 1
cmp edx, eax
jge 0xa31c30
sub eax, edx
mov cl, dl
inc edx
shl edi, cl
cmp edx, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jl 0xa31c5c
sub edx, eax
mov cl, al
shl edi, cl
mov eax, esi
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], esi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov ecx, eax
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
cmp dword [eax + 0x108], 3
je 0xa31c7d
test ecx, ecx
jg 0xa31140
shl esi, cl
add ecx, 0x20
bswap esi
mov dword [ebp], esi
xor esi, esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
cmp ecx, 1
jg 0xa31ca4
mov edi, 1
mov edx, edi
mov eax, edi
sub edx, ecx
shl esi, cl
mov cl, dl
shr eax, cl
mov ecx, 0x20
or esi, eax
sub ecx, edx
bswap esi
mov dword [ebp], esi
test ecx, ecx
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 1
mov dword [ebx + 0x10], ecx
lea ebp, [esi + 4]
mov dword [ebx + 4], ebp
jg 0xa323d0
shl edi, cl
mov ecx, 0x40
bswap edi
mov dword [esi + 4], edi
sub ecx, edx
xor esi, esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
cmp ecx, 1
jg 0xa31cb8
mov edi, 1
mov edx, edi
sub edx, ecx
shl esi, cl
mov cl, dl
shr edi, cl
mov ecx, 0x20
or esi, edi
sub ecx, edx
bswap esi
mov dword [ebp], esi
mov esi, 2
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x24]
mov edi, dword [eax + 0x104]
lea eax, [ecx - 1]
mov dword [ebx + 0x10], eax
or esi, edi
test eax, eax
mov dword [ebx + 0xc], esi
je 0xa31d60
lea eax, [ecx - 2]
lea edi, [esi + esi]
test eax, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jne 0xa31224
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
mov ecx, dword [esp + 0x24]
jmp 0xa2fd82
mov dword [esp], 0x10
xor edx, edx
jmp 0xa2fd15
mov edx, 8
mov eax, esi
sub edx, ecx
shl edi, cl
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], esi
lea ebp, [eax + 4]
mov eax, 0x20
sub eax, edx
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], eax
jmp 0xa2fcee
bswap esi
mov dword [ebp], esi
mov ecx, 0x1f
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 4], ebp
lea esi, [eax + eax]
mov eax, dword [esp + 0x24]
mov edx, dword [eax + 0x10]
or esi, edx
mov edi, dword [eax + 0x14]
dec ecx
add esi, esi
mov dword [ebx + 0x10], ecx
or esi, edi
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa2fc9b
bswap esi
mov dword [ebp], esi
mov edi, eax
mov ecx, 0x1f
mov eax, dword [ebx + 4]
mov edx, dword [edi + 0x18]
lea ebp, [eax + 4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 4], ebp
add eax, eax
or eax, edx
mov dword [ebx + 0xc], eax
sub ecx, 4
jmp 0xa2fcc4
mov edx, 8
mov cl, al
sub edx, eax
mov eax, esi
shl edi, cl
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov edi, dword [esp + 0x24]
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
jmp 0xa2fc49
mov eax, edx
mov ecx, 4
neg eax
sub ebp, edx
lea eax, [eax*8 + 0x20]
sub ecx, edx
mov dword [ebx + 4], ebp
shl ecx, 3
mov dword [ebx + 0x10], eax
mov edi, dword [ebp]
bswap edi
shr edi, cl
mov dword [ebx + 0xc], edi
jmp 0xa2fc2f
mov edx, dword [edi + 0x40]
add eax, eax
or eax, edx
mov ecx, eax
mov eax, 0x1f
jmp 0xa300be
test edx, edx
jne 0xa31eb0
mov edi, dword [esp + 0x24]
sub eax, 2
mov edx, dword [edi + 0xa8]
lea edi, [esi + esi]
mov dword [ebx + 0x10], eax
or edi, edx
test eax, eax
mov dword [ebx + 0xc], edi
jne 0xa30cc8
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edx, dword [eax + 0xa8]
mov eax, 0x20
test edx, edx
je 0xa30cd0
mov ecx, dword [esp + 0x24]
mov esi, dword [ecx + 0xb0]
cmp esi, 0xffff
mov edx, esi
mov dword [esp + 4], esi
jle 0xa31fe0
sar edx, 0x10
mov ecx, 0x20
mov dword [esp], 0x30
cmp edx, 0xff
jle 0xa313d3
mov ecx, dword [esp]
sar edx, 8
movzx edx, byte [edx + 0xde3e80]
add ecx, edx
mov edx, ecx
sar edx, 1
cmp edx, eax
mov dword [esp], edx
jge 0xa320e0
mov cl, dl
sub eax, edx
shl edi, cl
mov edx, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
mov eax, dword [esp]
inc eax
cmp eax, edx
jl 0xa322e0
mov esi, dword [esi + 0xac]
test esi, esi
je 0xa307b2
jmp 0xa30d00
mov edi, dword [eax + 0x74]
mov eax, 0x1c
mov esi, dword [ebx + 0xc]
lea edx, [esi*8]
or edi, edx
mov esi, dword [esp + 0x24]
add edi, edi
mov edx, dword [esi + 0x78]
mov dword [ebx + 0x10], eax
or edi, edx
test eax, eax
mov dword [ebx + 0xc], edi
je 0xa31be0
lea ecx, [eax - 1]
mov eax, dword [esi + 0x7c]
lea esi, [edi + edi]
mov dword [ebx + 0x10], ecx
or esi, eax
test ecx, ecx
mov dword [ebx + 0xc], esi
jne 0xa323f8
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x20
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
mov edi, dword [eax + 0x7c]
test edi, edi
je 0xa30c41
mov eax, dword [eax + 0x80]
mov ecx, 0x18
mov edx, dword [ebx + 0xc]
mov dword [ebx + 0x10], ecx
shl edx, 8
or eax, edx
mov dword [ebx + 0xc], eax
mov edi, dword [esp + 0x24]
cmp ecx, 8
mov edi, dword [edi + 0x84]
jle 0xa32290
shl eax, 8
sub ecx, 8
or edi, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
mov eax, dword [esp + 0x24]
cmp ecx, 8
mov esi, dword [eax + 0x88]
jle 0xa32263
shl edi, 8
or esi, edi
lea eax, [ecx - 9]
jmp 0xa30615
shl esi, 8
sub eax, 8
or esi, edi
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jmp 0xa3053b
mov eax, dword [eax + 0x70]
add esi, esi
mov ecx, 0x1f
mov dword [ebx + 0x10], 0x1f
or esi, eax
mov dword [ebx + 0xc], esi
test eax, eax
je 0xa30612
mov eax, dword [esp + 0x24]
cmp ecx, 3
mov edi, dword [eax + 0x74]
jg 0xa323f0
mov edx, 3
mov eax, edi
sub edx, ecx
shl esi, cl
mov cl, dl
shr eax, cl
mov ecx, 0x1f
or esi, eax
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, ecx
mov dword [ebx + 4], ebp
sub eax, edx
jmp 0xa31687
mov eax, dword [eax + 0xac]
test eax, eax
jne 0xa307aa
mov eax, 0x1f
jmp 0xa307b2
mov ecx, 0x30
mov dword [esp + 8], ecx
sar edx, 0x10
mov ecx, 0x20
jmp 0xa30146
sar edx, 0x10
mov ecx, 0x20
mov dword [esp], 0x30
jmp 0xa310ab
sub eax, edx
mov cl, dl
inc edx
shl edi, cl
cmp edx, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jge 0xa30fae
mov cl, dl
sub eax, edx
shl edi, cl
mov ecx, dword [esp + 0x24]
or edi, esi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], eax
jmp 0xa2fe9d
cmp dword [edi + 0x64], 3
jne 0xa304f0
mov edx, 0xd
mov cl, 0xe
jmp 0xa319f0
cmp dword [edi + 0x64], 0x63
jne 0xa304f0
mov edx, 0xc
mov cl, 0xd
jmp 0xa319f0
cmp dword [edi + 0x64], 0x21
jne 0xa304f0
mov edx, 0xb
mov cl, 0xc
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 0xa
mov cl, 0xb
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 1
mov cl, 2
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 9
mov cl, 0xa
jmp 0xa319f0
cmp dword [edi + 0x64], 0x21
jne 0xa304f0
mov edx, 8
mov cl, 9
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 7
mov cl, 8
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 6
mov cl, 7
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 5
mov cl, 6
jmp 0xa319f0
cmp dword [edi + 0x64], 0x21
jne 0xa304f0
mov edx, 4
mov cl, 5
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 3
mov cl, 4
jmp 0xa319f0
cmp dword [edi + 0x64], 0xb
jne 0xa304f0
mov edx, 2
mov cl, 3
jmp 0xa319f0
mov ecx, edi
mov edx, 0x10
cmp dword [ecx + 0x64], 1
mov edi, 0xff
jne 0xa304fa
mov edx, 0xf
mov cl, 0x10
jmp 0xa319f0
cmp dword [edi + 0x64], 2
jne 0xa304f0
mov edx, 0xe
mov cl, 0xf
lea esi, [esi]
lea edi, [edi]
movzx edi, cl
jmp 0xa304fa
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
lea esi, [edi + edi]
mov dword [ebx + 4], ebp
mov eax, dword [eax + 0x7c]
mov dword [ebx + 0x10], 0x1f
or esi, eax
test eax, eax
mov dword [ebx + 0xc], esi
je 0xa3060d
mov eax, dword [esp + 0x24]
mov ecx, 0x1f
mov eax, dword [eax + 0x80]
sub ecx, 8
jmp 0xa316e8
mov cl, al
sub eax, edx
shl edi, cl
add eax, 0x20
bswap edi
mov dword [ebp], edi
inc edx
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [edi + 4]
xor edi, edi
cmp edx, eax
mov dword [ebx + 4], ebp
jge 0xa310e1
sub eax, edx
mov cl, dl
shl edi, cl
mov ecx, eax
mov dword [ebx + 0x10], eax
mov eax, dword [esp + 0x24]
or esi, edi
mov dword [ebx + 0xc], esi
cmp dword [eax + 0x108], 3
jne 0xa31140
dec ecx
add esi, esi
test ecx, ecx
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ecx
jne 0xa3111d
bswap esi
mov dword [ebp], esi
mov ecx, 0x20
mov eax, dword [ebx + 4]
mov esi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
dec ecx
lea esi, [esi + esi + 1]
cmp ecx, 1
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ecx
jle 0xa311af
dec ecx
lea esi, [esi*4 + 2]
jmp 0xa311da
mov esi, 0x10
xor edx, edx
jmp 0xa30305
mov cl, al
sub eax, edx
shl edi, cl
add eax, 0x20
mov esi, edi
inc edx
bswap esi
mov dword [ebp], esi
xor esi, esi
cmp edx, eax
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [edi + 4]
mov dword [ebx + 4], ebp
jge 0xa302ab
mov cl, dl
sub eax, edx
shl esi, cl
or dword [esp], esi
mov dword [ebx + 0x10], eax
mov edi, dword [esp]
mov dword [ebx + 0xc], edi
jmp 0xa302d7
mov cl, al
sub eax, edx
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
inc edx
mov esi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [esi + 4]
xor esi, esi
cmp edx, eax
mov dword [ebx + 4], ebp
jge 0xa3033d
mov cl, dl
sub eax, edx
shl esi, cl
or edi, esi
jmp 0xa303e9
bswap esi
mov dword [ebp], esi
mov ecx, dword [esp + 0x24]
mov eax, dword [ebx + 4]
mov dword [ebx + 0x10], 0x1f
lea ebp, [eax + 4]
mov eax, dword [ebx + 0xc]
mov dword [ebx + 4], ebp
lea edi, [eax + eax]
mov eax, 0x1f
mov dword [ebx + 0xc], edi
jmp 0xa2fd82
mov edx, dword [esp + 8]
mov cl, al
shl edi, cl
bswap edi
mov dword [ebp], edi
sub eax, edx
mov edi, dword [ebx + 4]
lea edx, [eax + 0x20]
mov eax, dword [esp + 8]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edx
lea ebp, [edi + 4]
xor edi, edi
inc eax
cmp eax, edx
mov dword [ebx + 4], ebp
jge 0xa30189
mov cl, al
sub edx, eax
shl edi, cl
or esi, edi
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edx
jmp 0xa301b2
mov esi, 0x10
xor ecx, ecx
jmp 0xa30274
mov cl, dl
sub edx, eax
shl esi, cl
add edx, 0x20
bswap esi
mov dword [ebp], esi
inc eax
xor esi, esi
mov ecx, dword [ebx + 4]
cmp eax, edx
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], edx
lea ebp, [ecx + 4]
mov dword [ebx + 4], ebp
jge 0xa30218
mov cl, al
sub edx, eax
shl esi, cl
mov eax, edx
or edi, esi
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], edx
jmp 0xa30243
mov dword [esp], 0x10
xor ecx, ecx
jmp 0xa301e3
mov dword [esp], 0x10
xor ecx, ecx
jmp 0xa30718
mov dword [esp], 0x10
xor ecx, ecx
jmp 0xa3068e
mov edi, dword [esp + 0x24]
mov edi, dword [edi + 0x9c]
mov dword [esp], edi
shr edi, 0x10
cmp ecx, 0x10
jg 0xa32444
mov edx, 0x10
mov eax, edi
sub edx, ecx
shl esi, cl
mov cl, dl
shr eax, cl
mov ecx, 0x20
or esi, eax
sub ecx, edx
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
cmp ecx, 0x10
jg 0xa32313
mov esi, dword [esp]
mov edx, 0x10
sub edx, ecx
shl edi, cl
mov cl, dl
mov eax, esi
shr eax, cl
mov ecx, 0x20
or edi, eax
sub ecx, edx
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
mov eax, dword [esp + 0x24]
mov esi, dword [eax + 0xa0]
mov edi, esi
shr edi, 0x10
cmp ecx, 0x10
jle 0xa32210
mov eax, dword [esp]
sub ecx, 0x10
mov dword [ebx + 0x10], ecx
shl eax, 0x10
or edi, eax
mov dword [ebx + 0xc], edi
cmp ecx, 0x10
jg 0xa32350
mov edx, 0x10
mov eax, esi
sub edx, ecx
shl edi, cl
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
mov edi, dword [esp + 0x24]
add esi, esi
mov edx, dword [edi + 0xa4]
or esi, edx
lea edx, [eax - 1]
sub eax, 2
test edx, edx
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], edx
jne 0xa31352
bswap esi
mov dword [ebp], esi
mov eax, dword [ebx + 4]
mov edi, dword [ebx + 0xc]
lea ebp, [eax + 4]
mov eax, dword [esp + 0x24]
mov dword [ebx + 4], ebp
jmp 0xa30caf
mov dword [esp], 0x10
xor ecx, ecx
jmp 0xa313c5
mov cl, al
sub eax, edx
shl esi, cl
add eax, 0x20
bswap esi
mov dword [ebp], esi
xor esi, esi
mov ecx, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [ecx + 4]
mov dword [ebx + 4], ebp
jmp 0xa30745
mov eax, dword [eax + 0x9c]
mov ecx, 0x10
mov edi, eax
mov dword [esp], eax
mov eax, dword [ebx + 0xc]
shr edi, 0x10
shl eax, 0x10
or edi, eax
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
jmp 0xa31ef5
mov cl, al
shl edi, cl
bswap edi
mov dword [ebp], edi
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
lea ebp, [edi + 4]
mov edi, dword [esp]
mov dword [ebx + 4], ebp
sub eax, edi
xor edi, edi
lea edx, [eax + 0x20]
mov dword [ebx + 0x10], edx
jmp 0xa313f9
mov cl, al
sub eax, edx
shl edi, cl
add eax, 0x20
bswap edi
mov dword [ebp], edi
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], eax
lea ebp, [edi + 4]
xor edi, edi
mov dword [ebx + 4], ebp
jmp 0xa306bb
mov edx, dword [esp]
mov eax, 0x10
sub eax, ecx
shl edx, cl
mov cl, al
mov dword [esp], edx
mov edx, edi
shr edx, cl
mov ecx, dword [esp]
or edx, ecx
bswap edx
mov dword [ebp], edx
mov ecx, dword [ebx + 4]
mov dword [ebx + 0xc], edi
lea ebp, [ecx + 4]
mov ecx, 0x20
sub ecx, eax
mov dword [ebx + 4], ebp
mov dword [ebx + 0x10], ecx
jmp 0xa31f56
cmp dword [edi + 0x64], 1
jne 0xa304f0
xor edx, edx
mov cl, 1
jmp 0xa319f0
mov edx, 8
mov eax, esi
sub edx, ecx
shl edi, cl
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x1f
mov dword [ebx + 4], ebp
sub eax, edx
jmp 0xa30615
mov edx, 8
mov esi, edi
sub edx, ecx
shl eax, cl
mov cl, dl
shr esi, cl
mov ecx, 0x20
or eax, esi
sub ecx, edx
bswap eax
mov dword [ebp], eax
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
jmp 0xa31717
mov cl, dl
sub eax, edx
shl esi, cl
or edi, esi
jmp 0xa30c65
mov cl, dl
sub eax, edx
shl edi, cl
or esi, edi
mov dword [ebx + 0xc], esi
mov dword [ebx + 0x10], eax
jmp 0xa306ed
shl edi, 0x10
sub ecx, 0x10
or dword [esp], edi
mov dword [ebx + 0x10], ecx
mov eax, dword [esp]
mov dword [ebx + 0xc], eax
jmp 0xa31f2d
shl edi, 0x10
or esi, edi
lea eax, [ecx - 0x10]
jmp 0xa31f85
cmp ecx, 4
jg 0xa312cb
shl esi, cl
add ecx, 0x1c
bswap esi
mov dword [ebp], esi
xor edi, edi
mov eax, dword [ebx + 4]
mov dword [ebx + 0xc], 0
mov dword [ebx + 0x10], ecx
lea ebp, [eax + 4]
mov dword [ebx + 4], ebp
jmp 0xa2fcd0
shl esi, 0x10
or edi, esi
lea ecx, [eax - 0x10]
mov dword [ebx + 0xc], edi
mov dword [ebx + 0x10], ecx
jmp 0xa30583
mov edx, 0x10
mov eax, esi
sub edx, ecx
shl edi, cl
mov cl, dl
shr eax, cl
or edi, eax
bswap edi
mov dword [ebp], edi
mov eax, dword [ebx + 4]
lea ebp, [eax + 4]
mov eax, 0x20
mov dword [ebx + 4], ebp
sub eax, edx
jmp 0xa305a0
mov esi, 1
jmp 0xa311a6
mov eax, dword [esp + 0x24]
mov ecx, 0x1f
mov edi, dword [eax + 0x74]
lea eax, [ecx - 4]
jmp 0xa3167b
test eax, eax
je 0xa30612
mov eax, dword [esp + 0x24]
cmp ecx, 8
mov eax, dword [eax + 0x80]
jg 0xa31c1e
mov edx, 8
mov edi, eax
sub edx, ecx
shl esi, cl
mov cl, dl
shr edi, cl
mov ecx, 0x20
or esi, edi
sub ecx, edx
bswap esi
mov dword [ebp], esi
mov edi, dword [ebx + 4]
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], ecx
lea ebp, [edi + 4]
mov dword [ebx + 4], ebp
jmp 0xa316f6
lea ecx, [eax - 0x11]
mov eax, esi
jmp 0xa320c6
mov eax, edi
jmp 0xa31293
sub eax, edi
mov edx, eax
mov esi, eax
and edx, 0x1f
mov eax, edi
jmp 0xa30b95