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

Disassembly:
push esi
push edi
push ebx
push ebp
sub esp, 0x80
mov ebx, eax
mov ebp, edx
xor edx, edx
mov ecx, dword [ebx + 0xcba0]
lea esi, [ebx + 0x130]
lea eax, [ecx + ecx*2]
shl eax, 4
lea edi, [eax + ebx + 0x6cb0]
mov dword [edi + 0x2ef4], edx
add edi, 0x2ef8
push dword [ebx + 0x18]
push edx
push edi
call fcn.0040bff0
add esp, 0xc
cmp dword [ebx + 0x40], 0x3e80
jge 0x41aa7e
mov eax, ebx
mov edx, 0xffe
mov ecx, 0xc
call fcn.0041be80
jmp 0x41aa8f
mov eax, ebx
mov edx, 0xfff
mov ecx, 0xc
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [ebx + 0x10]
call fcn.0041be80
mov eax, ebx
mov edx, 1
mov ecx, 2
call fcn.0041be80
mov eax, ebx
mov ecx, 1
xor edx, edx
cmp dword [ebx + 0xa0], 0
sete dl
call fcn.0041be80
mov eax, ebx
mov ecx, 4
mov edx, dword [ebx + 0x14b08]
call fcn.0041be80
mov eax, ebx
mov ecx, 2
mov edx, dword [ebx + 0x14]
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [ebx + 0x14b10]
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [ebx + 0xac]
call fcn.0041be80
mov eax, ebx
mov ecx, 2
mov edx, dword [ebx + 0xb4]
call fcn.0041be80
mov eax, ebx
mov ecx, 2
mov edx, dword [ebx + 0x14b14]
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [ebx + 0xa4]
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [ebx + 0xa8]
call fcn.0041be80
mov eax, ebx
mov ecx, 2
mov edx, dword [ebx + 0xb0]
call fcn.0041be80
cmp dword [ebx + 0xa0], 0
je 0x41ab7d
mov eax, ebx
xor edx, edx
mov ecx, 0x10
call fcn.0041be80
cmp dword [ebx + 0x10], 1
je 0x41b301
mov eax, ebx
mov ecx, 8
mov edx, dword [ebx + 0x5340]
call fcn.0041be80
mov eax, ebx
mov edx, dword [ebx + 0x5344]
mov ecx, dword [ebx + 0x48]
call fcn.0041be80
cmp dword [ebx + 0x48], 0
jle 0x41b2e9
xor eax, eax
mov dword [esp + 0xc], eax
xor edi, edi
mov dword [esp + 0x1c], ebp
mov eax, dword [ebx + 0xcba0]
mov ebp, 0xc
mov ecx, dword [edi + esi + 0x12a0]
add ecx, dword [edi + esi + 0x12ec]
mov dword [esp + 0x48], ecx
lea edx, [eax + eax*2]
shl edx, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], ebx
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x3c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x48]
jl 0x41ac17
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41abff
mov eax, edi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12a4]
mov ebp, ecx
shr ebp, 0x1f
add ecx, ebp
mov ebp, 9
sar ecx, 1
mov dword [esp + 0x44], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x44]
jl 0x41ac7d
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41ac65
mov eax, edi
mov ebp, 8
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12ac]
mov dword [esp + 0x40], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x40]
jl 0x41acda
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41acc2
mov eax, edi
mov ebp, 9
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12b0]
mov dword [esp + 0x38], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x38]
jl 0x41ad37
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41ad1f
mov eax, edi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ebx, dword [esp + 0x2c]
cmp dword [edi + esi + 0x12b4], 0
jne 0x41ae2f
mov eax, ebx
xor edx, edx
mov ecx, 1
call fcn.0041be80
mov edx, dword [edi + esi + 0x12bc]
cmp edx, 0xe
jne 0x41ada8
mov dword [edi + esi + 0x12bc], 0x10
mov edx, 0x10
mov eax, ebx
mov ecx, 5
call fcn.0041be80
mov edx, dword [edi + esi + 0x12c0]
cmp edx, 0xe
jne 0x41add0
mov dword [edi + esi + 0x12c0], 0x10
mov edx, 0x10
mov eax, ebx
mov ecx, 5
call fcn.0041be80
mov edx, dword [edi + esi + 0x12c4]
cmp edx, 0xe
jne 0x41adf8
mov dword [edi + esi + 0x12c4], 0x10
mov edx, 0x10
mov eax, ebx
mov ecx, 5
call fcn.0041be80
mov eax, ebx
mov ecx, 4
mov edx, dword [edi + esi + 0x12d8]
call fcn.0041be80
mov eax, ebx
mov ecx, 3
mov edx, dword [edi + esi + 0x12dc]
call fcn.0041be80
jmp 0x41b15b
mov dword [esp + 0x3c], eax
mov ebp, 1
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], ebx
mov edi, edx
mov eax, 1
and edi, 7
mov esi, edx
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
jl 0x41ae5d
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
shr eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41ae44
mov eax, edi
mov ebp, 2
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12b4]
mov dword [esp + 0x34], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x34]
jl 0x41aeba
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41aea2
mov eax, edi
mov ebp, 1
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12b8]
mov dword [esp + 0x30], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x30]
jl 0x41af17
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41aeff
mov eax, edi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12bc]
cmp ecx, 0xe
mov ebx, dword [esp + 0x2c]
jne 0x41af85
mov dword [edi + esi + 0x12bc], 0x10
mov ecx, 0x10
mov eax, dword [ebx + 0xcba0]
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x28], ecx
mov ebp, 5
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], ebx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x28]
jl 0x41afb6
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41af9e
mov eax, edi
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12c0]
cmp ecx, 0xe
mov ebx, dword [esp + 0x2c]
jne 0x41b024
mov dword [edi + esi + 0x12c0], 0x10
mov ecx, 0x10
mov eax, dword [ebx + 0xcba0]
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x24], ecx
mov ebp, 5
mov dword [esp + 0x3c], eax
mov dword [esp + 0x14], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], ebx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x24]
jl 0x41b055
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41b03d
mov eax, edi
mov ebp, 3
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12c8]
mov dword [esp + 0x20], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x20]
jl 0x41b0b2
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41b09a
mov eax, edi
mov ebp, 3
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [edi + esi + 0x12cc]
mov dword [esp + 0x18], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebx, edi
neg ebx
add ebx, 8
cmp ebx, ebp
mov eax, dword [esp + 0x18]
jl 0x41b10f
mov ebx, ebp
sub ebp, ebx
add edx, ebx
mov ecx, ebp
sar eax, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x3c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebp, ebp
jg 0x41b0f7
mov eax, edi
mov ecx, 3
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov dword [eax + 0x2ef4], edx
mov eax, ebx
mov edx, dword [edi + esi + 0x12d0]
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [edi + esi + 0x12e4]
call fcn.0041be80
mov eax, ebx
mov ecx, 1
mov edx, dword [edi + esi + 0x12e8]
call fcn.0041be80
mov eax, dword [esp + 0xc]
add edi, 0x1484
inc eax
mov dword [esp + 0xc], eax
cmp eax, dword [ebx + 0x48]
jl 0x41abbf
mov ecx, dword [ebx + 0xcba0]
mov ebp, dword [esp + 0x1c]
lea eax, [ecx + ecx*2]
shl eax, 4
lea esi, [eax + ebx + 0x6cb0]
cmp dword [ebx + 0xa0], 0
je 0x41b2a1
movzx edx, byte [esi + 0x2efa]
mov eax, 0xffff
shl edx, 8
xor ecx, ecx
mov dword [esp + 0x1c], ebp
add eax, eax
add edx, edx
mov ebp, eax
mov edi, eax
xor ebp, edx
xor edi, 0x8005
test ebp, 0x10000
je 0x41b1ec
mov eax, edi
inc ecx
cmp ecx, 8
jl 0x41b1d2
movzx edx, byte [esi + 0x2efb]
xor ecx, ecx
shl edx, 8
add eax, eax
add edx, edx
mov ebp, eax
mov edi, eax
xor ebp, edx
xor edi, 0x8005
test ebp, 0x10000
je 0x41b218
mov eax, edi
inc ecx
cmp ecx, 8
jl 0x41b1fe
mov edx, dword [ebx + 0x18]
cmp edx, 6
mov ebp, dword [esp + 0x1c]
jle 0x41b27d
mov dword [esp + 0x2c], ebx
mov ecx, 6
mov dword [esp + 0x1c], ebp
xor edi, edi
movzx ebp, byte [ecx + esi + 0x2ef8]
mov ebx, edi
shl ebp, 8
mov dword [esp + 0x7c], esi
add eax, eax
add ebp, ebp
mov esi, eax
mov edi, eax
xor esi, ebp
xor edi, 0x8005
test esi, 0x10000
je 0x41b264
mov eax, edi
inc ebx
cmp ebx, 8
jl 0x41b24a
inc ecx
xor edi, edi
mov esi, dword [esp + 0x7c]
cmp ecx, edx
jl 0x41b239
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1c]
mov edx, eax
shr edx, 8
mov byte [esi + 0x2efc], dl
mov byte [esi + 0x2efd], al
mov ecx, dword [ebx + 0xcba0]
lea eax, [ecx + ecx*2]
shl eax, 4
lea esi, [eax + ebx + 0x6cb0]
inc ecx
movzx ecx, cl
mov esi, dword [esi + 0x2ef0]
add ebp, esi
mov dword [ebx + 0xcba0], ecx
lea eax, [ecx + ecx*2]
shl eax, 4
cmp ecx, dword [ebx + 0xcba4]
mov dword [eax + ebx + 0x9ba0], ebp
je 0x41b2d3
add esp, 0x80
pop ebp
pop ebx
pop edi
pop esi
ret
push 0x46a778
push ebx
call fcn.00418fd0
add esp, 0x88
pop ebp
pop ebx
pop edi
pop esi
ret
mov ecx, dword [ebx + 0xcba0]
lea eax, [ecx + ecx*2]
shl eax, 4
lea esi, [eax + ebx + 0x6cb0]
jmp 0x41b1b0
mov eax, ebx
mov ecx, 9
mov edx, dword [ebx + 0x5340]
call fcn.0041be80
mov ecx, dword [ebx + 0xcba0]
lea eax, [ecx + ecx*2]
shl eax, 4
cmp dword [ebx + 0x48], 2
lea esi, [eax + ebx + 0x6cb0]
mov edi, dword [esi + 0x2ef4]
je 0x41be08
mov edx, dword [ebx + 0x5344]
mov eax, 5
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebp
mov esi, edi
mov ebp, edi
and esi, 7
mov ebx, esi
neg ebx
add ebx, 8
cmp ebx, eax
mov edx, dword [esp + 0xc]
jl 0x41b36d
mov ebx, eax
sub eax, ebx
add edi, ebx
mov ecx, eax
sar edx, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar ebp, 3
sub ecx, esi
mov esi, dword [esp + 0x7c]
shl edx, cl
or byte [esi + ebp + 0x2ef8], dl
test eax, eax
jg 0x41b355
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x1c]
mov dword [esi + 0x2ef4], edi
mov eax, dword [ebx + 0x48]
test eax, eax
mov dword [esp + 0xc], eax
jle 0x41b464
xor eax, eax
mov dword [esp + 0x10], ecx
xor ecx, ecx
mov dword [esp + 0x1c], ebp
mov ebp, eax
mov edx, ecx
shl ebp, 4
mov dword [esp + 0x14], eax
mov dword [esp + 0x2c], ebx
lea ebp, [ebp + ebx + 0x130]
mov ebx, dword [ebp + edx*4 + 0x5220]
mov eax, 1
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x18], edx
mov dword [esp + 0x7c], esi
mov esi, edi
mov ebp, edi
and esi, 7
mov ebx, esi
neg ebx
add ebx, 8
cmp ebx, eax
mov edx, dword [esp + 0x24]
jl 0x41b409
mov ebx, eax
sub eax, ebx
add edi, ebx
mov ecx, eax
sar edx, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar ebp, 3
sub ecx, esi
mov esi, dword [esp + 0x7c]
shl edx, cl
or byte [esi + ebp + 0x2ef8], dl
test eax, eax
jg 0x41b3f1
mov edx, dword [esp + 0x18]
inc edx
cmp edx, 4
mov ebp, dword [esp + 0x20]
mov dword [esi + 0x2ef4], edi
jl 0x41b3d5
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov ebx, dword [esp + 0x2c]
inc eax
mov edx, dword [ebx + 0x48]
cmp eax, edx
jl 0x41b3bf
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x1c]
xor eax, eax
mov dword [esp + 0x10], ecx
xor edx, edx
mov dword [esp + 0x14], edi
xor edi, edi
mov dword [esp + 0x7c], esi
mov dword [esp + 0x1c], ebp
mov ecx, dword [esp + 0xc]
test ecx, ecx
jle 0x41bdf7
mov ecx, edi
lea ebp, [edx + ebx + 0x130]
mov dword [esp + 0xc], edx
mov esi, ecx
mov dword [esp + 0x18], eax
mov dword [esp + 0x2c], ebx
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esi + ebp + 0x12a0]
mov ebx, 0xc
add ecx, dword [esi + ebp + 0x12ec]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x60]
jl 0x41b4e4
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b4cc
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12a4]
mov ebx, ecx
shr ebx, 0x1f
add ecx, ebx
mov ebx, 9
sar ecx, 1
mov dword [esp + 0x64], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x64]
jl 0x41b54a
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b532
mov eax, edi
mov ebx, 8
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12ac]
mov dword [esp + 0x68], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x68]
jl 0x41b5a7
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b58f
mov eax, edi
mov ebx, 4
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12b0]
mov dword [esp + 0x6c], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x6c]
jl 0x41b604
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b5ec
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov edi, dword [esp + 0x28]
cmp dword [esi + ebp + 0x12b4], 0
jne 0x41b90e
mov ebx, 1
mov ecx, edx
and ecx, 7
neg ecx
add ecx, 8
cmp ecx, ebx
jl 0x41b660
mov ecx, ebx
sub ebx, ecx
add edx, ecx
test ebx, ebx
jg 0x41b650
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12bc]
cmp ecx, 0xe
jne 0x41b6ab
mov ebx, dword [esp + 0x2c]
mov ecx, 0x10
mov dword [esi + ebp + 0x12bc], 0x10
mov eax, dword [ebx + 0xcba0]
mov dword [esp + 0x10], eax
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x30], ecx
mov ebx, 5
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x30]
jl 0x41b6dc
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b6c4
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12c0]
cmp ecx, 0xe
mov edi, dword [esp + 0x28]
jne 0x41b752
mov ebx, dword [esp + 0x2c]
mov ecx, 0x10
mov dword [esi + ebp + 0x12c0], 0x10
mov eax, dword [ebx + 0xcba0]
mov dword [esp + 0x10], eax
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x34], ecx
mov ebx, 5
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x34]
jl 0x41b783
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b76b
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12c4]
cmp ecx, 0xe
mov edi, dword [esp + 0x28]
jne 0x41b7f9
mov ebx, dword [esp + 0x2c]
mov ecx, 0x10
mov dword [esi + ebp + 0x12c4], 0x10
mov eax, dword [ebx + 0xcba0]
mov dword [esp + 0x10], eax
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x38], ecx
mov ebx, 5
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x38]
jl 0x41b82a
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b812
mov eax, edi
mov ebx, 4
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12d8]
mov dword [esp + 0x3c], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x3c]
jl 0x41b887
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b86f
mov eax, edi
mov ebx, 3
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12dc]
mov dword [esp + 0x40], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x40]
jl 0x41b8e4
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b8cc
jmp 0x41bc80
mov dword [esp + 0x20], esi
mov ebx, 1
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov eax, 1
and edi, 7
mov esi, edx
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
jl 0x41b93c
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
shr eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b923
mov eax, edi
mov ebx, 2
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12b4]
mov dword [esp + 0x44], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x44]
jl 0x41b999
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b981
mov eax, edi
mov ebx, 1
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12b8]
mov dword [esp + 0x48], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x48]
jl 0x41b9f6
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41b9de
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12bc]
cmp ecx, 0xe
mov edi, dword [esp + 0x28]
jne 0x41ba6c
mov ebx, dword [esp + 0x2c]
mov ecx, 0x10
mov dword [esi + ebp + 0x12bc], 0x10
mov eax, dword [ebx + 0xcba0]
mov dword [esp + 0x10], eax
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x4c], ecx
mov ebx, 5
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x4c]
jl 0x41ba9d
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41ba85
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12c0]
cmp ecx, 0xe
mov edi, dword [esp + 0x28]
jne 0x41bb13
mov ebx, dword [esp + 0x2c]
mov ecx, 0x10
mov dword [esi + ebp + 0x12c0], 0x10
mov eax, dword [ebx + 0xcba0]
mov dword [esp + 0x10], eax
lea edx, [eax + eax*2]
shl edx, 4
lea eax, [edx + ebx + 0x6cb0]
mov edx, dword [eax + 0x2ef4]
mov dword [esp + 0x50], ecx
mov ebx, 5
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x50]
jl 0x41bb44
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bb2c
mov eax, edi
mov ebx, 3
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12c8]
mov dword [esp + 0x54], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x54]
jl 0x41bba1
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bb89
mov eax, edi
mov ebx, 3
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12cc]
mov dword [esp + 0x58], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x58]
jl 0x41bbfe
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bbe6
mov eax, edi
mov ebx, 3
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12d0]
mov dword [esp + 0x5c], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x5c]
jl 0x41bc5b
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bc43
mov eax, edi
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12e0]
mov ebx, 1
mov dword [esp + 0x70], ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x7c], eax
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x70]
jl 0x41bccc
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bcb4
mov eax, edi
mov ebx, 1
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12e4]
mov dword [esp + 0x74], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x74]
jl 0x41bd29
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bd11
mov eax, edi
mov ebx, 1
mov esi, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
mov dword [eax + 0x2ef4], edx
mov ecx, dword [esi + ebp + 0x12e8]
mov dword [esp + 0x78], ecx
mov edi, edx
mov esi, edx
and edi, 7
mov ebp, edi
neg ebp
add ebp, 8
cmp ebp, ebx
mov eax, dword [esp + 0x78]
jl 0x41bd86
mov ebp, ebx
sub ebx, ebp
add edx, ebp
mov ecx, ebx
sar eax, cl
mov ecx, ebp
neg ecx
add ecx, 8
sar esi, 3
sub ecx, edi
mov edi, dword [esp + 0x7c]
shl eax, cl
or byte [edi + esi + 0x2ef8], al
test ebx, ebx
jg 0x41bd6e
mov ebx, dword [esp + 0x2c]
mov eax, edi
mov edi, dword [esp + 0x28]
mov dword [eax + 0x2ef4], edx
inc edi
mov esi, dword [esp + 0x20]
mov ecx, dword [ebx + 0x48]
add esi, 0x1484
mov ebp, dword [esp + 0x24]
cmp edi, ecx
jl 0x41b4a5
mov dword [esp + 0x7c], eax
xor edi, edi
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0xc]
add edx, 0x2908
cmp eax, 2
jl 0x41b47e
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x1c]
jmp 0x41b1b0
mov edx, dword [ebx + 0x5344]
mov eax, 3
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x1c], ebp
mov esi, esi
lea edi, [edi]
mov esi, edi
mov ebp, edi
and esi, 7
mov ebx, esi
neg ebx
add ebx, 8
cmp ebx, eax
mov edx, dword [esp + 0xc]
jl 0x41be48
mov ebx, eax
sub eax, ebx
add edi, ebx
mov ecx, eax
sar edx, cl
mov ecx, ebx
neg ecx
add ecx, 8
sar ebp, 3
sub ecx, esi
mov esi, dword [esp + 0x7c]
shl edx, cl
or byte [esi + ebp + 0x2ef8], dl
test eax, eax
jg 0x41be30
jmp 0x41b392