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

Disassembly:
sub esp, 0xbf0
mov eax, dword [esp + 0xbf4]
push ebx
xor ebx, ebx
push ebp
push esi
cmp eax, ebx
push edi
mov dword [esp + 0x14], ebx
je 0x6a79f7
cmp dword [eax + 0x10], ebx
je 0x6a79f7
mov ecx, dword [esp + 0xc08]
cmp ecx, ebx
je 0x6a79f7
mov edx, dword [esp + 0xc0c]
cmp edx, ebx
je 0x6a79f7
mov ebp, dword [ecx]
cmp ebp, ebx
je 0x6a79f7
mov edi, dword [ecx + 4]
cmp edi, ebx
jle 0x6a79f7
mov esi, dword [edx]
cmp esi, ebx
je 0x6a79f7
mov ecx, dword [edx + 4]
cmp ecx, ebx
jle 0x6a79f7
mov edx, dword [esp + 0xc10]
cmp edx, ebx
je 0x6a6a92
cmp edx, dword [eax + 0xc]
jle 0x6a6a9c
mov edx, dword [eax + 0xc]
mov dword [esp + 0xc10], edx
mov edx, dword [esp + 0xc10]
cmp dword [eax + 8], edx
jle 0x6a6acc
mov eax, dword [esp + 0xc0c]
mov ecx, dword [esp + 0xc08]
pop edi
pop esi
mov dword [eax + 4], ebx
mov dword [ecx + 4], ebx
pop ebp
mov eax, 0x82010401
pop ebx
add esp, 0xbf0
ret
add edi, ebp
lea edx, [ecx + esi]
mov dword [esp + 0x54], edi
mov edi, dword [eax + 0x30]
mov ecx, eax
mov dword [esp + 0x1c], ebp
sub ecx, edi
mov dword [esp + 0x28], eax
sub ecx, 0xa4
mov dword [esp + 0x80], eax
mov dword [esp + 0x5c], ecx
lea ecx, [esp + 0x80]
mov dword [esp + 0x2c], ecx
mov ecx, dword [eax + 0x58]
cmp ecx, ebx
mov dword [esp + 0x8c], 1
mov dword [esp + 0x90], ebx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], edx
jle 0x6a6b53
mov edi, dword [eax + 0x5c]
mov dword [esp + 0x94], ecx
cmp edi, 0xffffffff
je 0x6a6b45
mov dword [esp + 0xb4], ebp
add ebp, ecx
mov dword [esp + 0x1c], ebp
jmp 0x6a6b68
mov ecx, dword [eax + 0x50]
add ecx, ebp
mov dword [esp + 0xb4], ecx
jmp 0x6a6b68
mov dword [esp + 0x94], ebx
mov dword [esp + 0x98], ebx
mov dword [esp + 0xb4], ebx
mov edi, dword [eax + 0x68]
mov dword [esp + 0xb0], ebp
cmp edi, ebx
mov dword [esp + 0xb8], 1
mov dword [esp + 0xa4], ebx
jle 0x6a6bdc
mov ecx, dword [eax + 0x64]
add ecx, esi
sub edx, ecx
cmp edx, edi
jge 0x6a6b9d
mov dword [esp + 0x14], 0x82010407
jmp 0x6a6bdc
sub edi, 2
je 0x6a6bd1
sub edi, 2
je 0x6a6bc6
sub edi, 4
je 0x6a6bb7
mov dl, byte [esp + 0xc10]
mov byte [ecx], dl
jmp 0x6a6bdc
mov eax, dword [esp + 0xc10]
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x6a6bdc
mov eax, dword [esp + 0xc10]
mov dword [ecx], eax
jmp 0x6a6bdc
mov dx, word [esp + 0xc10]
mov word [ecx], dx
mov eax, dword [esp + 0x14]
test eax, 0x80000000
je 0x6a6c06
mov ecx, dword [esp + 0xc0c]
mov edx, dword [esp + 0xc08]
pop edi
pop esi
mov dword [ecx + 4], ebx
mov dword [edx + 4], ebx
pop ebp
pop ebx
add esp, 0xbf0
ret
mov dword [esp + 0x34], 1
mov dword [esp + 0x84], ebx
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x20]
test eax, eax
je 0x6a6dd5
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x20], 0
mov ecx, dword [esi + 0x14]
test ecx, ecx
jle 0x6a6d5c
mov edx, dword [esi + 0x30]
mov eax, ebp
sub eax, edx
cdq
mov ebx, eax
mov eax, ecx
sub eax, 2
mov dword [esp + 0x60], ebx
mov dword [esp + 0x64], edx
je 0x6a6d4f
sub eax, 2
je 0x6a6d41
sub eax, 4
je 0x6a6c71
mov eax, dword [esi + 0x34]
mov byte [eax], bl
jmp 0x6a6d5c
mov edi, edx
mov ecx, 0x10
mov eax, ebx
xor esi, esi
and edi, 0xff0000
call fcn.006ab3f2
or esi, eax
or edi, edx
mov ecx, 0x10
mov eax, esi
mov edx, edi
call fcn.006ab3f2
mov esi, dword [esp + 0x64]
xor ecx, ecx
mov edi, esi
or eax, ecx
and edi, 0xff00
mov ecx, 0x10
or edx, edi
call fcn.006ab3f2
mov edi, esi
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.006ab3f2
mov edi, eax
mov ecx, 0x10
mov dword [esp + 0x24], edi
mov edi, edx
mov eax, ebx
mov edx, esi
call fcn.006ab3d2
xor ecx, ecx
and ebx, 0xff00
or edx, ecx
or eax, ebx
mov ecx, 0x10
call fcn.006ab3d2
mov ecx, dword [esp + 0x60]
xor esi, esi
and ecx, 0xff0000
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.006ab3d2
mov ecx, dword [esp + 0x60]
or edx, esi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.006ab3d2
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x2c]
or ecx, eax
or edi, edx
mov edx, dword [esi + 0x34]
mov dword [edx], ecx
mov dword [edx + 4], edi
jmp 0x6a6d5c
push ebx
call dword [0x41e538]
mov ecx, dword [esi + 0x34]
mov dword [ecx], eax
jmp 0x6a6d5c
push ebx
call dword [fcn.0041e52c]
mov edx, dword [esi + 0x34]
mov word [edx], ax
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x28]
test eax, eax
jle 0x6a6d9d
cmp ebp, dword [esp + 0x54]
ja 0x6a793c
mov eax, dword [esi + 0x14]
test eax, eax
jle 0x6a6d9d
mov eax, dword [esi + 0x18]
test eax, eax
jge 0x6a6d90
mov eax, dword [esi + 0x18]
mov dword [esi + 0x34], ebp
sub ebp, eax
mov dword [esp + 0x1c], ebp
mov dword [esi + 0x30], ebp
jmp 0x6a6d9d
mov ecx, dword [esi + 0x18]
mov eax, ebp
add eax, ecx
mov dword [esi + 0x30], ebp
mov dword [esi + 0x34], eax
cmp dword [esp + 0x34], 1
jle 0x6a6ddd
mov eax, dword [esi + 4]
test byte [eax + 0x40], 4
je 0x6a6dc1
mov ecx, dword [eax + 0x14]
mov eax, dword [esi - 0x38]
add eax, ecx
mov dword [esi - 0x38], eax
mov dword [esi + 0x24], 0
jmp 0x6a6ddd
mov edx, dword [edi + 0x1c]
mov eax, dword [esi - 0x38]
add eax, edx
mov dword [esi - 0x38], eax
mov dword [esi + 0x24], 0
jmp 0x6a6ddd
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x2c]
mov eax, dword [esi + 0xc]
test eax, eax
jg 0x6a6e2d
mov eax, dword [esp + 0x34]
sub esi, 0x5c
dec eax
mov dword [esp + 0x2c], esi
test eax, eax
mov dword [esp + 0x34], eax
jle 0x6a7964
mov eax, dword [esi]
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
je 0x6a6fab
mov edi, dword [esi + 0x10]
mov edx, dword [eax + 0x2c]
inc edi
mov ecx, edi
mov dword [esi + 0x10], edi
cmp ecx, edx
jl 0x6a792e
mov dword [esi + 0x10], 0
jmp 0x6a7798
mov eax, dword [esi + 0x10]
mov edx, dword [esp + 0xc10]
lea ecx, [eax + eax*2]
shl ecx, 6
mov ebx, dword [ecx + edi + 0xc0]
lea ecx, [ecx + edi + 0xbc]
cmp ebx, edx
mov dword [esp + 0x30], ecx
jle 0x6a6eac
mov ecx, dword [edi + 0x10]
test ecx, ecx
jne 0x6a6e78
mov edx, dword [esi + 0xc]
mov eax, dword [edi + 0x1c]
mov ecx, dword [esi + 0x28]
dec edx
add ecx, eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x20], ecx
jmp 0x6a792e
mov ecx, dword [edi + 0x2c]
inc eax
cmp eax, ecx
mov dword [esi + 0x10], eax
jl 0x6a792e
mov ecx, dword [esi + 0xc]
mov edx, dword [edi + 0x1c]
dec ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], ecx
mov eax, dword [esi + 0x28]
add eax, edx
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x20], eax
jmp 0x6a792e
mov dx, word [ecx + 0x40]
test dl, 2
je 0x6a6f0e
mov ecx, dword [edi + 0x10]
test ecx, ecx
jne 0x6a6eda
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x38]
dec ecx
mov dword [esi + 0xc], ecx
mov ecx, dword [edi + 0x1c]
add eax, ecx
mov dword [esp + 0x20], edx
mov dword [esi + 0x28], eax
jmp 0x6a792e
mov ecx, dword [edi + 0x2c]
inc eax
cmp eax, ecx
mov dword [esi + 0x10], eax
jl 0x6a792e
mov edx, dword [esi + 0xc]
mov eax, dword [edi + 0x1c]
dec edx
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], edx
mov ecx, dword [esi + 0x28]
add ecx, eax
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x20], ecx
jmp 0x6a792e
mov eax, dword [esi + 0x28]
mov ebx, dword [ecx + 0x28]
add ebx, eax
mov eax, dword [esi + 0x2c]
test dl, 4
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], eax
je 0x6a6f35
mov ebx, dword [ebx]
mov eax, dword [ecx + 0x10]
add eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x3c], eax
mov eax, dword [ecx + 0x54]
test eax, eax
jle 0x6a6f7e
mov edi, dword [ecx + 0x58]
mov edx, dword [esi + 0x28]
add edi, edx
sub eax, 2
je 0x6a6f72
sub eax, 2
je 0x6a6f69
sub eax, 4
je 0x6a6f5e
xor eax, eax
mov al, byte [edi]
cdq
mov dword [esp + 0x48], edx
jmp 0x6a6f81
mov edx, dword [edi + 4]
mov eax, dword [edi]
mov dword [esp + 0x48], edx
jmp 0x6a6f81
mov eax, dword [edi]
cdq
mov dword [esp + 0x48], edx
jmp 0x6a6f81
xor eax, eax
mov ax, word [edi]
cdq
mov dword [esp + 0x48], edx
jmp 0x6a6f81
mov eax, dword [ecx + 0x20]
xor edi, edi
mov dword [esp + 0x38], eax
cmp eax, edi
jl 0x6a7956
mov edx, dword [ecx + 0x20]
cmp edx, eax
jge 0x6a6f9e
cmp edx, edi
jg 0x6a7956
cmp eax, edi
jg 0x6a6fe3
mov eax, dword [esp + 0x28]
cmp dword [eax + 0x10], edi
jne 0x6a6fc9
mov edx, dword [esi + 0xc]
mov eax, dword [eax + 0x1c]
mov ecx, dword [esi + 0x28]
dec edx
add ecx, eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x20], ecx
jmp 0x6a792e
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + 0x2c]
inc ecx
cmp ecx, edx
mov dword [esi + 0x10], ecx
jl 0x6a792e
mov dword [esi + 0x10], edi
jmp 0x6a7798
mov edx, dword [ecx + 8]
cmp edx, 1
jle 0x6a7647
sub edx, 0x15
je 0x6a73db
dec edx
je 0x6a71d7
mov edx, dword [ecx + 0x14]
mov esi, dword [esp + 0x3c]
imul edx, eax
add edx, ebx
cmp edx, esi
jbe 0x6a701c
mov dword [esp + 0x14], 0x82010407
jmp 0x6a75be
mov ecx, dword [ecx + 0x18]
mov esi, dword [esp + 0x54]
mov edx, ecx
imul edx, eax
add edx, ebp
cmp edx, esi
ja 0x6a75b6
dec ecx
je 0x6a7196
dec ecx
je 0x6a716e
sub ecx, 2
je 0x6a7148
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x24], eax
mov esi, dword [ecx + 4]
mov eax, dword [ecx]
mov ebx, esi
mov ecx, 0x10
mov edx, esi
mov dword [esp + 0x78], eax
xor edi, edi
and ebx, 0xff0000
call fcn.006ab3f2
or edi, eax
or ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebx
call fcn.006ab3f2
mov edi, esi
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.006ab3f2
mov edi, esi
xor ecx, ecx
and edi, 0xff
or eax, ecx
or edx, edi
mov ecx, 8
call fcn.006ab3f2
mov edi, dword [esp + 0x78]
mov ebx, eax
mov dword [esp + 0x38], ebx
mov ebx, edx
mov ecx, 0x10
mov eax, edi
mov edx, esi
call fcn.006ab3d2
xor ecx, ecx
and edi, 0xff00
or edx, ecx
or eax, edi
mov ecx, 0x10
call fcn.006ab3d2
mov ecx, dword [esp + 0x78]
xor esi, esi
and ecx, 0xff0000
or edx, esi
or eax, ecx
mov ecx, 0x10
call fcn.006ab3d2
mov ecx, dword [esp + 0x78]
or edx, esi
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.006ab3d2
mov ecx, dword [esp + 0x38]
or ebx, edx
or ecx, eax
mov eax, dword [esp + 0x24]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x10]
mov dword [ebp + 4], ebx
add ebp, 8
add ecx, 8
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x24], eax
jne 0x6a7051
mov dword [esp + 0x1c], ebp
jmp 0x6a75be
mov edi, dword [0x41e538]
mov esi, eax
mov edx, dword [ebx]
push edx
call edi
mov dword [ebp], eax
add ebp, 4
add ebx, 4
dec esi
jne 0x6a7150
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebp
jmp 0x6a75be
mov edi, dword [fcn.0041e52c]
mov esi, eax
mov ax, word [ebx]
push eax
call edi
mov word [ebp], ax
add ebp, 2
add ebx, 2
dec esi
jne 0x6a7176
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebp
jmp 0x6a75be
cmp eax, 0x40
jg 0x6a71b2
mov cl, byte [ebx]
mov byte [ebp], cl
inc ebp
inc ebx
dec eax
jne 0x6a719b
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebp
jmp 0x6a75be
mov ecx, eax
mov esi, ebx
mov edx, ecx
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add ebx, eax
and ecx, 3
add ebp, eax
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x1c], ebp
jmp 0x6a75be
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x6a71f0
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov esi, dword [esp + 0x10]
mov edi, eax
push edi
push esi
mov dword [esp + 0x20], eax
call fcn.006aa902
lea ebx, [eax + eax + 2]
add esp, 8
cmp ebx, edi
mov dword [esp + 0x44], ebx
jg 0x6a75ac
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 0x4c]
mov ecx, dword [esp + 0x54]
lea edx, [eax + ebx]
add edx, ebp
cmp edx, ecx
ja 0x6a75b6
sub eax, 2
je 0x6a735c
sub eax, 2
je 0x6a7350
sub eax, 4
je 0x6a724b
mov byte [ebp], bl
jmp 0x6a7367
mov eax, ebx
mov ecx, 0x10
cdq
mov edi, eax
mov eax, ebx
and eax, 0xff00
mov esi, edx
cdq
mov ebp, eax
mov eax, edi
mov dword [esp + 0x40], ebp
mov ebp, edx
mov edx, esi
mov dword [esp + 0x68], edi
mov dword [esp + 0x6c], esi
call fcn.006ab3d2
mov edi, dword [esp + 0x40]
or ebp, edx
or edi, eax
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.006ab3d2
mov edi, eax
mov eax, ebx
and eax, 0xff0000
mov ebp, edx
cdq
or edi, eax
or ebp, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.006ab3d2
mov edi, dword [esp + 0x68]
xor ebx, ebx
mov ecx, edi
or edx, ebx
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.006ab3d2
mov ebx, eax
mov ecx, 0x10
mov dword [esp + 0x40], ebx
mov ebx, edx
mov dword [esp + 0x58], ebx
mov ebx, esi
mov eax, edi
mov edx, esi
xor ebp, ebp
and ebx, 0xff0000
call fcn.006ab3f2
or ebp, eax
or ebx, edx
mov ecx, 0x10
mov eax, ebp
mov edx, ebx
call fcn.006ab3f2
mov edi, esi
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.006ab3f2
xor ecx, ecx
and esi, 0xff
or eax, ecx
or edx, esi
mov ecx, 8
call fcn.006ab3f2
mov ecx, dword [esp + 0x40]
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x18]
or ecx, eax
mov eax, dword [esp + 0x58]
or eax, edx
mov dword [ebp], ecx
mov dword [ebp + 4], eax
mov ebx, dword [esp + 0x44]
jmp 0x6a7367
push ebx
call dword [0x41e538]
mov dword [ebp], eax
jmp 0x6a7367
push ebx
call dword [fcn.0041e52c]
mov word [ebp], ax
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x4c]
add ebp, edx
cmp ebx, 0x40
mov dword [esp + 0x1c], ebp
jg 0x6a738f
test ebx, ebx
jle 0x6a73b9
mov eax, ebx
mov dl, byte [esi]
mov byte [ebp], dl
inc ebp
inc esi
dec eax
jne 0x6a737f
mov dword [esp + 0x1c], ebp
jmp 0x6a73b9
mov eax, dword [esp + 0x10]
mov ecx, ebx
mov edx, ecx
mov esi, eax
mov edi, ebp
add eax, ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x10], eax
and ecx, 3
add ebp, ebx
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x1c], ebp
mov esi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
sub edi, ebx
add esi, edi
inc eax
cmp eax, ecx
mov dword [esp + 0x10], esi
mov dword [esp + 0x24], eax
jl 0x6a71db
jmp 0x6a75be
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x1c]
test eax, eax
jne 0x6a73f4
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x10]
sub eax, ecx
mov edi, dword [esp + 0x10]
mov dword [esp + 0x18], eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x18]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, eax
jge 0x6a75ac
mov ecx, dword [esp + 0x30]
inc ebx
mov dword [esp + 0x40], ebx
mov eax, dword [ecx + 0x4c]
mov ecx, dword [esp + 0x54]
lea edx, [eax + ebx]
add edx, ebp
cmp edx, ecx
ja 0x6a75b6
sub eax, 2
je 0x6a7559
sub eax, 2
je 0x6a754d
sub eax, 4
je 0x6a7450
mov byte [ebp], bl
jmp 0x6a7564
mov eax, ebx
mov ecx, 0x10
cdq
mov edi, eax
mov eax, ebx
and eax, 0xff00
mov esi, edx
cdq
mov ebp, eax
mov eax, edi
mov dword [esp + 0x44], ebp
mov ebp, edx
mov edx, esi
mov dword [esp + 0x70], edi
mov dword [esp + 0x74], esi
call fcn.006ab3d2
mov edi, dword [esp + 0x44]
or ebp, edx
or edi, eax
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.006ab3d2
mov edi, eax
mov eax, ebx
and eax, 0xff0000
mov ebp, edx
cdq
or edi, eax
or ebp, edx
mov ecx, 0x10
mov eax, edi
mov edx, ebp
call fcn.006ab3d2
mov edi, dword [esp + 0x70]
xor ebx, ebx
mov ecx, edi
or edx, ebx
and ecx, 0xff000000
or eax, ecx
mov ecx, 8
call fcn.006ab3d2
mov ebx, eax
mov ecx, 0x10
mov dword [esp + 0x44], ebx
mov ebx, edx
mov dword [esp + 0x58], ebx
mov ebx, esi
mov eax, edi
mov edx, esi
xor ebp, ebp
and ebx, 0xff0000
call fcn.006ab3f2
or ebp, eax
or ebx, edx
mov ecx, 0x10
mov eax, ebp
mov edx, ebx
call fcn.006ab3f2
mov edi, esi
xor ecx, ecx
and edi, 0xff00
or eax, ecx
or edx, edi
mov ecx, 0x10
call fcn.006ab3f2
xor ecx, ecx
and esi, 0xff
or eax, ecx
or edx, esi
mov ecx, 8
call fcn.006ab3f2
mov ecx, dword [esp + 0x44]
mov ebp, dword [esp + 0x1c]
mov ebx, dword [esp + 0x40]
or ecx, eax
mov eax, dword [esp + 0x58]
mov dword [ebp], ecx
or eax, edx
mov dword [ebp + 4], eax
jmp 0x6a7564
push ebx
call dword [0x41e538]
mov dword [ebp], eax
jmp 0x6a7564
push ebx
call dword [fcn.0041e52c]
mov word [ebp], ax
mov ecx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov esi, dword [ecx + 0x4c]
mov ecx, ebx
add ebp, esi
mov edx, ecx
mov esi, eax
mov edi, ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
add ebp, ebx
and ecx, 3
mov dword [esp + 0x1c], ebp
rep movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x38]
add eax, esi
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
inc eax
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x6a73df
jmp 0x6a75be
mov dword [esp + 0x14], 0x82010406
jmp 0x6a75be
mov dword [esp + 0x14], 0x82010402
mov eax, dword [esp + 0x30]
test byte [eax + 0x40], 4
je 0x6a75d6
mov eax, dword [eax + 0x28]
mov ecx, dword [esp + 0x2c]
shl eax, 1
mov dword [ecx + 0x24], eax
jmp 0x6a75e4
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x10]
sub ecx, dword [eax + 0x28]
mov dword [eax + 0x24], ecx
test dword [esp + 0x14], 0x80000000
jne 0x6a7964
mov ecx, dword [esp + 0x28]
mov eax, dword [ecx + 0x10]
test eax, eax
mov eax, dword [esp + 0x2c]
jne 0x6a761b
dec dword [eax + 0xc]
mov edx, dword [ecx + 0x1c]
mov ecx, dword [eax + 0x28]
add ecx, edx
mov dword [eax + 0x28], ecx
mov eax, dword [eax + 0x38]
mov dword [esp + 0x20], eax
jmp 0x6a792e
mov esi, dword [eax + 0x10]
mov edx, dword [ecx + 0x2c]
inc esi
mov dword [eax + 0x10], esi
mov eax, esi
cmp eax, edx
jl 0x6a792e
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
mov edx, dword [eax + 0xc]
mov dword [eax + 0x10], 0
dec edx
mov dword [eax + 0xc], edx
jmp 0x6a7604
cmp dword [esp + 0x34], 0x20
jge 0x6a7946
cmp edx, edi
jne 0x6a77ed
mov edx, dword [ecx + 0x64]
mov ebx, dword [esi + 0x28]
mov eax, dword [ecx + 0x60]
add edx, ebx
sub eax, 2
je 0x6a7689
sub eax, 2
je 0x6a7685
sub eax, 4
je 0x6a767a
xor eax, eax
mov al, byte [edx]
jmp 0x6a768e
mov eax, dword [edx]
mov edx, dword [edx + 4]
mov dword [esp + 0x4c], eax
jmp 0x6a7693
mov eax, dword [edx]
jmp 0x6a768e
xor eax, eax
mov ax, word [edx]
cdq
mov dword [esp + 0x4c], eax
mov ecx, dword [ecx + 0x74]
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x5c]
mov ebx, dword [ecx + edx + 0x1d8]
lea edi, [ecx + edx + 0xa4]
xor ecx, ecx
mov dword [esp + 0x28], edi
mov edx, dword [edi + 0x138]
cmp edx, ebx
setg cl
dec ecx
mov dword [esp + 0x18], ecx
mov ecx, eax
sub ecx, edx
js 0x6a76e7
cmp ecx, dword [edi + 0x2c]
jge 0x6a76e7
lea edx, [ecx + ecx*2]
shl edx, 6
add edx, edi
mov ebx, dword [edx + 0x138]
cmp ebx, eax
jne 0x6a76e7
cmp ebx, dword [edx + 0x134]
jle 0x6a7763
mov edx, dword [edi + 0x2c]
cmp edx, 0x10
jge 0x6a7717
xor ebx, ebx
test edx, edx
jle 0x6a7767
lea ecx, [edi + 0x134]
cmp dword [ecx + 4], eax
jg 0x6a7704
cmp eax, dword [ecx]
jle 0x6a7711
inc ebx
add ecx, 0xc0
cmp ebx, edx
jl 0x6a76fb
jmp 0x6a7767
mov dword [esp + 0x18], ebx
jmp 0x6a7767
lea eax, [edx - 1]
xor ebx, ebx
test eax, eax
mov dword [esp + 0x24], eax
jl 0x6a7767
mov eax, dword [esp + 0x24]
lea ecx, [eax + ebx]
sar ecx, 1
lea edx, [ecx + ecx*2]
shl edx, 6
add edx, edi
mov eax, dword [edx + 0x138]
mov edx, dword [edx + 0x134]
cmp eax, edx
jg 0x6a7758
cmp dword [esp + 0x4c], eax
jge 0x6a7752
dec ecx
mov dword [esp + 0x24], ecx
jmp 0x6a775b
cmp dword [esp + 0x4c], edx
jle 0x6a7763
lea ebx, [ecx + 1]
cmp ebx, dword [esp + 0x24]
jle 0x6a7724
jmp 0x6a7767
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x18]
cmp eax, 0xffffffff
je 0x6a778b
lea ecx, [eax + eax*2 + 3]
mov eax, dword [esp + 0xc10]
shl ecx, 6
cmp dword [ecx + edi], eax
jg 0x6a778b
test edi, edi
jne 0x6a780e
mov eax, dword [esi]
mov dword [esp + 0x28], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
jne 0x6a77b6
mov ecx, dword [esi + 0xc]
mov edx, dword [eax + 0x1c]
mov eax, dword [esi + 0x28]
dec ecx
add eax, edx
mov dword [esi + 0xc], ecx
mov dword [esi + 0x28], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 0x20], eax
jmp 0x6a792e
mov ecx, dword [esi + 0x10]
mov edx, dword [eax + 0x2c]
inc ecx
cmp ecx, edx
mov dword [esi + 0x10], ecx
jl 0x6a792e
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x38]
dec ecx
mov dword [esi + 0x10], 0
mov dword [esi + 0xc], ecx
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 0x28]
mov dword [esp + 0x20], edx
add eax, ecx
mov dword [esi + 0x28], eax
jmp 0x6a792e
mov eax, dword [ecx + 0x74]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x18], 0
lea edi, [eax + ecx + 0xa4]
mov eax, dword [esp + 0xc10]
mov dword [esp + 0x28], edi
mov ebx, dword [esp + 0x34]
mov edx, dword [edi + 0x68]
add esi, 0x5c
inc ebx
test edx, edx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x2c], esi
mov dword [esi + 0x24], 0
jle 0x6a786b
mov ecx, dword [edi + 0x64]
mov ebx, dword [esp + 0x10]
add ecx, ebx
mov ebx, dword [esp + 0x3c]
sub ebx, ecx
cmp ebx, edx
jge 0x6a7849
mov dword [esp + 0x14], 0x82010407
jmp 0x6a786b
sub edx, 2
je 0x6a7868
sub edx, 2
je 0x6a7864
sub edx, 4
je 0x6a785c
mov byte [ecx], al
jmp 0x6a786b
cdq
mov dword [ecx], eax
mov dword [ecx + 4], edx
jmp 0x6a786b
mov dword [ecx], eax
jmp 0x6a786b
mov word [ecx], ax
test dword [esp + 0x14], 0x80000000
jne 0x6a7964
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x10]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x58]
mov dword [esi], edi
test eax, eax
mov dword [esi + 0xc], edx
mov dword [esi + 0x28], ecx
mov dword [esi + 0x30], ebp
jle 0x6a78cd
mov ecx, dword [edi + 0x5c]
mov dword [esi + 0x14], eax
cmp ecx, 0xffffffff
je 0x6a78bb
mov edx, eax
mov dword [esi + 0x34], ebp
neg edx
add ebp, eax
mov dword [esi + 0x18], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1c], ebp
jmp 0x6a791a
mov edi, dword [edi + 0x50]
mov edx, dword [esp + 0x30]
mov dword [esi + 0x18], edi
lea eax, [edi + ebp]
mov dword [esi + 0x34], eax
jmp 0x6a791a
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x4c]
test eax, eax
jle 0x6a7913
mov ecx, dword [edx + 0x50]
mov dword [esi + 0x14], eax
cmp ecx, 0xffffffff
je 0x6a78f3
mov dword [esi + 0x34], ebp
add ebp, eax
neg eax
mov dword [esp + 0x1c], ebp
mov dword [esi + 0x18], eax
jmp 0x6a791a
mov eax, dword [edx + 0x44]
mov ecx, dword [edx + 0x24]
cmp eax, ecx
jl 0x6a7909
sub eax, ecx
mov dword [esi + 0x18], eax
add eax, ebp
mov dword [esi + 0x34], eax
jmp 0x6a791a
mov ecx, dword [esi - 0x2c]
add ecx, eax
mov dword [esi + 0x34], ecx
jmp 0x6a791a
mov dword [esi + 0x14], 0
mov eax, dword [esp + 0x3c]
mov dword [esi + 0x30], ebp
mov dword [esi + 0x2c], eax
mov dword [esi + 4], edx
mov dword [esi + 0x38], 1
mov eax, dword [esp + 0x34]
test eax, eax
jg 0x6a6c19
jmp 0x6a7964
mov dword [esp + 0x14], 0x82010402
jmp 0x6a7964
mov ecx, dword [ecx + 0x28]
mov dword [esp + 0x14], 0x82010404
mov dword [esi + 0x24], ecx
jmp 0x6a7964
mov edx, dword [ecx + 0x28]
mov dword [esp + 0x14], 0x82010403
mov dword [esi + 0x24], edx
mov esi, dword [esp + 0xc0c]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0xa4]
test edi, 0x80000000
mov dword [esi + 4], eax
je 0x6a79de
mov edx, dword [esp + 0x34]
mov eax, 1
cmp edx, eax
jle 0x6a79de
lea ecx, [esp + 0x100]
mov ebx, dword [ecx - 0x20]
test byte [ebx + 0x40], 4
jne 0x6a79c4
mov ebx, dword [ecx]
add ecx, 0x5c
add dword [esi + 4], ebx
inc eax
cmp eax, edx
jl 0x6a7995
mov eax, dword [esp + 0xc08]
sub ebp, dword [eax]
mov dword [eax + 4], ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbf0
ret
lea ecx, [eax + eax*2]
shl ecx, 3
sub ecx, eax
mov edx, dword [esp + ecx*4 + 0x84]
mov ecx, dword [esi + 4]
mov eax, dword [edx + 0x14]
add ecx, eax
mov dword [esi + 4], ecx
mov eax, dword [esp + 0xc08]
sub ebp, dword [eax]
mov dword [eax + 4], ebp
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xbf0
ret
pop edi
pop esi
pop ebp
mov eax, 0x82010464
pop ebx
add esp, 0xbf0
ret