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

Disassembly:
sub esp, 0x70
push ebx
push ebp
push esi
mov esi, dword [esp + 0x80]
xor eax, eax
push edi
xor ebx, ebx
mov dword [esp + 0x30], eax
push esi
mov dword [esp + 0x2c], ebx
call fcn.100047b0
push esi
call fcn.10008df0
push esi
call fcn.10009210
add esp, 0xc
test dword [esi + 0x738], 0x1000
je 0x10006d66
cmp byte [0xc2820f1], bl
jne 0x10006d2b
cmp byte [0xc2820f0], 1
jne 0x10006d2b
push 0xffffe422
push esi
push ebx
call fcn.10005bf0
add esp, 0xc
push esi
call fcn.10006900
add esp, 4
test byte [esi + 0x4e0], 4
je 0x10006d66
cmp byte [0xc2820f0], 0x10
jne 0x10006d66
mov al, byte [0xc2820db]
shr al, 1
mov byte [0xc2820db], al
cmp byte [esi + 9], 4
jb 0x10006d60
mov byte [esi + 0x73f], al
jmp 0x10006d66
mov byte [esi + 0x741], al
mov ecx, dword [esi + 0x4bc]
test ecx, ecx
je 0x10006d80
mov eax, dword [esi + 0x74c]
add eax, ecx
cmp dword [esi + 0x4c8], eax
jae 0x10006dc3
push 7
push esi
call fcn.10005ab0
mov ecx, dword [esi + 0x4bc]
add esp, 8
test ecx, ecx
je 0x10006dac
mov eax, dword [esi + 0x74c]
add eax, ecx
cmp dword [esi + 0x4c8], eax
jb 0x10006dac
mov eax, 1
jmp 0x10006dae
xor eax, eax
push 0xfffffa14
push esi
push eax
call fcn.10005bf0
push esi
call fcn.10008df0
add esp, 0x10
mov eax, dword [0xc2820e4]
imul eax, dword [0xc2820e0]
mov dword [esi + 0x75c], eax
mov edi, dword [0xc282120]
add edi, 0x10
mov dword [0xc282124], eax
push edi
call fcn.10006160
mov ebp, eax
push edi
mov dword [esp + 0x48], ebp
call fcn.10006160
add esp, 8
mov ebx, eax
mov dword [esp + 0x44], ebx
test ebp, ebp
je 0x10006e0d
test ebx, ebx
je 0x10006e0d
mov eax, 1
jmp 0x10006e0f
xor eax, eax
push 0xfffffc11
push esi
push eax
call fcn.10005bf0
lea eax, [ebp + 8]
push edi
mov dword [esp + 0x24], eax
lea eax, [ebx + 8]
push 0
push ebp
mov dword [esp + 0x4c], eax
call fcn.100046a1
xorps xmm0, xmm0
add esp, 0x18
movq qword [ebx], xmm0
cmp byte [esi + 0x794], 0
mov al, byte [0xc2820db]
je 0x10006ee5
mov ecx, dword [esi + 0x4e0]
test cl, 4
je 0x10006e66
cmp dword [esi + 0x754], 8
jae 0x10006e66
cmp al, 8
jb 0x10006e6f
test cl, 1
je 0x10006ee5
cmp al, 8
jae 0x10006e76
mov ecx, 1
jmp 0x10006e7c
movzx ecx, al
shr ecx, 3
mov eax, dword [0xc2820e8]
mov edi, dword [0xc282104]
imul eax, ecx
mov dword [0xc282108], ecx
add eax, 7
imul edi, eax
mov dword [0xc28210c], eax
push edi
call fcn.10006160
mov ebp, eax
xor eax, eax
push 0xfffffc11
test ebp, ebp
mov dword [esp + 0x18], ebp
push esi
setne al
mov dword [esp + 0x34], ebp
push eax
call fcn.10005bf0
push edi
push 0
push ebp
call fcn.100046a1
add esp, 0x1c
test byte [esi + 0x4d0], 2
je 0x10006eda
lea ebx, [edi + ebp]
mov dword [esp + 0x28], ebx
test ebp, ebp
jne 0x10006f13
mov al, byte [0xc2820db]
jmp 0x10006eed
mov dword [esp + 0x10], 0
test byte [esi + 0x4e0], 1
je 0x10006f13
movzx eax, al
imul eax, dword [0xc2820e8]
add eax, 7
shr eax, 3
push eax
call fcn.10006160
add esp, 4
mov dword [esp + 0x30], eax
push esi
call 0x1000d950
push 0x38
lea eax, [esp + 0x50]
mov dword [esp + 0x50], 0
push 0xc2818e8
push eax
mov dword [esp + 0x5c], 0
mov dword [esp + 0x78], 0xc275d80
mov dword [esp + 0x7c], 0xc276c20
mov dword [esp + 0x80], 0
call fcn.10001dc0
mov ecx, eax
add esp, 0x10
cmp ecx, 0xfffffffc
jne 0x10006f66
mov ecx, 0xfffffc11
jmp 0x10006f71
cmp ecx, 0xfffffffa
mov eax, 0xfffff8eb
cmove ecx, eax
xor eax, eax
test ecx, ecx
push ecx
sete al
push esi
push eax
call fcn.10005bf0
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0x2c]
push eax
push esi
call fcn.10009110
mov ebx, dword [esp + 0x2c]
add esp, 0x18
cmp byte [esi + 0x794], 0
mov edi, 1
mov eax, 8
cmove edi, eax
mov dword [esp + 0x24], edi
nop
push dword [0xc282120]
push 0
push ebx
call fcn.100046a1
mov edx, dword [edi*4 + 0xc281860]
add esp, 0xc
add edx, dword [0xc2820e8]
mov ecx, dword [edi*4 + 0xc281884]
mov eax, dword [esi + 0x754]
mov ebp, dword [edi*4 + 0xc28185c]
add ebp, dword [0xc2820ec]
shr edx, cl
mov ecx, dword [edi*4 + 0xc281880]
imul eax, edx
shr ebp, cl
xor ecx, ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x20], ebp
mov dword [esp + 0x3c], ecx
add eax, 7
shr eax, 3
mov dword [esp + 0x18], eax
test ebp, ebp
je 0x10007295
mov edx, ebp
jmp 0x10007020
mov ebp, ecx
mov ecx, dword [edi*4 + 0xc281880]
shl ebp, cl
sub ebp, dword [0xc2820fc]
add ebp, dword [edi*4 + 0xc2818a4]
test eax, eax
je 0x10007284
mov ecx, dword [esp + 0x34]
inc eax
push esi
mov dword [esp + 0x18], ecx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
call fcn.10004d29
add esp, 4
mov edi, edi
cmp dword [esp + 0x4c], 0
jne 0x10007082
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.100079f0
mov dword [esp + 0x54], eax
add esp, 8
mov eax, dword [0xc282110]
mov dword [esp + 0x48], eax
lea eax, [esp + 0x48]
push 2
push eax
call fcn.10001ed0
xor ecx, ecx
test eax, eax
push 0xfffff8ea
setns cl
push esi
push ecx
call fcn.10005bf0
add esp, 0x14
cmp dword [esp + 0x58], 0
jne 0x10007060
push ebx
mov ebx, dword [esp + 0x18]
push ebx
push dword [esp + 0x20]
push dword [esi + 0x750]
call fcn.100076f0
add esp, 0x10
test ebp, ebp
js 0x1000727c
cmp ebp, dword [0xc282104]
jae 0x1000727c
movzx ebx, byte [0xc2820db]
mov edx, dword [esp + 0x28]
add ebx, 7
sar ebx, 3
test edx, edx
je 0x10007150
test byte [esi + 0x4d0], 2
mov ecx, dword [0xc282108]
je 0x10007126
mov edi, dword [edi*4 + 0xc2818a8]
lea eax, [ebp + 1]
imul eax, dword [0xc28210c]
imul edi, ecx
sub edi, eax
add edi, edx
mov edx, dword [esp + 0x24]
mov ebx, dword [edx*4 + 0xc2818c8]
imul ebx, ecx
jmp 0x10007203
mov eax, dword [edi*4 + 0xc2818a8]
mov edi, dword [0xc28210c]
imul eax, ecx
imul edi, ebp
add eax, edx
mov edx, dword [esp + 0x24]
add edi, eax
mov ebx, dword [edx*4 + 0xc2818c8]
imul ebx, ecx
jmp 0x10007203
cmp byte [esi + 0x794], 0
jne 0x100071c6
test byte [esi + 0x4d0], 2
je 0x1000719b
mov eax, dword [esi + 0x4bc]
mov ecx, dword [0xc2820e4]
add eax, ecx
cmp dword [esi + 0x4c4], eax
jae 0x10007189
push 0
push esi
call fcn.100092f0
mov ecx, dword [0xc2820e4]
add esp, 8
sub dword [esi + 0x4c4], ecx
mov edi, dword [esi + 0x4c4]
mov edx, dword [esp + 0x24]
jmp 0x10007203
mov eax, dword [esi + 0x4c4]
add eax, dword [0xc2820e4]
cmp eax, dword [esi + 0x4c8]
jbe 0x100071ba
push 0
push esi
call fcn.100092f0
add esp, 8
mov edi, dword [esi + 0x4c4]
mov edx, dword [esp + 0x24]
jmp 0x10007203
mov edi, dword [edi*4 + 0xc2818a8]
imul edi, ebx
test byte [esi + 0x4d0], 2
je 0x100071e7
lea eax, [ebp + 1]
imul eax, dword [0xc2820e4]
sub edi, eax
jmp 0x100071f1
mov eax, dword [0xc2820e4]
imul eax, ebp
add edi, eax
mov edx, dword [esp + 0x24]
add edi, dword [esi + 0x4c4]
imul ebx, dword [edx*4 + 0xc2818c8]
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0x30]
inc eax
push ebx
mov ebx, dword [esp + 0x2c]
test ebp, ebp
je 0x10007238
push ebp
push ebx
push eax
push dword [esp + 0x48]
push dword [esp + 0x2c]
push edx
push esi
call fcn.100093c0
push ebp
push edi
push esi
call fcn.10006b90
mov edi, dword [esp + 0x50]
add esp, 0x2c
jmp 0x10007251
push edi
mov edi, dword [esp + 0x2c]
push ebx
push eax
push dword [esp + 0x48]
push dword [esp + 0x2c]
push edi
push esi
call fcn.100093c0
add esp, 0x20
test ebx, ebx
mov ebx, dword [esp + 0x14]
jne 0x1000727c
cmp byte [esi + 0x794], 0
jne 0x1000727c
test byte [esi + 0x4d0], 2
mov edx, dword [esp + 0x20]
jne 0x10007280
mov eax, dword [0xc2820e4]
add dword [esi + 0x4c4], eax
jmp 0x10007280
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, edx
jb 0x10007020
inc edi
mov dword [esp + 0x24], edi
cmp edi, 8
jl 0x10006fb0
push 0xfffff8e9
lea eax, [esp + 0x4c]
push esi
push eax
call fcn.100035d0
add esp, 4
neg eax
sbb eax, eax
inc eax
push eax
call fcn.10005bf0
add esp, 0xc
cmp byte [esi + 0x794], 0
je 0x1000753e
mov ebx, dword [esp + 0x10]
test ebx, ebx
jne 0x100072ff
mov eax, dword [0xc2820e4]
mov ebp, ebx
imul eax, dword [0xc2820e0]
test byte [esi + 0x4d0], 2
je 0x100073e5
sub dword [esi + 0x4c4], eax
jmp 0x10007542
test byte [esi + 0x4d0], 2
je 0x1000731a
mov eax, dword [0xc2820e4]
imul eax, dword [0xc2820e0]
sub dword [esi + 0x4c4], eax
mov al, byte [0xc2820db]
mov edi, dword [esi + 0x4c4]
cmp al, 1
jne 0x100073f0
xor ebp, ebp
cmp dword [0xc282104], ebp
jle 0x100073c8
mov edx, dword [0xc282100]
mov esi, dword [0xc282104]
lea edx, [edx + 7]
shr edx, 3
lea ecx, [ecx]
mov eax, dword [0xc2820f8]
mov ecx, ebp
imul eax, dword [0xc282108]
imul ecx, dword [0xc28210c]
add eax, ebx
xor ebx, ebx
add ecx, eax
test edx, edx
jle 0x100073b2
nop
mov al, byte [ecx]
lea ecx, [ecx + 8]
add al, al
or al, byte [ecx - 7]
add al, al
or al, byte [ecx - 6]
add al, al
or al, byte [ecx - 5]
add al, al
or al, byte [ecx - 4]
add al, al
or al, byte [ecx - 3]
add al, al
or al, byte [ecx - 2]
add al, al
or al, byte [ecx - 1]
mov byte [ebx + edi], al
inc ebx
mov edx, dword [0xc282100]
lea edx, [edx + 7]
shr edx, 3
cmp ebx, edx
jl 0x10007370
mov esi, dword [0xc282104]
add edi, dword [0xc2820e4]
inc ebp
mov ebx, dword [esp + 0x10]
cmp ebp, esi
jl 0x10007350
mov esi, dword [esp + 0x84]
mov ebp, dword [esp + 0x10]
test byte [esi + 0x4d0], 2
jne 0x10007542
mov eax, dword [0xc2820e4]
imul eax, dword [0xc2820e0]
add dword [esi + 0x4c4], eax
jmp 0x10007542
cmp al, 2
jne 0x10007468
xor ebp, ebp
cmp dword [0xc282104], ebp
jle 0x100073c8
mov edx, dword [0xc282100]
mov esi, dword [0xc282104]
lea edx, [edx + 1]
shr edx, 1
nop
mov eax, dword [0xc2820f8]
mov ecx, ebp
imul eax, dword [0xc282108]
imul ecx, dword [0xc28210c]
add eax, ebx
xor ebx, ebx
add ecx, eax
test edx, edx
jle 0x10007454
nop
mov al, byte [ecx]
lea ecx, [ecx + 2]
shl al, 4
or al, byte [ecx - 1]
mov byte [ebx + edi], al
inc ebx
mov edx, dword [0xc282100]
lea edx, [edx + 1]
shr edx, 1
cmp ebx, edx
jl 0x10007430
mov esi, dword [0xc282104]
add edi, dword [0xc2820e4]
inc ebp
mov ebx, dword [esp + 0x10]
cmp ebp, esi
jl 0x10007410
jmp 0x100073c1
cmp al, 4
jne 0x100074e8
xor ebp, ebp
cmp dword [0xc282104], ebp
jle 0x100073c8
mov edx, dword [0xc282100]
mov esi, dword [0xc282104]
lea edx, [edx + 1]
shr edx, 1
nop
mov eax, dword [0xc2820f8]
mov ecx, ebp
imul eax, dword [0xc282108]
imul ecx, dword [0xc28210c]
add eax, ebx
xor ebx, ebx
add ecx, eax
test edx, edx
jle 0x100074d4
nop
mov al, byte [ecx]
lea ecx, [ecx + 2]
shl al, 4
or al, byte [ecx - 1]
mov byte [ebx + edi], al
inc ebx
mov edx, dword [0xc282100]
lea edx, [edx + 1]
shr edx, 1
cmp ebx, edx
jl 0x100074b0
mov esi, dword [0xc282104]
add edi, dword [0xc2820e4]
inc ebp
mov ebx, dword [esp + 0x10]
cmp ebp, esi
jl 0x10007490
jmp 0x100073c1
mov ebp, dword [esp + 0x10]
xor ebx, ebx
cmp dword [0xc282104], ebx
jle 0x100073cc
lea ebx, [ebx]
mov ecx, dword [0xc2820f8]
mov eax, ebx
imul ecx, dword [0xc282108]
imul eax, dword [0xc28210c]
push dword [0xc2820e4]
add ecx, ebp
add eax, ecx
push eax
push edi
call fcn.100045dd
add edi, dword [0xc2820e4]
inc ebx
add esp, 0xc
cmp ebx, dword [0xc282104]
jl 0x10007500
jmp 0x100073cc
mov ebp, dword [esp + 0x10]
cmp dword [esp + 0x1c], 0
jbe 0x10007565
lea esp, [esp]
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.100079f0
add esp, 8
cmp dword [esp + 0x1c], 0
ja 0x10007550
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.10007830
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, dword [0xc2818f0]
je 0x10007677
cmp eax, dword [0xc2818f8]
jne 0x100075ae
cmp dword [esp + 0x1c], 0
je 0x10007654
lea eax, [esp + 0x1c]
push eax
push esi
call fcn.10008e70
add esp, 8
jmp 0x10007654
cmp eax, dword [0xc281900]
jne 0x100075cb
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.10006700
jmp 0x10007651
mov ecx, eax
and ecx, 0xff
cmp ecx, 0x41
jb 0x100075dd
cmp ecx, 0x5a
jbe 0x100075e7
cmp ecx, 0x61
jb 0x10007643
cmp ecx, 0x7a
ja 0x10007643
mov ecx, eax
shr ecx, 8
and ecx, 0xff
cmp ecx, 0x41
jb 0x100075fc
cmp ecx, 0x5a
jbe 0x10007606
cmp ecx, 0x61
jb 0x10007643
cmp ecx, 0x7a
ja 0x10007643
mov ecx, eax
shr ecx, 0x10
and ecx, 0xff
cmp ecx, 0x41
jb 0x1000761b
cmp ecx, 0x5a
jbe 0x10007625
cmp ecx, 0x61
jb 0x10007643
cmp ecx, 0x7a
ja 0x10007643
shr eax, 0x18
cmp eax, 0x41
jb 0x10007632
cmp eax, 0x5a
jbe 0x1000763c
cmp eax, 0x61
jb 0x10007643
cmp eax, 0x7a
ja 0x10007643
mov eax, 1
jmp 0x10007645
xor eax, eax
push 0xfffff8ed
push esi
push eax
call fcn.10005bf0
add esp, 0xc
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x20]
push eax
push esi
call fcn.10007830
mov eax, dword [esp + 0x38]
add esp, 0xc
cmp eax, dword [0xc2818f0]
jne 0x10007588
call fcn.100062c0
mov eax, dword [esi + 0x4c0]
cmp eax, dword [esi + 0x4c4]
je 0x10007695
push 1
push esi
call fcn.100092f0
add esp, 8
push dword [esp + 0x40]
call fcn.10006140
push dword [esp + 0x48]
call fcn.10006140
push ebp
call fcn.10006140
mov eax, dword [esp + 0x3c]
add esp, 0xc
test eax, eax
je 0x100076c1
push eax
call fcn.10006140
add esp, 4
push 1
push dword [esi + 0x498]
mov dword [esi + 0x494], 0x64
call fcn.100045a7
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x70
ret