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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x370
movzx eax, byte [ecx + 0x54]
test eax, eax
mov dword [esp + 8], ecx
je 0x6297667
cmp eax, 3
je 0x629786a
push 0x63132f4
push 0x23
push 0x6313310
call fcn.0630eaf0
mov dword [esp], edx
mov eax, dword [ecx + 0x20]
mov dword [ecx + 0x24], eax
lea esi, [esp + 0x80]
mov edi, ecx
mov ecx, esi
call fcn.062834c0
lea ebx, [esp + 0x358]
mov ecx, ebx
mov edx, esi
call fcn.0629476e
movdqu xmm0, xmmword [ebx]
movups xmm1, xmmword [0x6312b70]
movups xmmword [edi], xmm1
movdqu xmmword [edi + 0x10], xmm0
push 0x18
pop ecx
call fcn.06285195
mov edi, eax
lea eax, [0x630e7d8]
mov dword [esi], eax
lea eax, [esp + 0x80]
mov ecx, dword [eax]
mov dword [eax], 0x53a68bed
lea esi, [esp + 0x80]
push dword [esi]
push ecx
call fcn.062a42da
pop ecx
pop edx
and dword [esi], 0
xor edx, edx
mov bl, 1
push 4
pop ecx
test bl, 1
je 0x6297701
movzx esi, byte [edx + 0x63132bc]
or esi, 0x8b28500
xor esi, dword [eax + edx]
mov dword [esp + edx + 0x80], esi
xor ebx, ebx
mov edx, ecx
jmp 0x62976df
movzx ecx, byte [eax + 6]
movzx eax, word [eax + 4]
xor eax, 0x4123
lea esi, [esp + 0x80]
mov word [esi + 4], ax
xor cl, 0x76
mov byte [esi + 6], cl
mov eax, dword [esi]
mov dword [esp + 0x280], eax
mov eax, dword [esi + 3]
mov dword [esp + 0x283], eax
push 0
push 7
call fcn.062b1109
pop ecx
pop ecx
mov dword [esp + 0xc], eax
mov ebx, edx
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x283]
mov dword [edx], eax
mov dword [edx + 3], ecx
lea eax, [0x630d7ba]
mov dword [esi], eax
mov eax, dword [esi]
mov dword [esi], 0xf7138b88
lea esi, [esp + 0x80]
push dword [esi]
push eax
call fcn.062a4246
pop ecx
pop edx
pxor xmm0, xmm0
movq qword [esi], xmm0
and dword [esi + 8], 0
xor ecx, ecx
cmp ecx, 0xb
ja 0x629779f
mov edx, dword [ecx + 0x63132c3]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x80], edx
add ecx, 4
jmp 0x6297785
mov eax, dword [esp + 0x88]
lea esi, [esp + 0x150]
mov dword [esi + 8], eax
movsd xmm0, qword [esp + 0x80]
movsd qword [esi], xmm0
push 0xc
pop eax
push 0
push eax
call fcn.062b1109
pop ecx
pop ecx
movsd xmm0, qword [esi]
movsd qword [edx], xmm0
mov ecx, dword [esi + 8]
mov dword [edx + 8], ecx
mov ecx, dword [esp + 0xc]
mov dword [edi], ecx
mov dword [edi + 4], ebx
mov dword [edi + 8], 7
mov dword [edi + 0xc], eax
mov dword [edi + 0x10], edx
push 0xc
pop eax
mov dword [edi + 0x14], eax
push 0x63132e4
push 0x20
call fcn.06295000
pop ecx
pop ecx
mov ebx, dword [esp + 8]
mov dword [ebx + 0x28], eax
mov dword [ebx + 0x2c], edx
mov dword [esi], edi
mov dword [esi + 4], edi
add edi, 0x18
mov dword [esi + 8], 2
mov dword [esi + 0xc], edi
lea eax, [ebx + 0x28]
sub esp, 0x14
mov dword [esp + 0x10], eax
mov dword [esp + 4], esi
lea eax, [esp + 0x94]
mov dword [esp], eax
and dword [esp + 8], 0
call fcn.06283109
mov ecx, ebx
add esp, 0x14
mov eax, dword [esp + 0xa0]
mov dword [ebx + 0x50], eax
movups xmm0, xmmword [esp + 0x80]
movups xmm1, xmmword [esp + 0x90]
movups xmmword [ebx + 0x40], xmm1
movups xmmword [ebx + 0x30], xmm0
mov edx, dword [esp]
lea edi, [ecx + 0x30]
push edx
push edi
mov esi, ecx
call fcn.06283144
pop ecx
pop edx
test al, al
je 0x6297883
mov dl, 3
jmp 0x629818d
mov byte [esp + 7], al
mov ecx, edi
call fcn.06293fa1
mov eax, dword [esi + 0x28]
lea ecx, [esp + 0x80]
mov dword [ecx], eax
call fcn.06284119
lea eax, [esi + 0x2c]
mov dword [esp + 0x10], eax
lea eax, [esp + 0x1f0]
lea edi, [0x630dbe3]
push dword [esp + 0x10]
push eax
call fcn.062a3120
pop eax
pop ecx
cmp dword [esp + 0x1f0], 0x80000000
je 0x6297b87
mov ebx, dword [esp + 0x1f8]
mov dword [esp + 0x120], ebx
movq xmm0, qword [esp + 0x1f0]
movq qword [esp + 0x118], xmm0
mov esi, dword [esp + 0x11c]
push ebx
push esi
call fcn.062e1b60
pop ecx
pop ecx
test eax, eax
je 0x62979be
push edx
push eax
call fcn.062e1c90
pop ecx
pop ecx
test eax, eax
je 0x62979be
mov dword [esp], esi
push edx
push eax
lea esi, [esp + 0x88]
push esi
call fcn.062eab20
add esp, 0xc
lea ecx, [esp + 0x14]
mov edx, esi
call fcn.06285da4
mov ecx, esi
call fcn.06283a26
mov esi, dword [esp + 0x1c]
test esi, esi
je 0x62979d0
push ebx
push dword [esp + 4]
lea eax, [esp + 0x48]
push eax
call fcn.062a6b01
add esp, 0xc
mov dword [esp + 0x80], edi
lea ecx, [esp + 0x80]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x80], 0xebf0e2bd
push dword [esp + 0x80]
push eax
call fcn.062a3d4a
pop ecx
pop edx
pxor xmm0, xmm0
movq qword [esp + 0x80], xmm0
and dword [esp + 0x88], 0
xor ecx, ecx
cmp ecx, 0xb
ja 0x62979f2
mov edx, dword [ecx + 0x6313333]
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x80], edx
add ecx, 4
jmp 0x62979a4
and dword [esp + 0x14], 0
mov dword [esp + 0x18], 1
and dword [esp + 0x1c], 0
lea eax, [esp + 0x14]
push eax
call fcn.062b1154
pop eax
lea esi, [esp + 0x1f0]
push esi
call fcn.062b1154
mov eax, esi
add esp, 4
jmp 0x62978b3
movzx eax, word [eax + 0xc]
xor eax, 0x331
mov word [esp + 0x8c], ax
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0x150], xmm0
movq xmm0, qword [esp + 0x86]
movq qword [esp + 0x156], xmm0
push 0xe
lea eax, [esp + 0x154]
push eax
push esi
push dword [esp + 0x24]
call fcn.062c7144
add esp, 0x10
test al, al
je 0x6297ab5
lea ecx, [esp + 0x80]
mov edx, dword [esp]
push 0x5c
push ebx
call fcn.062946a8
pop eax
pop ecx
xor edi, edi
lea ecx, [esp + 0x80]
call fcn.06295ac8
test eax, eax
je 0x6297a6e
mov esi, edx
mov edi, eax
jmp 0x6297a58
test edi, edi
mov eax, dword [esp]
cmovne eax, edi
mov edi, eax
cmove esi, ebx
push 0
push esi
call fcn.062b1109
pop ecx
pop ecx
mov dword [esp], eax
mov ebx, edx
push esi
push edi
push edx
call fcn.062ff480
add esp, 0xc
lea eax, [esp + 0x14]
push eax
call fcn.062b1154
pop eax
mov eax, dword [esp]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], esi
lea edi, [0x630dbe3]
mov eax, dword [esp + 0x40]
cmp eax, 0x80000000
jne 0x6297ae7
lea ecx, [esp + 0x40]
call fcn.06283a26
lea eax, [esp + 0x14]
push eax
call fcn.062b1154
pop eax
lea eax, [esp + 0x118]
push eax
call fcn.062b1154
pop eax
jmp 0x6297b7b
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x288], esi
movsd xmm0, qword [esp + 0x14]
movsd qword [esp + 0x280], xmm0
mov esi, dword [esp + 0x120]
mov dword [esp + 0x88], esi
movq xmm0, qword [esp + 0x118]
movq qword [esp + 0x80], xmm0
mov dword [esp + 0x8c], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x90], ecx
lea eax, [esp + 0x80]
push eax
lea eax, [esp + 0x284]
push eax
push dword [esp + 0x10]
lea eax, [esp + 0x15c]
push eax
call fcn.062960b1
add esp, 0x10
cmp dword [esp + 0x150], 0x80000000
je 0x6297b7b
lea ecx, [esp + 0x150]
call fcn.06283d12
lea eax, [esp + 0x1f0]
jmp 0x62978b3
lea eax, [esp + 0x338]
push dword [esp + 8]
push eax
call fcn.06293620
pop eax
pop ecx
lea ebx, [esp + 0x214]
lea eax, [esp + 0x338]
push eax
lea esi, [esp + 0x18]
push esi
call fcn.06295ca0
pop eax
pop ecx
cmp dword [esp + 0x14], 0x80000000
je 0x6298170
mov eax, dword [esp + 0x34]
mov dword [esp + 0x60], eax
movups xmm0, xmmword [esp + 0x14]
movups xmm1, xmmword [esp + 0x24]
movaps xmmword [esp + 0x50], xmm1
movaps xmmword [esp + 0x40], xmm0
mov edi, esi
lea esi, [esp + 0x80]
mov ecx, esi
call fcn.062834c0
lea ecx, [esp + 0x328]
mov edx, esi
call fcn.0629476e
movups xmm0, xmmword [esp + 0x328]
movups xmm1, xmmword [0x6312b70]
movaps xmmword [esp + 0x260], xmm1
movaps xmmword [esp + 0x270], xmm0
push edi
lea eax, [esp + 0x13c]
push eax
call fcn.062af450
pop eax
pop ecx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], eax
mov edi, dword [esp + 0x54]
lea ecx, [esp + 0x58]
mov eax, dword [ecx + 8]
mov dword [esp + 0x1e8], eax
movsd xmm0, qword [ecx]
movsd qword [esp + 0x1e0], xmm0
lea esi, [esp + 0x1f0]
mov ecx, esi
call fcn.06293a73
push esi
push 4
mov dword [esp + 0x40], edi
push edi
push dword [esp + 0x18]
call fcn.062a6b1d
add esp, 0x10
lea ecx, [esp + 0x118]
mov edx, esi
call fcn.062939b8
lea eax, [esp + 0x118]
push eax
push ebx
call fcn.06295cd8
pop eax
pop ecx
cmp dword [esp + 0x214], 0x80000000
je 0x6297eab
movsd xmm0, qword [esp + 0x224]
movsd qword [esp + 0x320], xmm0
movups xmm0, xmmword [esp + 0x214]
movaps xmmword [esp + 0x310], xmm0
lea eax, [esp + 0x58]
push eax
lea esi, [esp + 0x84]
push esi
call fcn.062af450
pop eax
pop ecx
push esi
lea eax, [esp + 0x320]
push eax
push ebx
lea esi, [esp + 0x28c]
push esi
call fcn.062892d9
add esp, 0x10
push esi
call fcn.0628937f
pop eax
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x284]
add ecx, eax
inc ecx
movdqa xmm0, xmmword [eax]
pmovmskb edx, xmm0
not edx
mov esi, dword [esp + 0x28c]
mov dword [esp + 0x150], eax
add eax, 0x10
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], ecx
mov word [esp + 0x15c], dx
mov dword [esp + 0x160], esi
lea eax, [esp + 0x150]
push eax
call fcn.06295c03
pop ecx
test eax, eax
je 0x6297e3b
mov ebx, eax
mov eax, dword [edx + 4]
mov dword [esp], eax
mov edi, dword [edx + 8]
lea eax, [esp + 0x138]
mov dword [esp + 0x70], eax
mov ecx, 0x6284db0
mov dword [esp + 0x74], ecx
mov dword [esp + 0x80], 0x6313348
push 2
pop edx
mov dword [esp + 0x84], edx
and dword [esp + 0x90], 0
lea eax, [esp + 0x2ac]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
lea eax, [esp + 0x70]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
lea ecx, [esp + 0x144]
lea edx, [esp + 0x80]
call fcn.062948ae
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x14c]
mov edx, dword [ebx + 4]
mov ebx, dword [ebx + 8]
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x24]
sub esp, 0x2c
mov dword [esp + 0x28], eax
mov dword [esp + 0x14], edi
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], esi
and dword [esp + 0x1c], 0
push 2
pop eax
mov dword [esp + 0x24], eax
and dword [esp + 0x18], 0
call fcn.0628c33c
add esp, 0x2c
lea eax, [esp + 0x144]
push eax
call fcn.062b1154
pop eax
jmp 0x6297d4c
lea eax, [esp + 0x2ac]
push eax
lea edi, [esp + 0x74]
push edi
call fcn.062af450
pop eax
pop ecx
push 0x90
lea eax, [esp + 0x284]
push eax
lea esi, [esp + 0x88]
push esi
call fcn.062ff480
add esp, 0xc
push esi
push edi
lea eax, [esp + 0x268]
push eax
lea eax, [esp + 0x15c]
push eax
call fcn.0629629e
add esp, 0x10
cmp dword [esp + 0x1d0], 0x80000000
je 0x6297e9f
lea ecx, [esp + 0x150]
call fcn.0629410d
lea ebx, [esp + 0x214]
jmp 0x6297c8b
lea eax, [esp + 0x118]
push eax
call fcn.0629594b
pop eax
mov eax, dword [esp + 0x140]
lea ecx, [esp + 0xa0]
mov dword [ecx + 8], eax
movsd xmm0, qword [esp + 0x138]
movsd qword [ecx], xmm0
movdqa xmm0, xmmword [esp + 0x260]
movaps xmm1, xmmword [esp + 0x270]
movdqa xmmword [esp + 0x80], xmm0
movaps xmmword [esp + 0x90], xmm1
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0xb4], eax
mov dword [esp + 0x150], 0x6313348
mov dword [esp + 0x154], 2
and dword [esp + 0x160], 0
mov dword [esp + 0x280], 0x6313360
mov dword [esp + 0x284], 0x62b0320
lea eax, [esp + 0x280]
mov dword [esp + 0x158], eax
mov dword [esp + 0x15c], 1
lea ecx, [esp + 0x22c]
lea esi, [esp + 0x150]
mov edx, esi
call fcn.062948ae
lea eax, [0x6310cd8]
mov dword [esp + 0x150], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x150], 0xd6f841fe
push dword [esp + 0x150]
push eax
call fcn.062a46f4
pop ecx
pop edx
and dword [esp + 0x150], 0
xor ecx, ecx
mov dl, 1
test dl, 1
je 0x6297fd9
movzx edx, byte [ecx + 0x6313368]
or edx, 0x89c74100
xor edx, dword [eax + ecx]
mov dword [esp + ecx + 0x150], edx
xor edx, edx
push 4
pop ecx
jmp 0x6297fb6
movzx ecx, byte [eax + 6]
movzx eax, word [eax + 4]
xor eax, 0xfadc
mov word [esp + 0x154], ax
xor cl, 0x89
mov byte [esp + 0x156], cl
mov eax, dword [esp + 0x150]
mov dword [esp + 0x280], eax
mov eax, dword [esp + 0x153]
mov dword [esp + 0x283], eax
push 0
push 7
call fcn.062b1109
pop ecx
pop ecx
mov dword [esp], eax
mov edi, edx
mov eax, dword [esp + 0x280]
mov ecx, dword [esp + 0x283]
mov dword [edx], eax
mov dword [edx + 3], ecx
push 0
push 0x80
call fcn.062b1109
pop ecx
pop ecx
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], edx
and dword [esp + 0x158], 0
lea eax, [esp + 0x150]
mov dword [esp + 0x118], eax
lea eax, [esp + 0x118]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.062932a9
pop ecx
pop edx
test eax, eax
jne 0x629819c
mov eax, dword [esp + 0x150]
mov ebx, dword [esp + 0x154]
cmp eax, 0x80000000
je 0x62981ac
mov ecx, dword [esp + 0x158]
mov dword [esp + 0x150], eax
mov dword [esp + 0x154], ebx
mov dword [esp + 0x158], ecx
lea ecx, [esp + 0x250]
lea esi, [esp + 0x150]
mov edx, esi
call fcn.0629558d
mov eax, dword [esp + 0x234]
mov dword [esp + 0x240], eax
movq xmm0, qword [esp + 0x22c]
movq qword [esp + 0x238], xmm0
mov eax, dword [esp]
mov dword [esp + 0x244], eax
mov dword [esp + 0x248], edi
mov dword [esp + 0x24c], 7
push esi
call fcn.062b1154
pop eax
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x24]
lea edx, [esp + 0x238]
call fcn.06285159
lea eax, [esp + 0xa0]
push eax
call fcn.062b1154
pop eax
lea eax, [esp + 0xac]
push eax
call fcn.062b1154
pop eax
lea eax, [esp + 0x80]
push eax
call fcn.06295739
pop eax
lea eax, [esp + 0x1e0]
push eax
call fcn.062b1154
pop eax
lea eax, [esp + 0x40]
push eax
call fcn.062b1154
pop eax
jmp 0x6297b9a
lea eax, [esp + 0x338]
push eax
call fcn.0629596e
pop eax
mov ecx, dword [esp + 0x10]
call fcn.06284142
mov dl, 1
mov al, byte [esp + 7]
mov ecx, dword [esp + 8]
mov byte [ecx + 0x54], dl
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, eax
lea eax, [esp + 0x150]
push eax
call fcn.062b1154
pop eax
mov dword [esp + 0x150], ebx
push 0x6313370
push 0x6312ce0
lea eax, [esp + 0x158]
push eax
push 6
push 0x6313341
call fcn.0630edd0