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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x1e0
mov edi, edx
mov ebx, ecx
cmp edx, 0x15
jae 0x10063657
mov esi, edi
mov edx, ebx
cmp esi, 1
jbe 0x1006364f
mov ecx, edx
mov edx, esi
push 1
call fcn.10063210
add esp, 4
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov byte [esp + 0xf], 1
mov byte [esp + 3], 1
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
movzx eax, byte [esp + 3]
mov edx, ebx
mov dword [esp + 0x24], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x30], ebx
and al, byte [esp + 0xf]
mov byte [esp + 3], al
nop word [eax + eax]
cmp dword [esp + 0x34], 0
je 0x10063d4a
test byte [esp + 0xf], 1
mov dword [esp + 0x1c], edx
je 0x10063c4b
mov eax, dword [esp + 0x24]
mov ebx, eax
shr ebx, 2
cmp eax, 0x31
lea ecx, [ebx + ebx]
lea esi, [ebx + ebx*2]
mov dword [esp + 8], ecx
mov dword [esp + 0x28], esi
jbe 0x10063710
imul ecx, ebx, 0xd0
mov edi, edx
mov esi, dword [edx + ecx + 0x7c]
mov eax, dword [edx + ecx + 0x78]
mov edx, esi
mov esi, dword [edi + ecx - 0x58]
mov edi, dword [edi + ecx - 0x54]
mov ecx, edx
cmp eax, esi
sbb ecx, edi
lea ecx, [ebx - 1]
jae 0x10063720
mov dword [esp + 4], 1
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x20], ecx
mov dword [esp + 0x10], ebx
jmp 0x1006373c
mov dword [esp + 4], 0
jmp 0x100638e8
mov dword [esp + 0x14], esi
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], ebx
mov esi, eax
mov edi, edx
mov dword [esp + 4], 0
mov dword [esp + 0x10], ecx
inc ebx
imul eax, ebx, 0xd0
mov ecx, ebx
mov ebx, dword [esp + 0x1c]
mov edx, dword [ebx + eax + 0x78]
mov eax, dword [ebx + eax + 0x7c]
cmp edx, esi
mov dword [esp + 0x2c], edx
mov edx, eax
sbb eax, edi
cmovb esi, dword [esp + 0x2c]
cmovae ecx, dword [esp + 0x20]
cmovb edi, edx
setb al
movzx edx, al
cmp esi, dword [esp + 0x14]
sbb edi, dword [esp + 0x18]
setb al
adc edx, dword [esp + 4]
test al, al
cmovne ecx, dword [esp + 0x10]
mov dword [esp + 4], edx
mov edx, dword [esp + 8]
mov dword [esp + 0x18], ecx
imul ecx, edx, 0xd0
mov esi, dword [ebx + ecx + 0x7c]
mov eax, dword [ebx + ecx + 0x78]
mov edi, dword [ebx + ecx - 0x58]
mov ebx, dword [ebx + ecx - 0x54]
cmp eax, edi
mov ecx, esi
sbb ecx, ebx
lea ecx, [edx - 1]
jae 0x100637d0
inc dword [esp + 4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edx
jmp 0x100637e4
mov dword [esp + 0x10], edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x2c], edx
mov edi, eax
mov ebx, esi
mov dword [esp + 0x20], ecx
or edx, 1
imul eax, edx, 0xd0
mov ecx, edx
mov edx, dword [esp + 0x1c]
mov esi, dword [edx + eax + 0x78]
mov eax, dword [edx + eax + 0x7c]
cmp esi, edi
mov dword [esp + 8], esi
mov esi, eax
sbb eax, ebx
cmovb edi, dword [esp + 8]
cmovae ecx, dword [esp + 0x2c]
cmovb ebx, esi
setb al
movzx esi, al
cmp edi, dword [esp + 0x10]
mov edi, dword [esp + 0x28]
sbb ebx, dword [esp + 0x14]
setb al
adc esi, dword [esp + 4]
test al, al
cmovne ecx, dword [esp + 0x20]
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
imul ecx, edi, 0xd0
mov esi, dword [edx + ecx + 0x7c]
mov eax, dword [edx + ecx + 0x78]
mov ebx, dword [edx + ecx - 0x58]
mov edx, dword [edx + ecx - 0x54]
cmp eax, ebx
mov ecx, esi
sbb ecx, edx
lea ecx, [edi - 1]
jae 0x10063880
inc dword [esp + 4]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], esi
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x20], edi
jmp 0x10063894
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edx
mov dword [esp + 0x2c], edi
mov ebx, eax
mov edx, esi
mov dword [esp + 0x20], ecx
mov esi, dword [esp + 0x1c]
inc edi
imul eax, edi, 0xd0
mov ecx, dword [esi + eax + 0x78]
mov eax, dword [esi + eax + 0x7c]
cmp ecx, ebx
mov dword [esp + 0x28], ecx
mov ecx, eax
sbb eax, edx
cmovb ebx, dword [esp + 0x28]
cmovae edi, dword [esp + 0x2c]
cmovb edx, ecx
setb al
movzx ecx, al
cmp ebx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
sbb edx, dword [esp + 0x10]
mov edx, esi
setb al
adc ecx, dword [esp + 4]
test al, al
cmovne edi, dword [esp + 0x20]
mov dword [esp + 4], ecx
mov dword [esp + 0x28], edi
imul ecx, dword [esp + 8], 0xd0
mov dword [esp + 0x18], ebx
mov eax, dword [edx + ecx + 0x78]
mov esi, dword [edx + ecx + 0x7c]
imul ecx, ebx, 0xd0
mov ebx, dword [edx + ecx + 0x78]
mov edi, dword [edx + ecx + 0x7c]
mov ecx, esi
cmp eax, ebx
sbb ecx, edi
jae 0x10063930
mov ecx, dword [esp + 4]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], esi
inc ecx
mov dword [esp + 0x20], eax
jmp 0x10063950
mov ecx, dword [esp + 8]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], edi
mov ebx, eax
mov edi, esi
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x18]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 4]
imul esi, dword [esp + 0x28], 0xd0
mov eax, dword [edx + esi + 0x78]
mov edx, dword [edx + esi + 0x7c]
cmp eax, ebx
mov esi, edx
mov dword [esp + 0x18], eax
mov eax, edx
sbb esi, edi
mov esi, dword [esp + 0x20]
setb dl
adc ecx, 0
test dl, dl
cmovne esi, dword [esp + 0x28]
test dl, dl
cmovne edi, eax
test dl, dl
cmovne ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x14]
sbb edi, dword [esp + 0x10]
jae 0x100639b0
mov ebx, dword [esp + 0x24]
mov eax, 1
cmp ecx, 0xb
jae 0x100639e0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 8]
jmp 0x100639bc
mov eax, ecx
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x24]
mov edx, esi
lea edi, [esp + 0x40]
test eax, eax
sete al
test byte [esp + 3], al
je 0x10063a64
jmp 0x10063c63
mov esi, ebx
imul eax, ebx, 0xd0
mov ebx, dword [esp + 0x1c]
shr esi, 1
lea edi, [ebx + eax - 0xd0]
nop word cs:[eax + eax]
nop
push 0xd0
push ebx
lea eax, [esp + 0x48]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xd0
push edi
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xd0
lea eax, [esp + 0x44]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add ebx, 0xd0
add edi, 0xffffff30
dec esi
jne 0x10063a00
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x1c]
mov al, 1
lea edi, [esp + 0x40]
not edx
add edx, ebx
test byte [esp + 3], al
jne 0x10063c63
cmp dword [esp + 0x38], 0
je 0x10063c80
cmp edx, ebx
jae 0x10063d5a
mov dword [esp + 0x24], ebx
imul esi, edx, 0xd0
mov ebx, edx
mov edx, dword [esp + 0x38]
mov eax, dword [edx + 0x78]
mov edx, dword [edx + 0x7c]
cmp eax, dword [ecx + esi + 0x78]
sbb edx, dword [ecx + esi + 0x7c]
jb 0x10063c90
add esi, ecx
push 0xd0
push ecx
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xd0
push esi
push dword [esp + 0x24]
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push 0xd0
push edi
push esi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
lea eax, [edx + 0xd0]
mov ecx, 0x1e
lea edi, [esp + 0x160]
mov esi, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x24]
rep movsd dword es:[edi], dword [esi]
lea esi, [edx + 0x80]
mov ecx, 0x14
lea edi, [esp + 0x110]
mov dword [esp + 0x14], esi
lea ebx, [eax - 1]
mov eax, dword [edx + 0x78]
mov dword [esp + 8], eax
mov eax, dword [edx + 0x7c]
mov dword [esp + 0x28], eax
lea eax, [edx + 0x148]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x10], eax
xor esi, esi
cmp esi, ebx
jae 0x10063b5b
imul eax, esi, 0xd0
add eax, dword [esp + 0x10]
nop word cs:[eax + eax]
nop dword [eax]
mov ecx, dword [esp + 8]
mov edi, dword [esp + 0x28]
cmp ecx, dword [eax]
sbb edi, dword [eax + 4]
jb 0x10063b5b
inc esi
add eax, 0xd0
cmp ebx, esi
jne 0x10063b40
mov esi, ebx
imul eax, ebx, 0xd0
add eax, dword [esp + 0x18]
nop word cs:[eax + eax]
nop
dec ebx
cmp esi, ebx
jae 0x10063bf0
mov ecx, dword [esp + 8]
lea edi, [eax - 0xd0]
cmp ecx, dword [eax - 0x58]
mov ecx, dword [esp + 0x28]
sbb ecx, dword [eax - 0x54]
mov eax, edi
jb 0x10063b70
mov dword [esp + 4], esi
imul esi, dword [esp + 4], 0xd0
add esi, dword [esp + 0x18]
push 0xd0
push esi
lea eax, [esp + 0x48]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
push 0xd0
push edi
push esi
mov esi, dword [esp + 0x10]
call sub.VCRUNTIME140.dll_memmove
add esp, 0xc
push 0xd0
lea eax, [esp + 0x44]
push eax
push edi
call sub.VCRUNTIME140.dll_memcpy
mov edx, dword [esp + 0x28]
add esp, 0xc
inc esi
cmp esi, ebx
jb 0x10063b28
jmp 0x10063b5b
mov ebx, esi
mov ecx, 0x1e
mov edi, edx
lea esi, [esp + 0x160]
rep movsd dword es:[edi], dword [esi]
mov ecx, 0x14
lea esi, [esp + 0x110]
inc ebx
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov dword [edx + 0x7c], eax
mov eax, dword [esp + 8]
mov dword [edx + 0x78], eax
rep movsd dword es:[edi], dword [esi]
mov eax, dword [esp + 0x24]
mov esi, eax
sub esi, ebx
jb 0x10063d66
imul eax, ebx, 0xd0
mov dword [esp + 0x24], esi
add edx, eax
cmp esi, 0x15
jae 0x10063690
jmp 0x1006363c
mov ecx, edx
mov edx, dword [esp + 0x24]
call fcn.1010ed30
mov edx, dword [esp + 0x1c]
dec dword [esp + 0x34]
jmp 0x100636aa
mov esi, edx
mov edx, ebx
call fcn.1010f6b0
mov ecx, dword [esp + 0x1c]
mov edx, esi
test al, al
je 0x10063a64
jmp 0x1006364f
mov ebx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x30]
mov eax, edx
jmp 0x10063c96
mov eax, ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x30], ecx
mov edx, ebx
push eax
call fcn.10064a10
add esp, 4
mov byte [esp + 3], dl
mov esi, eax
mov edx, ebx
mov ecx, ebx
sub edx, esi
cmp esi, edx
cmovb edx, esi
shr ecx, 3
cmp edx, ecx
setae byte [esp + 0xf]
sub ebx, esi
jb 0x10063da9
je 0x10063d72
mov ecx, dword [esp + 0x30]
mov eax, ebx
imul ebx, esi, 0xd0
mov edi, eax
dec edi
add ebx, ecx
cmp esi, edi
lea edx, [ebx + 0xd0]
jae 0x10063d20
mov dword [esp + 8], edx
mov edx, esi
push dword [esp + 0x34]
push dword [esp + 0x3c]
push dword [ebp + 8]
call fcn.10063620
add esp, 0xc
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 8]
mov esi, edi
cmp esi, 0x15
mov edx, ebx
jae 0x1006366f
jmp 0x1006363c
mov ecx, edx
mov edx, edi
push dword [esp + 0x34]
push ebx
push dword [ebp + 8]
call fcn.10063620
add esp, 0xc
mov ebx, dword [esp + 0x30]
mov edi, esi
cmp esi, 0x15
mov edx, ebx
jae 0x1006366f
jmp 0x1006363c
mov ecx, edx
mov edx, dword [esp + 0x24]
call fcn.1010ff20
jmp 0x1006364f
push 0x1012d04c
push ebx
push edx
call fcn.10113f90
push 0x1012d05c
push eax
push ebx
call fcn.101141d0
mov dword [esp + 0x40], 0x1012cff4
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 4
mov dword [esp + 0x4c], 0
push 0x1012d07c
lea eax, [esp + 0x44]
push eax
call fcn.10113e20
mov dword [esp + 0x40], 0x1012cff4
mov dword [esp + 0x44], 1
mov dword [esp + 0x50], 0
mov dword [esp + 0x48], 4
mov dword [esp + 0x4c], 0
push 0x1012d06c
push edi
call fcn.10113e20
int3