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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x220
mov esi, esp
push esi
call fcn.062fad78
pop eax
cmp dword [esi], 0x80000011
jne 0x629c4b1
mov eax, esp
mov ecx, dword [eax + 4]
and dword [esp + 0x80], 0
mov dword [esp + 0x84], 4
and dword [esp + 0x88], 0
mov dword [esp + 0x54], ecx
lea ecx, [0x630961e]
mov dword [eax], ecx
mov ecx, dword [eax]
mov dword [eax], 0x7b575ee
mov esi, esp
push dword [esi]
push ecx
call fcn.062a3f08
pop ecx
pop edx
pxor xmm0, xmm0
movdqu xmmword [esi + 0xc], xmm0
movdqa xmmword [esi], xmm0
xor ecx, ecx
cmp ecx, 0x1b
ja 0x629c60b
mov edx, dword [ecx + 0x6313860]
xor edx, dword [eax + ecx]
mov dword [esp + ecx], edx
add ecx, 4
jmp 0x629c497
mov ecx, esp
call fcn.06293fd4
lea eax, [0x630fd00]
lea ecx, [esp + 0xc0]
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x5b2efc8e
lea ecx, [esp + 0xc0]
push dword [ecx]
push eax
call fcn.062a3e9b
pop ecx
pop edx
pxor xmm0, xmm0
movdqa xmmword [esp], xmm0
movdqu xmmword [esp + 0xc], xmm0
xor ecx, ecx
cmp ecx, 0x1b
ja 0x629c507
mov edx, dword [ecx + 0x63139e8]
xor edx, dword [eax + ecx]
mov dword [esp + ecx], edx
add ecx, 4
jmp 0x629c4f1
movzx ecx, byte [eax + 0x1e]
movzx eax, word [eax + 0x1c]
xor eax, 0x45d4
mov word [esp + 0x1c], ax
xor cl, 0xc6
mov byte [esp + 0x1e], cl
push 0x1f
pop esi
push 0
push esi
call fcn.062b1109
pop ecx
pop ecx
movaps xmm0, xmmword [esp]
movups xmmword [edx], xmm0
movdqu xmm0, xmmword [esp + 0xf]
movdqu xmmword [edx + 0xf], xmm0
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [esp + 0x70], esi
lea ecx, [esp + 0xc0]
push 0x2c
push esi
call fcn.062946a8
pop eax
pop ecx
lea edi, [esp + 0x58]
lea ebx, [esp + 0x30]
lea ecx, [esp + 0xc0]
call fcn.06295ac8
test eax, eax
je 0x629c65b
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0x30], 0x6313a0c
mov dword [esp + 0x34], 2
and dword [esp + 0x40], 0
lea eax, [esp + 0x98]
mov dword [esp + 0x74], eax
mov dword [esp + 0x78], 0x62b0320
lea eax, [esp + 0x74]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], 1
mov ecx, edi
mov edx, ebx
call fcn.062948ae
push dword [esp + 0x60]
push dword [esp + 0x60]
push ebx
call fcn.0628c1cf
add esp, 0xc
mov esi, dword [esp + 0x34]
push ebx
call fcn.062c1953
pop eax
push esi
call dword [0x6311018]
mov esi, eax
push edi
call fcn.062b1154
pop eax
test esi, esi
je 0x629c564
lea eax, [esp + 0x68]
push eax
call fcn.062b1154
pop eax
jmp 0x629ca18
movzx eax, word [eax + 0x1c]
xor eax, 0x2a0d
mov word [esp + 0x1c], ax
movaps xmm0, xmmword [esp]
lea ecx, [esp + 0x30]
movaps xmmword [ecx], xmm0
movdqu xmm0, xmmword [esp + 0xe]
movdqu xmmword [ecx + 0xe], xmm0
lea eax, [esp + 0x54]
push 0x1e
push ecx
push eax
lea eax, [esp + 0xc]
push eax
call fcn.062a1372
add esp, 0x10
cmp dword [esp], 0x80000011
jne 0x629c691
mov ecx, dword [esp + 4]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
jmp 0x629c69f
lea eax, [esp + 0x68]
push eax
call fcn.062b1154
pop eax
lea esi, [esp + 0xc0]
mov ecx, esi
call fcn.062e8730
cmp dword [esi], 0x80000000
jne 0x629cc43
lea ecx, [esp + 0xc4]
call fcn.06294054
jmp 0x629ca18
mov ecx, esp
call fcn.06293fd4
push 8
pop eax
xor edx, edx
xor ecx, ecx
shl edx, 5
add edx, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], ecx
mov dword [esp + 0x64], edx
lea esi, [esp + 0x68]
lea edi, [esp + 0x80]
mov dword [esp + 0x2c], edx
cmp eax, edx
je 0x629c76e
lea ebx, [eax + 0x20]
mov dword [esp + 0x5c], ebx
mov ecx, dword [eax]
test ecx, ecx
je 0x629c76e
mov dword [esp], ecx
movups xmm0, xmmword [eax + 4]
movups xmm1, xmmword [eax + 0x10]
lea eax, [esp + 4]
movups xmmword [eax + 0xc], xmm1
movups xmmword [eax], xmm0
mov edx, dword [esp + 4]
mov eax, dword [esp + 0xc]
mov dword [esp + 0x50], eax
lea edx, [ecx + edx + 1]
movdqa xmm0, xmmword [ecx]
pmovmskb eax, xmm0
not eax
mov dword [esp + 0x30], ecx
add ecx, 0x10
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], edx
mov word [esp + 0x3c], ax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x40], eax
lea eax, [esp + 0x30]
push eax
call fcn.06295bbc
pop ecx
test eax, eax
je 0x629c75a
test edx, edx
je 0x629c75a
cmp dword [edx], 0x80000002
jne 0x629c728
add edx, 4
push edx
push esi
call fcn.062af450
pop eax
pop ecx
mov ecx, edi
mov edx, esi
call fcn.06294e39
jmp 0x629c728
mov eax, esp
push eax
call fcn.06295716
pop eax
mov eax, ebx
mov edx, dword [esp + 0x2c]
jmp 0x629c6c3
lea eax, [esp + 0x58]
push eax
call fcn.062959ed
pop eax
lea eax, [0x63090a9]
mov ecx, esp
mov dword [ecx], eax
mov eax, dword [ecx]
mov dword [ecx], 0x3d7ec14b
mov ecx, esp
push dword [ecx]
push eax
call fcn.062a4027
pop ecx
pop edx
mov edi, eax
lea eax, [esp + 0xc0]
push 0x154
push 0
push eax
call fcn.062ffa00
add esp, 0xc
xor eax, eax
cmp eax, 0x153
ja 0x629c7ce
mov ecx, dword [eax + 0x631387e]
xor ecx, dword [edi + eax]
mov dword [esp + eax + 0xc0], ecx
add eax, 4
jmp 0x629c7b2
movzx eax, word [edi + 0x154]
xor eax, 0xfbbb
mov word [esp + 0x214], ax
mov eax, 0x156
push 0
push eax
mov esi, 0x156
call fcn.062b1109
pop ecx
pop ecx
mov edi, eax
mov ebx, edx
push esi
lea eax, [esp + 0xc4]
push eax
push edx
call fcn.062ff480
add esp, 0xc
mov dword [esp + 0xa4], edi
mov dword [esp + 0xa8], ebx
mov eax, 0x156
mov dword [esp + 0xac], eax
mov esi, esp
mov ecx, esi
mov edx, ebx
push 0x2c
push eax
call fcn.062946a8
pop eax
pop ecx
lea edi, [esp + 0x98]
mov ecx, edi
mov edx, esi
lea esi, [esp + 0x68]
call fcn.062946eb
mov edx, dword [esp + 0x80]
imul ecx, dword [esp + 0x88], 0xc
mov eax, dword [esp + 0x84]
add ecx, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], ecx
mov edx, dword [edi + 4]
mov dword [esp + 0x90], edx
mov edx, dword [edi + 8]
shl edx, 3
mov dword [esp + 0x8c], edx
cmp eax, ecx
je 0x629ccd9
lea ecx, [eax + 0xc]
mov dword [esp + 0x34], ecx
mov ecx, dword [eax]
cmp ecx, 0x80000000
je 0x629ccd9
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov dword [esp + 0x74], ecx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x94], edx
mov dword [esp + 0x78], edx
mov dword [esp + 0x2c], eax
cmp eax, 0x44
je 0x629c9dc
cmp dword [esp + 0x2c], 0x84
je 0x629c9dc
mov edi, dword [esp + 0x8c]
mov eax, dword [esp + 0x90]
test edi, edi
je 0x629c9c4
lea ecx, [eax + 8]
mov dword [esp + 0x50], ecx
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
push dword [esp + 0x2c]
push dword [esp + 0x98]
push esi
call fcn.062ae960
add esp, 0xc
mov dword [esp], 0x63139d8
mov dword [esp + 4], 2
and dword [esp + 0x10], 0
lea eax, [esp + 0xb0]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], 0x62b0320
lea eax, [esp + 0xb8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea ecx, [esp + 0x58]
mov esi, esp
mov edx, esi
call fcn.062948ae
push dword [esp + 0x60]
push dword [esp + 0x60]
push esi
call fcn.062ae960
add esp, 0xc
push dword [esp + 8]
push dword [esp + 8]
push dword [esp + 0x78]
push dword [esp + 0x78]
call fcn.062c7144
add esp, 0x10
mov ebx, eax
push esi
lea esi, [esp + 0x6c]
call fcn.062b1154
pop eax
lea eax, [esp + 0x58]
push eax
call fcn.062b1154
pop eax
push esi
call fcn.062b1154
pop eax
add edi, 0xfffffff8
mov eax, dword [esp + 0x50]
test bl, bl
je 0x629c8e8
jmp 0x629c9dc
lea eax, [esp + 0x74]
push eax
call fcn.062b1154
pop eax
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x3c]
jmp 0x629c889
lea eax, [esp + 0x74]
push eax
call fcn.062b1154
pop eax
lea eax, [esp + 0x30]
push eax
call fcn.06295a11
pop eax
lea eax, [esp + 0x98]
push eax
call fcn.062a4e51
pop eax
lea eax, [esp + 0xa4]
push eax
call fcn.062b1154
pop eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [esp], 0
mov dword [esp + 4], 4
push 5
pop edi
xor eax, eax
mov dword [esp + 8], eax
sub edi, 1
jb 0x629cb0b
call fcn.062e30a0
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
push 0x19db1de
push 0xd53e8000
lea eax, [esp + 0x38]
push eax
lea eax, [esp + 0xcc]
push eax
call fcn.062e30d0
add esp, 0x10
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0xd0]
xor edx, edx
mov ecx, 0x3e8
div ecx
mov ecx, eax
mov eax, 0xf4240
mul dword [esp + 0xc8]
imul ebx, dword [esp + 0xcc], 0xf4240
add eax, ecx
adc ebx, edx
or esi, dword [esp + 0xc4]
mov ecx, 0
cmovne eax, ecx
cmovne ebx, ecx
mov edx, ebx
shld edx, eax, 0xd
mov ecx, eax
shl ecx, 0xd
xor ecx, eax
xor edx, ebx
mov eax, edx
shr eax, 0x11
xor eax, edx
shld edx, ecx, 0xf
xor edx, ecx
mov ecx, eax
shld ecx, edx, 5
mov esi, edx
shl esi, 5
xor esi, edx
xor ecx, eax
push 0
push 6
push ecx
push esi
call fcn.062feaf0
mov esi, eax
mov eax, dword [esp + 8]
cmp eax, dword [esp]
jne 0x629cafa
push eax
lea eax, [esp + 4]
push eax
call fcn.062c6ffd
pop eax
pop ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [ecx + eax*4], esi
mov eax, dword [esp + 8]
inc eax
jmp 0x629ca29
test eax, eax
je 0x629cb24
mov ecx, dword [esp + 4]
xor esi, esi
xor edx, edx
imul esi, esi, 0xa
add esi, dword [ecx + edx*4]
inc edx
cmp eax, edx
jne 0x629cb17
jmp 0x629cb26
xor esi, esi
mov eax, esp
push eax
call fcn.062c70da
pop eax
lea eax, [esp + 0x68]
mov dword [eax], esi
lea ecx, [esp + 0x30]
mov dword [ecx], eax
mov edx, ecx
mov edi, esp
mov dword [edi], 0x6313a20
xor ebx, ebx
inc ebx
mov dword [edi + 4], ebx
lea eax, [esp + 0xc0]
mov dword [edi + 0x10], eax
push 2
pop ecx
mov dword [edi + 0x14], ebx
lea eax, [esp + 0x30]
mov dword [edi + 8], eax
mov eax, edi
lea esi, [esp + 0xc0]
mov dword [esi], ecx
mov dword [esi + 8], ecx
mov dword [esi + 0x10], 0x20
and dword [esi + 0x14], 0
mov dword [edx + 4], 0x6293108
mov dword [esi + 0x18], 4
mov byte [esi + 0x1c], 3
mov dword [edi + 0xc], ebx
lea edi, [esp + 0x58]
mov ecx, edi
mov edx, eax
call fcn.062948ae
mov dword [esi], 0x6313a48
mov dword [esi + 4], ebx
and dword [esi + 0x10], 0
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], 0x6284db0
mov dword [esi + 8], eax
mov dword [esi + 0xc], ebx
lea ecx, [esp + 0x30]
mov edx, esi
call fcn.062948ae
lea eax, [esp + 0x30]
push dword [eax + 8]
push dword [eax + 4]
lea eax, [esp + 8]
push eax
call fcn.0628c1cf
add esp, 0xc
mov eax, esp
mov ebx, dword [eax + 4]
push dword [edi + 8]
push dword [edi + 4]
push esi
call fcn.0628c1cf
add esp, 0xc
push 0x11
push dword [esi + 4]
push ebx
push 0
call dword [0x63111bc]
mov ebx, eax
push esi
call fcn.062c1953
pop eax
mov eax, esp
push eax
call fcn.062c1953
pop eax
push 2
pop eax
cmp ebx, eax
je 0x629cd15
cmp ebx, 1
je 0x629cd15
lea eax, [esp + 0x30]
push eax
call fcn.062b1154
pop eax
lea eax, [esp + 0x58]
push eax
call fcn.062b1154
pop eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0xc8]
push dword [esp + 0xc8]
call fcn.062e1c90
pop ecx
pop ecx
test eax, eax
je 0x629cd0f
push edx
push eax
lea eax, [esp + 8]
push eax
call fcn.062eab20
add esp, 0xc
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
add ecx, eax
lea edi, [esp + 0x30]
mov dword [edi], eax
mov dword [edi + 4], ecx
xor ebx, ebx
xor esi, esi
inc esi
mov ecx, edi
call fcn.062863ad
cmp eax, 0x110000
je 0x629ccb6
lea edx, [eax - 0x30]
mov ecx, esi
cmp edx, 0xa
jb 0x629ccb2
xor ecx, ecx
cmp eax, 0x80
jb 0x629ccb2
push eax
call fcn.062be2b0
pop ecx
movzx ecx, al
add ebx, ecx
jmp 0x629cc87
mov ecx, esp
call fcn.06283a26
lea eax, [esp + 0xc0]
push eax
call fcn.062b1154
pop eax
cmp ebx, 2
ja 0x629ca18
jmp 0x629cc3b
lea eax, [esp + 0x30]
push eax
call fcn.06295a11
pop eax
lea eax, [esp + 0x98]
push eax
call fcn.062a4e51
pop eax
lea eax, [esp + 0xa4]
push eax
call fcn.062b1154
pop eax
mov eax, dword [esp + 0x54]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x629c4b8
push esi
jmp 0x629c600
push 0
call fcn.062e27d0