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

Disassembly:
push ebp
mov eax, ecx
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
cmp dword [ebp + 8], ecx
mov dword [ebp - 0x34], ecx
je 0x6b2996
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov eax, dword [ecx + 8]
mov edi, dword [ecx]
mov edx, dword [edx + 4]
mov ebx, dword [ebx]
mov dword [ebp - 0x2c], eax
sub eax, edi
sar eax, 5
mov dword [ebp - 0x38], edx
sub edx, ebx
mov dword [ebp - 0x40], edx
sar edx, 5
imul edx, edx, 0xcccccccd
imul eax, eax, 0xcccccccd
mov dword [ebp - 0x30], edx
cmp eax, edx
jb 0x6b29a0
mov eax, dword [ebp - 0x34]
mov eax, dword [eax + 4]
mov edx, eax
mov dword [ebp - 0x44], eax
sub edx, edi
mov eax, edx
sar eax, 5
imul eax, eax, 0xcccccccd
cmp dword [ebp - 0x30], eax
mov dword [ebp - 0x3c], eax
ja 0x6b3100
mov esi, dword [ebp - 0x40]
lea eax, [ebx + 0x50]
test esi, esi
jle 0x6b27d7
mov dword [ebp - 0x2c], eax
mov esi, eax
nop
lea esi, [esi]
mov eax, dword [esi - 0x50]
lea ecx, [edi + 0x1c]
mov dword [edi], eax
mov eax, dword [esi - 0x4c]
mov dword [edi + 4], eax
mov eax, dword [esi - 0x48]
mov dword [edi + 8], eax
mov eax, dword [esi - 0x44]
mov dword [edi + 0xc], eax
mov eax, dword [esi - 0x40]
mov dword [edi + 0x10], eax
mov eax, dword [esi - 0x3c]
mov dword [edi + 0x14], eax
mov eax, dword [esi - 0x38]
mov dword [edi + 0x18], eax
lea eax, [esi - 0x34]
mov dword [esp], eax
call fcn.006b5940
lea eax, [esi - 0x28]
sub esp, 4
lea ecx, [edi + 0x28]
mov dword [esp], eax
call fcn.0068a4a0
lea eax, [esi - 0xc]
sub esp, 4
lea ecx, [edi + 0x44]
mov dword [esp], eax
call fcn.006b4be0
lea eax, [edi + 0x50]
sub esp, 4
cmp esi, eax
je 0x6b276e
mov eax, dword [esi + 4]
mov ebx, dword [esi]
mov ecx, dword [edi + 0x58]
mov esi, eax
mov dword [ebp - 0x3c], eax
mov eax, dword [edi + 0x50]
sub esi, ebx
mov edx, esi
mov dword [ebp - 0x38], esi
sub ecx, eax
sar edx, 4
sar ecx, 4
cmp edx, ecx
ja 0x6b30a0
mov ecx, dword [edi + 0x54]
mov esi, ecx
sub esi, eax
mov dword [ebp - 0x48], esi
sar esi, 4
cmp edx, esi
ja 0x6b3060
cmp dword [ebp - 0x3c], ebx
jne 0x6b3882
add eax, dword [ebp - 0x38]
mov dword [edi + 0x54], eax
mov esi, dword [ebp - 0x2c]
lea ecx, [edi + 0x5c]
lea eax, [esi + 0xc]
mov dword [esp], eax
call fcn.006b4750
lea eax, [esi + 0x18]
sub esp, 4
lea ecx, [edi + 0x68]
mov dword [esp], eax
call fcn.006b4150
lea eax, [esi + 0x24]
sub esp, 4
lea ecx, [edi + 0x74]
mov dword [esp], eax
call fcn.0068a4a0
lea eax, [esi + 0x40]
sub esp, 4
lea ecx, [edi + 0x90]
add esi, 0xa0
add edi, 0xa0
mov dword [esp], eax
call fcn.006be7e0
mov eax, dword [esi - 0x54]
sub esp, 4
mov dword [ebp - 0x2c], esi
mov dword [edi - 4], eax
sub dword [ebp - 0x30], 1
jne 0x6b26c0
cmp dword [ebp - 0x44], edi
je 0x6b36f8
mov eax, dword [ebp - 0x44]
lea esi, [edi + 0xa0]
sub eax, esi
shr eax, 5
imul eax, eax, 0x4cccccd
and eax, 0x7ffffff
lea eax, [eax + eax*4 + 5]
shl eax, 5
add eax, edi
mov dword [ebp - 0x30], eax
mov eax, dword [edi + 0x90]
test eax, eax
je 0x6b2817
mov dword [esp], eax
call fcn.006febf0
mov ebx, dword [edi + 0x7c]
test ebx, ebx
jne 0x6b283a
jmp 0x6b2858
mov dword [esp], eax
call fcn.006febf0
mov dword [esp], ebx
call fcn.006febf0
mov ebx, dword [ebp - 0x2c]
test ebx, ebx
je 0x6b2858
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
lea edx, [ebx + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 4]
cmp eax, edx
jne 0x6b2820
mov dword [esp], ebx
call fcn.006febf0
mov ecx, dword [ebp - 0x2c]
test ecx, ecx
jne 0x6b2837
mov eax, dword [edi + 0x78]
mov edx, dword [edi + 0x74]
mov dword [esp + 4], 0
shl eax, 2
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x74]
lea edx, [edi + 0x8c]
mov dword [edi + 0x80], 0
mov dword [edi + 0x7c], 0
cmp eax, edx
je 0x6b289b
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [edi + 0x68]
test eax, eax
je 0x6b28aa
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [edi + 0x5c]
test eax, eax
je 0x6b28b9
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [edi + 0x50]
test eax, eax
je 0x6b28c8
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [edi + 0x44]
test eax, eax
je 0x6b28d7
mov dword [esp], eax
call fcn.006febf0
mov ebx, dword [edi + 0x30]
test ebx, ebx
jne 0x6b28fa
jmp 0x6b2918
mov dword [esp], eax
call fcn.006febf0
mov dword [esp], ebx
call fcn.006febf0
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x6b2918
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
lea edx, [ebx + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 4]
cmp eax, edx
jne 0x6b28e0
mov dword [esp], ebx
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x6b28f7
mov eax, dword [edi + 0x2c]
mov edx, dword [edi + 0x28]
mov dword [esp + 4], 0
shl eax, 2
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x28]
lea edx, [edi + 0x40]
mov dword [edi + 0x34], 0
mov dword [edi + 0x30], 0
cmp eax, edx
je 0x6b2955
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [edi + 0x1c]
test eax, eax
je 0x6b2980
mov dword [esp], eax
mov edi, esi
call fcn.006febf0
cmp dword [ebp - 0x30], esi
je 0x6b2987
add esi, 0xa0
jmp 0x6b2805
cmp esi, dword [ebp - 0x30]
mov edi, esi
jne 0x6b296b
mov ecx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
add eax, dword [ecx]
mov ebx, ecx
mov dword [ebx + 4], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret 4
test edx, edx
je 0x6b39a9
cmp edx, 0x1999999
ja 0x6b3a5d
mov eax, dword [ebp - 0x40]
mov dword [esp], eax
call fcn.006fec40
mov dword [ebp - 0x44], eax
cmp ebx, dword [ebp - 0x38]
je 0x6b2e78
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], eax
mov edx, dword [ebp - 0x2c]
test edx, edx
je 0x6b2e5e
mov esi, dword [ebp - 0x30]
mov eax, dword [esi]
mov ebx, dword [esi + 0x20]
sub ebx, dword [esi + 0x1c]
mov dword [edx], eax
mov eax, dword [esi + 4]
mov dword [edx + 4], eax
mov eax, dword [esi + 8]
mov dword [edx + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edx + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edx + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edx + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edx + 0x1c], 0
mov dword [edx + 0x20], 0
mov dword [edx + 0x24], 0
mov dword [edx + 0x18], eax
mov eax, ebx
sar eax, 4
test eax, eax
je 0x6b2a41
cmp eax, 0xfffffff
ja 0x6b3b4f
mov dword [esp], ebx
call fcn.006fec40
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ebx, eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ebx
mov ebx, dword [edx + 0x20]
mov esi, dword [edx + 0x1c]
cmp ebx, esi
je 0x6b2a98
mov ecx, eax
mov edx, esi
test ecx, ecx
je 0x6b3994
mov edi, dword [edx]
add edx, 0x10
add ecx, 0x10
mov dword [ecx - 0x10], edi
mov edi, dword [edx - 0xc]
mov dword [ecx - 0xc], edi
mov edi, dword [edx - 8]
mov dword [ecx - 8], edi
mov edi, dword [edx - 4]
mov dword [ecx - 4], edi
cmp ebx, edx
jne 0x6b2a60
add esi, 0x10
mov edi, dword [ebp - 0x2c]
sub ebx, esi
and ebx, 0xfffffff0
lea eax, [eax + ebx + 0x10]
mov ebx, dword [ebp - 0x30]
mov dword [edi + 0x20], eax
lea ecx, [edi + 0x28]
mov dword [edi + 0x28], 0
mov dword [ebp - 0x3c], ecx
mov eax, dword [ebx + 0x2c]
mov dword [edi + 0x30], 0
mov dword [edi + 0x2c], eax
mov eax, dword [ebx + 0x34]
mov dword [edi + 0x34], eax
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov dword [edi + 0x40], 0
mov dword [ebp - 0x20], ecx
mov dword [edi + 0x38], eax
lea eax, [ebp - 0x20]
mov dword [edi + 0x3c], edx
mov dword [esp + 4], eax
lea eax, [ebx + 0x28]
mov dword [esp], eax
call fcn.00689c90
mov eax, ebx
mov ebx, dword [ebx + 0x48]
sub esp, 8
sub ebx, dword [eax + 0x44]
mov dword [edi + 0x44], 0
mov dword [edi + 0x48], 0
mov dword [edi + 0x4c], 0
mov eax, ebx
sar eax, 2
imul eax, eax, 0x3e0f83e1
test eax, eax
je 0x6b2b28
cmp eax, 0x1f07c1f
ja 0x6b3b0d
mov dword [esp], ebx
call fcn.006fec40
mov esi, dword [ebp - 0x2c]
add ebx, eax
mov dword [esi + 0x4c], ebx
mov ebx, dword [ebp - 0x30]
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
mov ecx, dword [ebx + 0x48]
mov edx, dword [ebx + 0x44]
cmp ecx, edx
je 0x6b38d0
lea ebx, [edx + 0x84]
sub ecx, ebx
mov ebx, ecx
shr ebx, 2
imul ebx, ebx, 0x3e0f83e1
and ebx, 0x3fffffff
add ebx, 1
imul ebx, ebx, 0x84
add ebx, eax
nop
lea esi, [esi]
test eax, eax
je 0x6b3978
mov edi, eax
add eax, 0x84
mov esi, edx
add edx, 0x84
cmp eax, ebx
mov ecx, 0x21
rep movsd dword es:[edi], dword [esi]
jne 0x6b2b70
mov eax, dword [ebp - 0x2c]
mov ecx, eax
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0x48], ebx
mov ebx, dword [eax + 0x54]
sub ebx, dword [eax + 0x50]
mov dword [ecx + 0x50], 0
mov dword [ecx + 0x54], 0
mov dword [ecx + 0x58], 0
mov eax, ebx
sar eax, 4
test eax, eax
je 0x6b3936
cmp eax, 0xfffffff
ja 0x6b3b43
mov dword [esp], ebx
call fcn.006fec40
mov esi, eax
mov eax, dword [ebp - 0x2c]
add ebx, esi
mov dword [eax + 0x50], esi
mov dword [eax + 0x54], esi
mov dword [eax + 0x58], ebx
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x50]
mov ebx, edx
sub ebx, eax
cmp edx, eax
je 0x6b2c09
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x2c]
lea eax, [esi + ebx]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax + 0x60]
sub ebx, dword [eax + 0x5c]
mov dword [edx + 0x5c], 0
mov dword [edx + 0x60], 0
mov dword [edx + 0x64], 0
mov eax, ebx
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x6b2c52
cmp eax, 0xaaaaaaa
ja 0x6b3b1a
mov dword [esp], ebx
call fcn.006fec40
mov esi, dword [ebp - 0x2c]
add ebx, eax
mov dword [esi + 0x64], ebx
mov ebx, dword [ebp - 0x30]
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], eax
mov ecx, dword [ebx + 0x60]
mov edx, dword [ebx + 0x5c]
cmp ecx, edx
je 0x6b38c0
lea ebx, [edx + 0x18]
mov edi, esi
sub ecx, ebx
shr ecx, 3
imul ecx, ecx, 0xaaaaaab
lea ecx, [ecx + ecx*2]
lea ebx, [eax + ecx*8 + 0x18]
nop
lea esi, [esi]
test eax, eax
je 0x6b3962
mov ecx, dword [edx]
add eax, 0x18
add edx, 0x18
mov dword [eax - 0x18], ecx
mov ecx, dword [edx - 0x14]
mov dword [eax - 0x14], ecx
mov ecx, dword [edx - 0x10]
mov dword [eax - 0x10], ecx
mov ecx, dword [edx - 0xc]
mov dword [eax - 0xc], ecx
mov ecx, dword [edx - 8]
mov dword [eax - 8], ecx
mov ecx, dword [edx - 4]
mov dword [eax - 4], ecx
cmp eax, ebx
jne 0x6b2c90
mov dword [ebp - 0x2c], edi
mov ecx, edi
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0x60], ebx
mov ebx, dword [eax + 0x6c]
sub ebx, dword [eax + 0x68]
mov dword [ecx + 0x68], 0
mov dword [ecx + 0x6c], 0
mov dword [ecx + 0x70], 0
mov eax, ebx
sar eax, 2
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x6b2d0d
cmp eax, 0x15555555
ja 0x6b3a78
mov dword [esp], ebx
call fcn.006fec40
mov edi, dword [ebp - 0x2c]
add ebx, eax
mov dword [edi + 0x70], ebx
mov ebx, dword [ebp - 0x30]
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], eax
mov ecx, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x68]
cmp ecx, edx
je 0x6b38b0
lea ebx, [edx + 0xc]
sub ecx, ebx
shr ecx, 2
imul ecx, ecx, 0x2aaaaaab
lea ecx, [ecx + ecx*2]
lea ebx, [eax + ecx*4 + 0xc]
test eax, eax
je 0x6b394c
mov ecx, dword [edx]
add eax, 0xc
add edx, 0xc
mov dword [eax - 0xc], ecx
mov ecx, dword [edx - 8]
mov dword [eax - 8], ecx
mov ecx, dword [edx - 4]
mov dword [eax - 4], ecx
cmp eax, ebx
jne 0x6b2d41
mov dword [ebp - 0x2c], edi
mov dword [edi + 0x6c], ebx
mov ebx, dword [ebp - 0x30]
lea esi, [edi + 0x74]
mov dword [edi + 0x74], 0
mov ecx, esi
mov eax, dword [ebx + 0x78]
mov dword [edi + 0x7c], 0
mov dword [edi + 0x78], eax
mov eax, dword [ebx + 0x80]
mov dword [edi + 0x80], eax
mov eax, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
mov dword [edi + 0x8c], 0
mov dword [ebp - 0x1c], esi
mov dword [edi + 0x84], eax
lea eax, [ebp - 0x1c]
mov dword [edi + 0x88], edx
mov dword [esp + 4], eax
lea eax, [ebx + 0x74]
mov dword [esp], eax
call fcn.00689c90
mov ecx, ebx
mov ebx, dword [ebx + 0x94]
sub esp, 8
sub ebx, dword [ecx + 0x90]
mov dword [edi + 0x90], 0
mov dword [edi + 0x94], 0
mov dword [edi + 0x98], 0
xor edi, edi
test ebx, ebx
jne 0x6b37c0
mov eax, dword [ebp - 0x2c]
add ebx, edi
mov dword [eax + 0x90], edi
mov dword [eax + 0x94], edi
mov dword [eax + 0x98], ebx
mov eax, dword [ebp - 0x30]
xor ebx, ebx
mov edx, dword [eax + 0x90]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x3c], eax
sub eax, edx
je 0x6b2e43
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov ebx, eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
lea eax, [edi + ebx]
mov ebx, dword [ebp - 0x2c]
mov dword [ebx + 0x94], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x9c]
mov dword [ebx + 0x9c], eax
add dword [ebp - 0x30], 0xa0
add dword [ebp - 0x2c], 0xa0
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x38], eax
jne 0x6b29d4
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebx + 4]
mov esi, dword [ebx]
cmp eax, esi
je 0x6b303c
lea edi, [esi + 0xa0]
sub eax, edi
shr eax, 5
imul eax, eax, 0x4cccccd
and eax, 0x7ffffff
lea eax, [eax + eax*4 + 5]
shl eax, 5
add eax, esi
mov dword [ebp - 0x30], eax
lea esi, [esi]
mov eax, dword [esi + 0x90]
test eax, eax
je 0x6b2ec2
mov dword [esp], eax
call fcn.006febf0
mov ebx, dword [esi + 0x7c]
test ebx, ebx
jne 0x6b2eea
jmp 0x6b2f08
mov dword [esp], eax
call fcn.006febf0
mov dword [esp], ebx
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x6b2f08
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
lea edx, [ebx + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 4]
cmp eax, edx
jne 0x6b2ed0
mov dword [esp], ebx
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x6b2ee7
mov eax, dword [esi + 0x78]
mov edx, dword [esi + 0x74]
mov dword [esp + 4], 0
shl eax, 2
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov eax, dword [esi + 0x74]
lea edx, [esi + 0x8c]
mov dword [esi + 0x80], 0
mov dword [esi + 0x7c], 0
cmp eax, edx
je 0x6b2f4b
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [esi + 0x68]
test eax, eax
je 0x6b2f5a
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [esi + 0x5c]
test eax, eax
je 0x6b2f69
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [esi + 0x50]
test eax, eax
je 0x6b2f78
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [esi + 0x44]
test eax, eax
je 0x6b2f87
mov dword [esp], eax
call fcn.006febf0
mov ebx, dword [esi + 0x30]
test ebx, ebx
jne 0x6b2faa
jmp 0x6b2fc8
mov dword [esp], eax
call fcn.006febf0
mov dword [esp], ebx
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x6b2fc8
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebx]
lea edx, [ebx + 0xc]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebx + 4]
cmp eax, edx
jne 0x6b2f90
mov dword [esp], ebx
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
test eax, eax
jne 0x6b2fa7
mov eax, dword [esi + 0x2c]
mov edx, dword [esi + 0x28]
mov dword [esp + 4], 0
shl eax, 2
mov dword [esp], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memset
mov eax, dword [esi + 0x28]
lea edx, [esi + 0x40]
mov dword [esi + 0x34], 0
mov dword [esi + 0x30], 0
cmp eax, edx
je 0x6b3005
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [esi + 0x1c]
test eax, eax
je 0x6b3030
mov dword [esp], eax
mov esi, edi
call fcn.006febf0
cmp edi, dword [ebp - 0x30]
je 0x6b3037
add edi, 0xa0
jmp 0x6b2eb0
cmp edi, dword [ebp - 0x30]
mov esi, edi
jne 0x6b301b
mov eax, dword [ebp - 0x34]
mov esi, dword [eax]
test esi, esi
je 0x6b3048
mov dword [esp], esi
call fcn.006febf0
mov ebx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x44]
mov dword [ebx], eax
add eax, dword [ebp - 0x40]
mov dword [ebx + 8], eax
jmp 0x6b2991
mov esi, dword [ebp - 0x48]
lea edx, [ebx + esi]
cmp ebx, edx
jne 0x6b3800
cmp dword [ebp - 0x3c], edx
je 0x6b2768
mov eax, dword [ebp - 0x3c]
mov dword [esp + 4], edx
mov dword [esp], ecx
sub eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memmove
mov eax, dword [ebp - 0x38]
add eax, dword [edi + 0x50]
jmp 0x6b276b
test edx, edx
je 0x6b30bd
cmp edx, 0xfffffff
ja 0x6b3a5d
mov eax, dword [ebp - 0x38]
mov dword [esp], eax
call fcn.006fec40
mov edx, eax
cmp dword [ebp - 0x3c], ebx
je 0x6b30db
mov eax, dword [ebp - 0x38]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [ebp - 0x3c], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x3c]
mov eax, dword [edi + 0x50]
test eax, eax
je 0x6b30f0
mov dword [esp], eax
mov dword [ebp - 0x3c], edx
call fcn.006febf0
mov edx, dword [ebp - 0x3c]
mov eax, dword [ebp - 0x38]
mov dword [edi + 0x50], edx
add eax, edx
mov dword [edi + 0x58], eax
jmp 0x6b276b
test edx, edx
jle 0x6b323f
lea eax, [ebx + 0x50]
add edi, 0x50
mov dword [ebp - 0x2c], eax
mov esi, dword [ebp - 0x2c]
lea ecx, [edi - 0x34]
mov eax, dword [esi - 0x50]
mov dword [edi - 0x50], eax
mov eax, dword [esi - 0x4c]
mov dword [edi - 0x4c], eax
mov eax, dword [esi - 0x48]
mov dword [edi - 0x48], eax
mov eax, dword [esi - 0x44]
mov dword [edi - 0x44], eax
mov eax, dword [esi - 0x40]
mov dword [edi - 0x40], eax
mov eax, dword [esi - 0x3c]
mov dword [edi - 0x3c], eax
mov eax, dword [esi - 0x38]
mov dword [edi - 0x38], eax
lea eax, [esi - 0x34]
mov dword [esp], eax
call fcn.006b5940
lea eax, [esi - 0x28]
sub esp, 4
lea ecx, [edi - 0x28]
mov dword [esp], eax
call fcn.0068a4a0
lea eax, [esi - 0xc]
sub esp, 4
lea ecx, [edi - 0xc]
mov dword [esp], eax
call fcn.006b4be0
sub esp, 4
cmp esi, edi
je 0x6b31bf
mov eax, dword [esi + 4]
mov ebx, dword [esi]
mov ecx, dword [edi + 8]
mov esi, eax
mov dword [ebp - 0x38], eax
mov eax, dword [edi]
sub esi, ebx
mov edx, esi
mov dword [ebp - 0x30], esi
sub ecx, eax
sar edx, 4
sar ecx, 4
cmp edx, ecx
ja 0x6b3760
mov ecx, dword [edi + 4]
mov esi, ecx
sub esi, eax
mov dword [ebp - 0x44], esi
sar esi, 4
cmp edx, esi
ja 0x6b3720
cmp dword [ebp - 0x38], ebx
jne 0x6b3833
add eax, dword [ebp - 0x30]
mov dword [edi + 4], eax
mov ebx, dword [ebp - 0x2c]
lea ecx, [edi + 0xc]
lea eax, [ebx + 0xc]
mov dword [esp], eax
call fcn.006b4750
lea eax, [ebx + 0x18]
sub esp, 4
lea ecx, [edi + 0x18]
mov dword [esp], eax
call fcn.006b4150
lea eax, [ebx + 0x24]
sub esp, 4
lea ecx, [edi + 0x24]
mov dword [esp], eax
call fcn.0068a4a0
lea eax, [ebx + 0x40]
sub esp, 4
lea ecx, [edi + 0x40]
add ebx, 0xa0
add edi, 0xa0
mov dword [esp], eax
call fcn.006be7e0
mov eax, dword [ebx - 0x54]
sub esp, 4
mov dword [ebp - 0x2c], ebx
mov dword [edi - 0x54], eax
sub dword [ebp - 0x3c], 1
jne 0x6b3111
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x34]
mov ebx, dword [ecx + 4]
mov eax, dword [edx + 4]
mov edi, dword [edx]
mov dword [ebp - 0x38], ebx
mov ebx, dword [ecx]
mov dword [ebp - 0x44], eax
sub eax, edi
mov edx, eax
lea eax, [ebx + edx]
cmp eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x44]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], edx
je 0x6b393f
mov edi, dword [ebp - 0x2c]
test edi, edi
je 0x6b36de
mov esi, dword [ebp - 0x30]
mov eax, dword [esi]
mov ebx, dword [esi + 0x20]
sub ebx, dword [esi + 0x1c]
mov dword [edi], eax
mov eax, dword [esi + 4]
mov dword [edi + 4], eax
mov eax, dword [esi + 8]
mov dword [edi + 8], eax
mov eax, dword [esi + 0xc]
mov dword [edi + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [edi + 0x10], eax
mov eax, dword [esi + 0x14]
mov dword [edi + 0x14], eax
mov eax, dword [esi + 0x18]
mov dword [edi + 0x1c], 0
mov dword [edi + 0x20], 0
mov dword [edi + 0x24], 0
mov dword [edi + 0x18], eax
mov eax, ebx
sar eax, 4
test eax, eax
je 0x6b32c1
cmp eax, 0xfffffff
ja 0x6b3a23
mov dword [esp], ebx
call fcn.006fec40
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ebx, eax
mov dword [edi + 0x1c], eax
mov dword [edi + 0x20], eax
mov dword [edi + 0x24], ebx
mov ebx, dword [edx + 0x20]
mov esi, dword [edx + 0x1c]
cmp ebx, esi
je 0x6b3315
mov ecx, eax
mov edx, esi
test ecx, ecx
je 0x6b38f5
mov edi, dword [edx]
add edx, 0x10
add ecx, 0x10
mov dword [ecx - 0x10], edi
mov edi, dword [edx - 0xc]
mov dword [ecx - 0xc], edi
mov edi, dword [edx - 8]
mov dword [ecx - 8], edi
mov edi, dword [edx - 4]
mov dword [ecx - 4], edi
cmp ebx, edx
jne 0x6b32e0
add esi, 0x10
sub ebx, esi
and ebx, 0xfffffff0
lea eax, [eax + ebx + 0x10]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x2c]
lea ebx, [esi + 0x28]
mov dword [esi + 0x28], 0
mov dword [esi + 0x30], 0
mov ecx, ebx
mov dword [ebp - 0x3c], ebx
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x34]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x38]
mov edx, dword [edi + 0x3c]
mov dword [esi + 0x40], 0
mov dword [esi + 0x38], eax
lea eax, [ebp - 0x20]
mov dword [esi + 0x3c], edx
mov dword [ebp - 0x20], ebx
mov dword [esp + 4], eax
lea eax, [edi + 0x28]
mov dword [esp], eax
call fcn.00689c90
mov ebx, dword [edi + 0x48]
sub ebx, dword [edi + 0x44]
sub esp, 8
mov dword [esi + 0x44], 0
mov dword [esi + 0x48], 0
mov dword [esi + 0x4c], 0
mov eax, ebx
sar eax, 2
imul eax, eax, 0x3e0f83e1
test eax, eax
je 0x6b33a8
cmp eax, 0x1f07c1f
ja 0x6b3a48
mov dword [esp], ebx
call fcn.006fec40
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ebx, eax
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], eax
mov dword [esi + 0x4c], ebx
mov ecx, dword [edx + 0x48]
mov edx, dword [edx + 0x44]
cmp ecx, edx
je 0x6b37d0
lea ebx, [edx + 0x84]
sub ecx, ebx
mov ebx, ecx
shr ebx, 2
imul ebx, ebx, 0x3e0f83e1
and ebx, 0x3fffffff
add ebx, 1
imul ebx, ebx, 0x84
add ebx, eax
nop
lea esi, [esi]
test eax, eax
je 0x6b38d9
mov edi, eax
add eax, 0x84
mov esi, edx
add edx, 0x84
cmp ebx, eax
mov ecx, 0x21
rep movsd dword es:[edi], dword [esi]
jne 0x6b33f0
mov eax, dword [ebp - 0x2c]
mov edx, eax
mov eax, dword [ebp - 0x30]
mov dword [edx + 0x48], ebx
mov ebx, dword [eax + 0x54]
sub ebx, dword [eax + 0x50]
mov dword [edx + 0x50], 0
mov dword [edx + 0x54], 0
mov dword [edx + 0x58], 0
mov eax, ebx
sar eax, 4
test eax, eax
je 0x6b38a0
cmp eax, 0xfffffff
ja 0x6b3a51
mov dword [esp], ebx
call fcn.006fec40
mov esi, eax
mov eax, dword [ebp - 0x2c]
add ebx, esi
mov dword [eax + 0x50], esi
mov dword [eax + 0x54], esi
mov dword [eax + 0x58], ebx
mov ebx, dword [ebp - 0x30]
mov edx, dword [ebx + 0x54]
mov eax, dword [ebx + 0x50]
mov ebx, edx
sub ebx, eax
cmp edx, eax
je 0x6b3489
mov dword [esp + 8], ebx
mov dword [esp + 4], eax
mov dword [esp], esi
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x2c]
lea eax, [esi + ebx]
mov dword [edx + 0x54], eax
mov eax, dword [ebp - 0x30]
mov ebx, dword [eax + 0x60]
sub ebx, dword [eax + 0x5c]
mov dword [edx + 0x5c], 0
mov dword [edx + 0x60], 0
mov dword [edx + 0x64], 0
mov eax, ebx
sar eax, 3
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x6b34d2
cmp eax, 0xaaaaaaa
ja 0x6b39b5
mov dword [esp], ebx
call fcn.006fec40
mov esi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ebx, eax
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], eax
mov dword [esi + 0x64], ebx
mov ecx, dword [edx + 0x60]
mov edx, dword [edx + 0x5c]
cmp ecx, edx
je 0x6b37f0
lea ebx, [edx + 0x18]
mov edi, esi
sub ecx, ebx
shr ecx, 3
imul ecx, ecx, 0xaaaaaab
lea ecx, [ecx + ecx*2]
lea ebx, [eax + ecx*8 + 0x18]
nop
lea esi, [esi]
test eax, eax
je 0x6b3920
mov ecx, dword [edx]
add eax, 0x18
add edx, 0x18
mov dword [eax - 0x18], ecx
mov ecx, dword [edx - 0x14]
mov dword [eax - 0x14], ecx
mov ecx, dword [edx - 0x10]
mov dword [eax - 0x10], ecx
mov ecx, dword [edx - 0xc]
mov dword [eax - 0xc], ecx
mov ecx, dword [edx - 8]
mov dword [eax - 8], ecx
mov ecx, dword [edx - 4]
mov dword [eax - 4], ecx
cmp ebx, eax
jne 0x6b3510
mov dword [ebp - 0x2c], edi
mov ecx, edi
mov eax, dword [ebp - 0x30]
mov dword [ecx + 0x60], ebx
mov ebx, dword [eax + 0x6c]
sub ebx, dword [eax + 0x68]
mov dword [ecx + 0x68], 0
mov dword [ecx + 0x6c], 0
mov dword [ecx + 0x70], 0
mov eax, ebx
sar eax, 2
imul eax, eax, 0xaaaaaaab
test eax, eax
je 0x6b358d
cmp eax, 0x15555555
ja 0x6b3a2a
mov dword [esp], ebx
call fcn.006fec40
mov edi, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x30]
add ebx, eax
mov dword [edi + 0x68], eax
mov dword [edi + 0x6c], eax
mov dword [edi + 0x70], ebx
mov ecx, dword [edx + 0x6c]
mov edx, dword [edx + 0x68]
cmp ecx, edx
je 0x6b37e0
lea ebx, [edx + 0xc]
sub ecx, ebx
shr ecx, 2
imul ecx, ecx, 0x2aaaaaab
lea ecx, [ecx + ecx*2]
lea ebx, [eax + ecx*4 + 0xc]
test eax, eax
je 0x6b390a
mov ecx, dword [edx]
add eax, 0xc
add edx, 0xc
mov dword [eax - 0xc], ecx
mov ecx, dword [edx - 8]
mov dword [eax - 8], ecx
mov ecx, dword [edx - 4]
mov dword [eax - 4], ecx
cmp ebx, eax
jne 0x6b35c1
mov dword [ebp - 0x2c], edi
mov dword [edi + 0x6c], ebx
mov ebx, dword [ebp - 0x30]
lea esi, [edi + 0x74]
mov dword [edi + 0x74], 0
mov ecx, esi
mov eax, dword [ebx + 0x78]
mov dword [edi + 0x7c], 0
mov dword [edi + 0x78], eax
mov eax, dword [ebx + 0x80]
mov dword [edi + 0x80], eax
mov eax, dword [ebx + 0x84]
mov edx, dword [ebx + 0x88]
mov dword [edi + 0x8c], 0
mov dword [edi + 0x84], eax
lea eax, [ebp - 0x1c]
mov dword [edi + 0x88], edx
mov dword [ebp - 0x1c], esi
mov dword [esp + 4], eax
lea eax, [ebx + 0x74]
mov dword [esp], eax
call fcn.00689c90
mov ecx, ebx
mov ebx, dword [ebx + 0x94]
sub esp, 8
sub ebx, dword [ecx + 0x90]
mov dword [edi + 0x90], 0
mov dword [edi + 0x94], 0
mov dword [edi + 0x98], 0
xor edi, edi
test ebx, ebx
jne 0x6b3710
mov eax, dword [ebp - 0x2c]
add ebx, edi
mov dword [eax + 0x90], edi
mov dword [eax + 0x94], edi
mov dword [eax + 0x98], ebx
mov eax, dword [ebp - 0x30]
xor ebx, ebx
mov edx, dword [eax + 0x90]
mov eax, dword [eax + 0x94]
mov dword [ebp - 0x3c], eax
sub eax, edx
je 0x6b36c3
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov ebx, eax
mov dword [esp], edi
call sub.msvcrt.dll_memmove
mov ecx, dword [ebp - 0x2c]
lea eax, [edi + ebx]
mov dword [ecx + 0x94], eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x9c]
mov dword [ecx + 0x9c], eax
add dword [ebp - 0x30], 0xa0
add dword [ebp - 0x2c], 0xa0
mov eax, dword [ebp - 0x30]
cmp eax, dword [ebp - 0x38]
jne 0x6b3254
mov edx, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov ebx, edx
add eax, dword [edx]
jmp 0x6b2991
mov dword [esp], ebx
call fcn.006fec40
mov edi, eax
jmp 0x6b3682
mov esi, dword [ebp - 0x44]
lea edx, [ebx + esi]
cmp ebx, edx
jne 0x6b3850
cmp dword [ebp - 0x38], edx
je 0x6b31b9
mov eax, dword [ebp - 0x38]
mov dword [esp + 4], edx
mov dword [esp], ecx
sub eax, edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memmove
mov eax, dword [ebp - 0x30]
add eax, dword [edi]
jmp 0x6b31bc
test edx, edx
je 0x6b377d
cmp edx, 0xfffffff
ja 0x6b3a5d
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
call fcn.006fec40
mov edx, eax
cmp dword [ebp - 0x38], ebx
je 0x6b379b
mov eax, dword [ebp - 0x30]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [ebp - 0x38], edx
mov dword [esp + 8], eax
call sub.msvcrt.dll_memmove
mov edx, dword [ebp - 0x38]
mov eax, dword [edi]
test eax, eax
je 0x6b37af
mov dword [esp], eax
mov dword [ebp - 0x38], edx
call fcn.006febf0
mov edx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x30]
mov dword [edi], edx
add eax, edx
mov dword [edi + 8], eax
jmp 0x6b31bc
mov dword [esp], ebx
call fcn.006fec40
mov edi, eax
jmp 0x6b2e02
mov ebx, eax
mov edx, esi
jmp 0x6b3417
mov ebx, eax
jmp 0x6b35e7
mov ebx, eax
mov ecx, esi
jmp 0x6b354a
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov ecx, dword [edi + 0x54]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [edi + 0x50]
mov edx, ecx
sub edx, eax
add edx, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x3c], ebx
cmp dword [ebp - 0x3c], edx
je 0x6b2768
jmp 0x6b3077
mov esi, dword [ebp - 0x30]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], esi
call sub.msvcrt.dll_memmove
mov eax, dword [edi]
add eax, esi
jmp 0x6b31bc
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov ecx, dword [edi + 4]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [edi]
mov edx, ecx
sub edx, eax
add edx, dword [ebx]
mov ebx, dword [ebx + 4]
mov dword [ebp - 0x38], ebx
cmp dword [ebp - 0x38], edx
je 0x6b31b9
jmp 0x6b3737
mov esi, dword [ebp - 0x38]
mov dword [esp + 4], ebx
mov dword [esp], eax
mov dword [esp + 8], esi
call sub.msvcrt.dll_memmove
mov eax, dword [edi + 0x50]
add eax, esi
jmp 0x6b276b
xor esi, esi
mov eax, edx
jmp 0x6b345d
mov ebx, eax
jmp 0x6b2d67
mov ebx, eax
mov ecx, esi
jmp 0x6b2cca
mov ebx, eax
mov ecx, esi
jmp 0x6b2b97
add edx, 0x84
cmp ebx, 0x84
je 0x6b3412
mov eax, 0x84
jmp 0x6b33f8
add edx, 0x10
cmp ebx, edx
je 0x6b3309
mov ecx, 0x10
jmp 0x6b32e8
add edx, 0xc
cmp ebx, 0xc
je 0x6b35e4
mov eax, 0xc
jmp 0x6b35c9
add edx, 0x18
cmp ebx, 0x18
je 0x6b3545
mov eax, 0x18
jmp 0x6b3518
xor esi, esi
mov eax, ecx
jmp 0x6b2bdd
mov eax, dword [ebp - 0x40]
mov ebx, dword [ebp - 0x34]
add eax, edi
jmp 0x6b2991
add edx, 0xc
cmp ebx, 0xc
je 0x6b2d64
mov eax, 0xc
jmp 0x6b2d49
add edx, 0x18
cmp ebx, 0x18
je 0x6b2cc5
mov eax, 0x18
jmp 0x6b2c98
add edx, 0x84
cmp ebx, 0x84
je 0x6b2b92
mov eax, 0x84
jmp 0x6b2b78
add edx, 0x10
cmp ebx, edx
je 0x6b2a89
mov ecx, 0x10
jmp 0x6b2a68
mov dword [ebp - 0x44], 0
jmp 0x6b29c2
call fcn.006e4260
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x50]
test eax, eax
je 0x6b39ce
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x6b39e0
mov dword [esp], eax
call fcn.006febf0
mov ecx, dword [ebp - 0x3c]
call fcn.0068a400
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x6b39fa
mov dword [esp], eax
call fcn.006febf0
mov eax, ebx
mov dword [esp], eax
call fcn.006fee20
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x44]
mov esi, eax
cmp ebx, esi
je 0x6b3b56
mov ecx, ebx
add ebx, 0xa0
call fcn.005f8a40
jmp 0x6b3a0c
call fcn.006e4260
jmp 0x6b39fc
call fcn.006e4260
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x6b39bc
mov dword [esp], eax
call fcn.006febf0
jmp 0x6b39bc
call fcn.006e4260
mov ebx, eax
jmp 0x6b39e0
call fcn.006e4260
mov ebx, eax
jmp 0x6b39ce
call fcn.006e4260
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x68]
test eax, eax
je 0x6b3a31
mov dword [esp], eax
call fcn.006febf0
jmp 0x6b3a31
call fcn.006e4260
mov ebx, eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x68]
test eax, eax
je 0x6b3a91
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x5c]
test eax, eax
je 0x6b3aa3
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x50]
test eax, eax
je 0x6b3ab5
mov dword [esp], eax
call fcn.006febf0
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x44]
test eax, eax
je 0x6b3ac7
mov dword [esp], eax
call fcn.006febf0
mov ecx, dword [ebp - 0x3c]
call fcn.0068a400
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x1c]
test eax, eax
je 0x6b3ae1
mov dword [esp], eax
call fcn.006febf0
mov eax, ebx
mov dword [esp], eax
call fcn.006fee20
mov eax, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x44]
mov esi, eax
cmp ebx, esi
je 0x6b3b5b
mov ecx, ebx
add ebx, 0xa0
call fcn.005f8a40
jmp 0x6b3af3
call fcn.006e4260
mov ebx, eax
jmp 0x6b3ac7
call fcn.006e4260
mov ebx, eax
jmp 0x6b3aa3
call fcn.006e4260
mov ebx, eax
jmp 0x6b3a91
call fcn.006e4260
jmp 0x6b3ae3
call fcn.006ff360
call fcn.006ff360
mov ebx, eax
call fcn.006ff010
mov dword [esp], ebx
call fcn.005e6130
mov ebx, eax
call fcn.006ff010
mov dword [esp], ebx
call fcn.006fee20
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x6b3b8d
mov dword [esp], eax
call fcn.006febf0
call fcn.006ff360
mov ebx, eax
call fcn.006ff010
mov dword [esp], ebx
call fcn.005e6130
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop