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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x160
mov ecx, dword [0x4f002c]
mov eax, dword [ebp + 8]
xor ebx, ebx
lea esi, [esp + 0x78]
xor ecx, ebp
mov dword [esp + 0x158], ecx
mov ecx, 0xf
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xb4], ecx
mov byte [esp + 0xb8], bl
mov byte [esp + 0xa0], bl
mov ecx, esi
push 0x21
push eax
call fcn.00420f00
mov ecx, esi
call fcn.00420790
mov esi, 2
test al, al
je 0x41a892
lea eax, [esp + 0x2c]
push ebx
push eax
call fcn.00429be0
add esp, 8
lea esi, [esp + 0x28]
mov edi, 4
lea ecx, [esp + 0x78]
mov dword [esi], ebx
push edi
push esi
call fcn.00420850
mov ebx, 3
cmp eax, edi
jne 0x41a882
mov eax, dword [esp + 0x28]
cmp eax, 0x444f7243
je 0x41a04d
cmp eax, 0x34327243
jne 0x41a882
mov dword [esp + 0x10], 0
jmp 0x41a053
mov al, 1
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x2c]
mov edi, dword [ebp + 0xc]
mov eax, dword [ecx]
push 4
push esi
call dword [eax + 4]
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x78]
call fcn.0041ab19
mov edx, dword [edi]
test edx, edx
jne 0x41a08d
test eax, eax
sete cl
cmp eax, 2
je 0x41a5a8
and cl, byte [esp + 0x10]
jne 0x41a5a8
cmp eax, 3
jne 0x41a882
mov edi, dword [esp + 0x2c]
mov dword [esp], edx
lea ecx, [esp + 0x78]
mov edx, edi
call fcn.0041ab19
cmp eax, 0x40000
ja 0x41a882
mov esi, eax
xor eax, eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x20], edi
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push esi
call fcn.0040269c
test al, al
je 0x41a0e7
mov edi, dword [esp + 0x54]
push esi
push 0
push edi
add edi, esi
call fcn.004a9490
add esp, 0xc
mov dword [esp + 0x58], edi
mov ebx, dword [esp + 0x54]
lea ecx, [esp + 0x78]
push esi
push ebx
call fcn.00420850
mov edi, eax
test eax, eax
jle 0x41a107
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
push edi
push ebx
call dword [eax + 4]
mov ebx, 3
cmp edi, esi
jne 0x41a7ad
lea edi, [esp + 0x120]
mov ecx, edi
call fcn.00429eb4
mov ecx, edi
push esi
push dword [esp + 0x58]
call fcn.0042b45c
mov ebx, 3
test al, al
je 0x41a7a1
mov edi, dword [esp + 0x150]
lea esi, [esp + 0x64]
mov ecx, esi
call fcn.0042a9be
mov ecx, esi
mov dword [esp + 0xc], edi
push edi
call fcn.0042b3c4
mov ebx, 3
test al, al
je 0x41a798
mov eax, dword [esp + 0x74]
mov edx, 0x10
mov ecx, dword [eax + 0x10]
cmp dword [eax + 0x14], edx
jb 0x41a179
mov eax, dword [eax]
mov edi, 0xf
lea esi, [esp + 0xf0]
push ecx
push eax
push esi
call fcn.004214f0
add esp, 0xc
lea eax, [esp + 0x108]
push esi
mov dword [esp + 0x1c], eax
push eax
call fcn.0042b6a9
add esp, 8
mov ecx, esi
mov dword [esp + 0x14], esi
call fcn.00401c10
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0x10]
mov ecx, eax
mov byte [esp + 0x60], al
mov byte [esp + 0x61], ah
shr eax, 0x18
shr ecx, 0x10
mov byte [esp + 0x62], cl
mov byte [esp + 0x63], al
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x4c]
push dword [eax + 4]
push dword [eax]
call fcn.0041afc2
cmp dword [esp], 2
jne 0x41a220
lea eax, [esp + 0xd0]
lea edx, [esp + 0x40]
lea esi, [esp + 0x4c]
mov dword [eax], str.CRX3_SignedData
mov dword [edx], 0x4cd524
mov ecx, esi
push eax
push edx
call fcn.0041b7b6
lea edx, [esp + 0xf0]
mov ecx, esi
push eax
add eax, 0x10
push eax
push 0
push edx
call fcn.0041b552
mov edx, dword [esp + 0x144]
xor eax, eax
lea ecx, [esp + 0x40]
mov dword [esp + 0x104], edi
mov dword [esp + 0x100], eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov byte [esp + 0xf0], 0
mov dword [ecx + 8], eax
add edx, dword [esp + 0x134]
push edx
call fcn.0041b024
mov eax, 2
movd xmm0, eax
mov eax, 0x41b020
movd xmm1, eax
xor eax, eax
inc eax
punpckldq xmm1, xmm0
movd xmm0, eax
mov eax, 0x41b010
movd xmm2, eax
mov eax, 0x10
punpckldq xmm2, xmm0
punpcklqdq xmm2, xmm1
movdqa xmmword [esp + 0xd0], xmm2
push eax
call fcn.0048bcac
add esp, 4
mov ecx, eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
add ecx, 0x10
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x3c], ecx
mov ecx, 0xfffffff0
movdqu xmm0, xmmword [esp + ecx + 0xe0]
movdqu xmmword [eax + ecx + 0x10], xmm0
add ecx, 0x10
jne 0x41a2b7
mov ecx, dword [esp + 0x1c]
lea edi, [esp + 0xd0]
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x120]
mov dword [esp + 0x24], eax
call dword [eax]
mov edx, dword [eax + 0xc]
mov ecx, dword [eax + 4]
lea eax, [edx + 4]
test edx, edx
cmove eax, edx
test ecx, 0x3fffffff
je 0x41a4e1
lea ecx, [eax + ecx*4]
mov edx, eax
sub ecx, eax
add edx, 4
mov eax, dword [eax]
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp], eax
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x14], 0xf
mov ecx, esi
jbe 0x41a32b
mov ecx, dword [esi]
push eax
push ecx
push edi
call fcn.0042b5f8
add esp, 0xc
lea eax, [esp + 0x108]
mov ecx, edi
push eax
call fcn.0041b8b4
mov ecx, edi
mov ebx, eax
call fcn.00401c10
lea eax, [esp + 0xf0]
cmp esi, eax
je 0x41a378
test bl, bl
je 0x41a378
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x14], 0xf
mov edx, esi
jbe 0x41a36a
mov edx, dword [esi]
lea ecx, [esp + 0xf0]
push eax
push edx
call fcn.00401644
xor ebx, ebx
mov eax, 0x20
mov dword [esp + 0xd4], ebx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd8], ebx
push eax
call fcn.0048bcac
add esp, 4
lea ecx, [eax + 0x20]
mov dword [esp + 0xd0], eax
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x18], ebx
mov edx, 0xf
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xd4], ecx
cmp dword [esi + 0x14], edx
mov ecx, dword [esi + 0x10]
mov edx, esi
jbe 0x41a3dd
mov edx, dword [esi]
mov ebx, 0x20
push ebx
push eax
push ecx
push edx
call fcn.0042b6d0
add esp, 0x10
lea ecx, [esp + 0x4c]
push edi
call fcn.0041b04c
mov eax, 0x10
push eax
call fcn.0048bcac
add esp, 4
mov ecx, eax
mov edi, eax
call fcn.0042b72c
mov dword [esp + 0x30], edi
mov ecx, 0xf
mov eax, dword [esi + 0x10]
cmp dword [esi + 0x14], ecx
jbe 0x41a422
mov esi, dword [esi]
mov ebx, dword [esp]
mov ecx, 0xf
mov edx, dword [ebx + 0x10]
cmp dword [ebx + 0x14], ecx
jbe 0x41a434
mov ebx, dword [ebx]
mov ecx, edi
push esi
push eax
push ebx
push edx
mov eax, dword [esp + 0x34]
push dword [eax + 4]
call fcn.0042b774
test al, al
mov esi, 1
je 0x41a49d
mov ecx, dword [esp + 0x30]
push str.CRX3_SignedData
push 0x10
call fcn.0042b924
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x60]
push eax
push 4
call fcn.0042b924
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x30]
mov eax, dword [edx + 0x10]
cmp dword [edx + 0x14], 0xf
jbe 0x41a486
mov edx, dword [esp + 0xc]
mov edx, dword [edx]
push edx
push eax
call fcn.0042b924
lea eax, [esp + 0x30]
lea ecx, [esp + 0x40]
push eax
call fcn.0041ac58
xor esi, esi
mov edi, dword [esp + 0x30]
test edi, edi
je 0x41a4b5
mov ecx, edi
call fcn.0042b73c
push edi
call fcn.0048bd2c
add esp, 4
lea edi, [esp + 0xd0]
mov ecx, edi
call fcn.00402946
test esi, esi
jne 0x41a760
mov edx, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, edx
add edx, 4
add ecx, 0xfffffffc
jne 0x41a30b
mov eax, dword [esp + 0x24]
add eax, 8
cmp eax, dword [esp + 0x1c]
jne 0x41a2da
cmp dword [esp + 0x100], 0
mov ebx, 8
je 0x41a765
cmp dword [esp + 0x50], 0
jne 0x41a765
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x40]
lea ecx, [esp + 0x78]
push eax
call fcn.0041ab8d
add esp, 4
mov ebx, 7
test al, al
je 0x41a765
mov esi, 0xf
mov eax, dword [esp + 0x100]
cmp dword [esp + 0x104], esi
jbe 0x41a552
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xb8]
push eax
push edi
call fcn.0042bad0
add esp, 8
mov eax, dword [esp + 0x118]
cmp dword [esp + 0x11c], esi
jbe 0x41a590
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0xa0]
push eax
push dword [esp + 0x1c]
call fcn.00401644
xor ebx, ebx
jmp 0x41a765
mov esi, dword [esp + 0x2c]
lea ecx, [esp + 0x78]
mov edx, esi
call fcn.0041ab19
cmp eax, 0x10000
ja 0x41a882
lea ecx, [esp + 0x78]
mov edx, esi
mov edi, eax
call fcn.0041ab19
cmp eax, 0x10000
mov dword [esp + 8], eax
ja 0x41a882
xor eax, eax
lea ecx, [esp + 0xf0]
mov dword [esp + 4], esi
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push edi
call fcn.0040269c
test al, al
je 0x41a619
mov esi, dword [esp + 0xf0]
push edi
push 0
push esi
add esi, edi
call fcn.004a9490
add esp, 0xc
mov dword [esp + 0xf4], esi
mov ebx, dword [esp + 0xf0]
lea ecx, [esp + 0x78]
push edi
push ebx
call fcn.00420850
mov esi, eax
test eax, eax
jle 0x41a63c
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
push esi
push ebx
call dword [eax + 4]
mov ebx, 3
cmp esi, edi
jne 0x41ab0d
mov eax, dword [ebp + 0x10]
mov esi, dword [eax]
mov eax, dword [eax + 4]
cmp esi, eax
mov dword [esp], eax
je 0x41a8cb
xor ebx, ebx
mov dword [esp + 0x124], ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x128], ebx
push 0x20
call fcn.0048bcac
add esp, 4
lea ecx, [eax + 0x20]
mov dword [esp + 0x120], eax
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x18], ebx
mov dword [esp + 0x128], ecx
mov dword [esp + 0x124], ecx
push ebx
lea eax, [esp + 0x10c]
push eax
call fcn.00429be0
add esp, 8
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0xf0]
mov edx, dword [esp + 0xf4]
mov edi, dword [ecx]
sub edx, eax
push edx
push eax
call dword [edi + 4]
mov ecx, dword [esp + 0x108]
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov edi, dword [ecx]
sub edx, eax
push edx
push eax
call dword [edi + 8]
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x124]
mov edx, dword [esi]
mov edi, dword [esi + 4]
sub ecx, eax
sub edi, edx
cmp ecx, edi
jne 0x41a723
push ecx
push edx
push eax
call fcn.004a79dd
add esp, 0xc
test eax, eax
je 0x41a75c
xor edi, edi
inc edi
mov ecx, dword [esp + 0x108]
test ecx, ecx
je 0x41a737
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x120]
call fcn.00402946
test edi, edi
jne 0x41ab08
add esi, 0xc
cmp dword [esp], esi
jne 0x41a65e
jmp 0x41a8cb
xor edi, edi
jmp 0x41a726
mov ebx, 6
lea ecx, [esp + 0x34]
call fcn.0041bdb4
lea ecx, [esp + 0x40]
call fcn.0041af7c
lea ecx, [esp + 0xf0]
call fcn.00401c10
lea ecx, [esp + 0x4c]
call fcn.0041b0ce
lea ecx, [esp + 0x108]
call fcn.00401c10
lea ecx, [esp + 0x64]
call fcn.0042a9f8
lea ecx, [esp + 0x120]
call fcn.00429f06
lea ecx, [esp + 0x54]
call fcn.00402946
test ebx, ebx
jne 0x41a882
mov ecx, dword [esp + 0x2c]
pxor xmm0, xmm0
lea esi, [esp + 0x120]
mov edi, dword [ebp + 0x14]
movdqa xmmword [esi + 0x10], xmm0
movdqa xmmword [esi], xmm0
mov eax, dword [ecx]
push 0x20
push esi
call dword [eax + 8]
mov eax, dword [edi]
mov ecx, dword [edi + 4]
cmp eax, ecx
je 0x41a80f
sub ecx, eax
mov ebx, 4
cmp ecx, 0x20
jne 0x41a882
mov ebx, 5
push 0x20
push eax
push esi
call fcn.0042bc84
add esp, 0xc
test al, al
je 0x41a882
mov ecx, dword [ebp + 0x18]
mov esi, dword [ebp + 0x1c]
lea eax, [esp + 0xb8]
cmp eax, ecx
sete dl
test ecx, ecx
je 0x41a848
test dl, dl
jne 0x41a848
mov edx, dword [esp + 0xc8]
cmp dword [esp + 0xcc], 0xf
jbe 0x41a841
mov eax, dword [esp + 0xb8]
push edx
push eax
call fcn.00401644
lea eax, [esp + 0xa0]
cmp eax, esi
sete cl
test esi, esi
je 0x41a87d
test cl, cl
jne 0x41a87d
mov edx, dword [esp + 0xb0]
cmp dword [esp + 0xb4], 0xf
jbe 0x41a874
mov eax, dword [esp + 0xa0]
mov ecx, esi
push edx
push eax
call fcn.00401644
movzx ebx, byte [esp + 0x10]
mov ecx, dword [esp + 0x2c]
mov esi, ebx
test ecx, ecx
je 0x41a892
mov eax, dword [ecx]
push 1
call dword [eax]
lea ecx, [esp + 0x78]
call fcn.00420ff0
lea ecx, [esp + 0xa0]
call fcn.00401c10
lea ecx, [esp + 0xb8]
call fcn.00401c10
mov ecx, dword [esp + 0x158]
xor ecx, ebp
call fcn.0048bd44
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, dword [esp + 8]
xor eax, eax
lea ecx, [esp + 0xd0]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
push ebx
call fcn.0040269c
test al, al
je 0x41a906
mov esi, dword [esp + 0xd0]
push ebx
push 0
push esi
add esi, ebx
call fcn.004a9490
add esp, 0xc
mov dword [esp + 0xd4], esi
mov edi, dword [esp + 0xd0]
lea ecx, [esp + 0x78]
push ebx
push edi
call fcn.00420850
mov esi, eax
test eax, eax
jle 0x41a929
mov ecx, dword [esp + 4]
mov eax, dword [ecx]
push esi
push edi
call dword [eax + 4]
cmp esi, dword [esp + 8]
mov ebx, 3
jne 0x41aafa
lea edi, [esp + 0x64]
xor eax, eax
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
push 0x10
call fcn.0048bcac
add esp, 4
mov ecx, eax
mov esi, eax
call fcn.0042b72c
lea ebx, [esp + 0x120]
mov ecx, edi
mov dword [ebx], esi
push ebx
call fcn.0041ac58
mov esi, dword [ebx]
test esi, esi
je 0x41a980
mov ecx, esi
call fcn.0042b73c
push esi
call fcn.0048bd2c
add esp, 4
mov eax, dword [esp + 0x64]
mov esi, dword [esp + 0xd0]
mov ebx, dword [esp + 0xd4]
mov edx, dword [esp + 0xf4]
mov ecx, dword [eax]
mov eax, dword [esp + 0xf0]
sub ebx, esi
sub edx, eax
push eax
push edx
push esi
push ebx
push 0
call fcn.0042b774
mov ebx, 6
test al, al
je 0x41aaf1
mov edx, dword [esp + 4]
lea ecx, [esp + 0x78]
push edi
call fcn.0041ab8d
add esp, 4
mov ebx, 7
test al, al
je 0x41aaf1
mov eax, dword [esp + 0xf0]
mov ecx, dword [esp + 0xf4]
xor ebx, ebx
mov edx, 0xf
mov dword [esp + 0x134], edx
mov dword [esp + 0x130], ebx
mov byte [esp + 0x120], bl
sub esp, 0xc
mov dl, byte [esp + 0x114]
lea esi, [esp + 0x12c]
mov byte [esp + 8], dl
mov dword [esp + 4], ecx
mov ecx, esi
mov dword [esp], eax
call fcn.0041ae5c
mov edi, 0xf
mov eax, dword [esp + 0x130]
mov ecx, esi
cmp dword [esp + 0x134], edi
jbe 0x41aa47
mov ecx, dword [esp + 0x120]
lea esi, [esp + 0x108]
mov dword [esi], ecx
mov dword [esi + 4], eax
lea eax, [esp + 0xb8]
push eax
push esi
call fcn.0042bad0
add esp, 8
mov eax, dword [esp + 0x130]
cmp dword [esp + 0x134], edi
lea ecx, [esp + 0x120]
jbe 0x41aa82
mov ecx, dword [esp + 0x120]
push eax
push ecx
push esi
call fcn.0042b5f8
add esp, 0xc
lea edi, [esp + 0xa0]
mov ecx, edi
call fcn.00401c10
movq xmm0, qword [esp + 0x118]
movq xmm2, qword [esp + 0x108]
movq xmm1, qword [esp + 0x110]
mov ecx, esi
mov eax, 0xf
mov dword [esp + 0x118], ebx
mov dword [esp + 0x11c], eax
mov byte [esp + 0x108], bl
movq qword [edi + 0x10], xmm0
movq qword [edi + 8], xmm1
movq qword [edi], xmm2
call fcn.00401c10
lea ecx, [esp + 0x120]
call fcn.00401c10
lea ecx, [esp + 0x64]
call fcn.0041af7c
lea ecx, [esp + 0xd0]
call fcn.00402946
jmp 0x41ab0d
mov ebx, 8
lea ecx, [esp + 0xf0]
jmp 0x41a7b1