Function at 0x51b580
Capabilities:
Check if file exists
Print debug messages

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x77ffc5
mov eax, dword fs:[0]
push eax
sub esp, 0x6e0
mov eax, dword [0x88bba0]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x5d0], ecx
mov esi, dword [ebp + 8]
mov dword [ebp - 0x5d4], esi
cmp dword [esi + 0x14], 8
mov dword [ebp - 4], 0
mov byte [ebp - 0x5c9], 0
jb 0x51b5d8
mov eax, dword [esi]
jmp 0x51b5da
mov eax, esi
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x51b647
push esi
lea eax, [ebp - 0x42c]
push str.Unable_to_validate_signature_for__S__specified_path_does_not_exist.
push eax
call fcn.0051afa0
push 0x7b7410
push eax
lea eax, [ebp - 0x444]
mov byte [ebp - 4], 1
push eax
call fcn.0051af00
add esp, 0x18
cmp dword [ebp - 0x418], 8
jb 0x51b627
push dword [ebp - 0x42c]
call fcn.00489b60
add esp, 4
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
cmovae eax, dword [ebp - 0x444]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
jmp 0x51c360
cmp dword [esi + 0x14], 8
xorps xmm0, xmm0
movdqu xmmword [ebp - 0x604], xmm0
mov dword [ebp - 0x604], 0x10
jb 0x51b66a
mov esi, dword [esi]
mov dword [ebp - 0x5d4], esi
push 0x34
lea eax, [ebp - 0x638]
mov dword [ebp - 0x600], esi
push 0
push eax
mov dword [ebp - 0x5fc], 0
mov dword [ebp - 0x5f8], 0
mov dword [ebp - 0x454], 0xaac56b
mov dword [ebp - 0x450], 0x11d0cd44
mov dword [ebp - 0x44c], 0xc000c28c
mov dword [ebp - 0x448], 0xee95c24f
call fcn.00723180
add esp, 0xc
mov dword [ebp - 0x638], 0x34
lea eax, [ebp - 0x604]
mov dword [ebp - 0x634], 0
mov dword [ebp - 0x620], eax
lea eax, [ebp - 0x638]
mov dword [ebp - 0x630], 0
push eax
lea eax, [ebp - 0x454]
mov dword [ebp - 0x62c], 2
push eax
push 0
mov dword [ebp - 0x628], 0
mov dword [ebp - 0x610], 0x1040
mov dword [ebp - 0x624], 1
mov dword [ebp - 0x61c], 1
mov dword [ebp - 0x618], 0
mov dword [ebp - 0x614], 0
mov dword [ebp - 0x60c], 0
call sub.WINTRUST.dll_WinVerifyTrust
mov edi, eax
mov dword [ebp - 0x430], 7
test edi, edi
mov dword [ebp - 0x434], 0
push 0x14
sete byte [ebp - 0x5c9]
lea ecx, [ebp - 0x444]
xor eax, eax
push str.VerifyTrustedFile__
mov word [ebp - 0x444], ax
call fcn.00493f10
mov byte [ebp - 4], 2
cmp edi, 0x800b0100
jg 0x51b8f3
je 0x51b862
cmp edi, 0x80092026
je 0x51b80a
cmp edi, 0x800b0004
jne 0x51b907
push esi
lea ecx, [ebp - 0x5c8]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x598]
mov byte [ebp - 4], 9
push str.File_was_signed_but_not_trusted_for
push eax
call fcn.0051af50
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0xa
call fcn.0048dde0
lea ecx, [ebp - 0x598]
call fcn.0048d520
lea ecx, [ebp - 0x5c8]
mov byte [ebp - 4], 2
call fcn.0048d520
jmp 0x51ba41
push esi
lea ecx, [ebp - 0x580]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x5b0]
mov byte [ebp - 4], 0xb
push str.File_was_signed_however_user_trust_is_disabled_and_cert_hash_not_explicitly_trusted_by_admin_for
push eax
call fcn.0051af50
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0xc
call fcn.0048dde0
lea ecx, [ebp - 0x5b0]
call fcn.0048d520
lea ecx, [ebp - 0x580]
mov byte [ebp - 4], 2
call fcn.0048d520
jmp 0x51ba41
push esi
lea ecx, [ebp - 0x538]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x4b4]
mov byte [ebp - 4], 5
push str.File_not_signed_or_invalid_signature_for
push eax
call fcn.0051af50
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 6
call fcn.0048dde0
cmp dword [ebp - 0x4a0], 8
jb 0x51b8b2
push dword [ebp - 0x4b4]
call fcn.00489b60
add esp, 4
xor eax, eax
mov dword [ebp - 0x4a0], 7
cmp dword [ebp - 0x524], 8
mov dword [ebp - 0x4a4], 0
mov word [ebp - 0x4b4], ax
mov byte [ebp - 4], 2
jb 0x51ba41
push dword [ebp - 0x538]
call fcn.00489b60
add esp, 4
jmp 0x51ba41
cmp edi, 0x800b0111
je 0x51bbb5
test edi, edi
je 0x51bb5d
push edi
push str.0x_x
lea eax, [ebp - 0x414]
push 0x200
push eax
call fcn.0051c720
add esp, 0x10
lea ecx, [ebp - 0x568]
push esi
call fcn.0048fb20
mov esi, eax
lea eax, [ebp - 0x414]
mov byte [ebp - 4], 0xd
push eax
lea ecx, [ebp - 0x49c]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x4e4]
mov byte [ebp - 4], 0xe
push str.File_signature_check_failed_with_unknown_error
push eax
call fcn.0051af50
push esi
push eax
lea eax, [ebp - 0x4cc]
mov byte [ebp - 4], 0xf
push eax
call fcn.0051ae90
add esp, 0x18
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 0x10
call fcn.0048dde0
cmp dword [ebp - 0x4b8], 8
jb 0x51b99b
push dword [ebp - 0x4cc]
call fcn.00489b60
add esp, 4
xor eax, eax
mov dword [ebp - 0x4b8], 7
cmp dword [ebp - 0x4d0], 8
mov dword [ebp - 0x4bc], 0
mov word [ebp - 0x4cc], ax
jb 0x51b9cf
push dword [ebp - 0x4e4]
call fcn.00489b60
add esp, 4
xor eax, eax
mov dword [ebp - 0x4d0], 7
cmp dword [ebp - 0x488], 8
mov dword [ebp - 0x4d4], 0
mov word [ebp - 0x4e4], ax
jb 0x51ba03
push dword [ebp - 0x49c]
call fcn.00489b60
add esp, 4
xor eax, eax
mov dword [ebp - 0x488], 7
cmp dword [ebp - 0x554], 8
mov dword [ebp - 0x48c], 0
mov word [ebp - 0x49c], ax
mov byte [ebp - 4], 2
jb 0x51ba3b
push dword [ebp - 0x568]
call fcn.00489b60
add esp, 4
mov esi, dword [ebp - 0x5d4]
push 1
push 0x7b7410
lea ecx, [ebp - 0x444]
call fcn.0048df70
cmp dword [ebp - 0x430], 8
lea eax, [ebp - 0x444]
mov edi, dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
cmovae eax, dword [ebp - 0x444]
push eax
call edi
lea eax, [ebp - 0x638]
mov dword [ebp - 0x61c], 2
push eax
lea eax, [ebp - 0x454]
push eax
push 0
call sub.WINTRUST.dll_WinVerifyTrust
cmp byte [ebp - 0x5c9], 1
jne 0x51c360
mov ecx, dword [ebp + 0x10]
mov eax, 0x88888889
sub ecx, dword [ebp + 0xc]
imul ecx
add edx, ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x51c360
push 0
lea eax, [ebp - 0x5dc]
mov dword [ebp - 0x5ec], 0
push eax
lea eax, [ebp - 0x5ec]
mov dword [ebp - 0x5dc], 0
push eax
lea eax, [ebp - 0x640]
mov dword [ebp - 0x5e4], 0
push eax
lea eax, [ebp - 0x63c]
mov dword [ebp - 0x5d8], 0
push eax
lea eax, [ebp - 0x5f4]
mov dword [ebp - 0x5e0], 0
push eax
push 0
push 2
push 0x400
push esi
push 1
mov byte [ebp - 4], 0x11
call dword [sym.imp.CRYPT32.dll_CryptQueryObject]
test eax, eax
jne 0x51bc46
lea eax, [ebp - 0x5d0]
mov dword [ebp - 0x5d0], str.Failed
push eax
lea ecx, [ebp - 0x64c]
call fcn.0072330e
push 0x85e36c
lea eax, [ebp - 0x64c]
push eax
call fcn.00722044
push esi
lea ecx, [ebp - 0x46c]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x484]
mov byte [ebp - 4], 3
push str.Successfully_verified_file_signature_for
push eax
call fcn.0051af50
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 4
call fcn.0048dde0
lea ecx, [ebp - 0x484]
call fcn.0048d520
lea ecx, [ebp - 0x46c]
mov byte [ebp - 4], 2
call fcn.0048d520
jmp 0x51ba41
push esi
lea ecx, [ebp - 0x550]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x42c]
mov byte [ebp - 4], 7
push str.File_was_signed_but_explicitly_disallowed_for
push eax
call fcn.0051af50
add esp, 0xc
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x444]
mov byte [ebp - 4], 8
call fcn.0048dde0
cmp dword [ebp - 0x418], 8
jb 0x51bc05
push dword [ebp - 0x42c]
call fcn.00489b60
add esp, 4
xor eax, eax
mov dword [ebp - 0x418], 7
cmp dword [ebp - 0x53c], 8
mov dword [ebp - 0x41c], 0
mov word [ebp - 0x42c], ax
mov byte [ebp - 4], 2
jb 0x51ba41
push dword [ebp - 0x550]
call fcn.00489b60
add esp, 4
jmp 0x51ba41
lea eax, [ebp - 0x5e0]
push eax
push 0
push 0
push 6
push dword [ebp - 0x5dc]
call dword [sym.imp.CRYPT32.dll_CryptMsgGetParam]
test eax, eax
jne 0x51bd03
push esi
lea ecx, [ebp - 0x484]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x12
push str.VerifyTrustedFile___Failed_to_retrieve_signer_info_size_for_file
push eax
call fcn.0051af50
add esp, 0xc
push 0x7b7410
push eax
lea eax, [ebp - 0x42c]
mov byte [ebp - 4], 0x13
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x16
call fcn.0048d520
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
cmovae eax, dword [ebp - 0x42c]
push eax
call edi
lea eax, [ebp - 0x5d0]
mov dword [ebp - 0x5d0], str.Failed
push eax
lea ecx, [ebp - 0x658]
call fcn.0072330e
push 0x85e36c
lea eax, [ebp - 0x658]
push eax
call fcn.00722044
push dword [ebp - 0x5e0]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x5e4], eax
test eax, eax
jne 0x51bdbb
push esi
lea ecx, [ebp - 0x484]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x17
push str.VerifyTrustedFile___Failed_to_allocate_signer_info_for_file
push eax
call fcn.0051af50
add esp, 0xc
push 0x7b7410
push eax
lea eax, [ebp - 0x42c]
mov byte [ebp - 4], 0x18
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x1b
call fcn.0048d520
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
cmovae eax, dword [ebp - 0x42c]
push eax
call edi
lea eax, [ebp - 0x5d0]
mov dword [ebp - 0x5d0], str.Failed
push eax
lea ecx, [ebp - 0x670]
call fcn.0072330e
push 0x85e36c
lea eax, [ebp - 0x670]
push eax
call fcn.00722044
lea ecx, [ebp - 0x5e0]
push ecx
push eax
push 0
push 6
push dword [ebp - 0x5dc]
call dword [sym.imp.CRYPT32.dll_CryptMsgGetParam]
test eax, eax
jne 0x51be77
push esi
lea ecx, [ebp - 0x484]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x1c
push str.VerifyTrustedFile___Failed_to_allocate_signer_info_for_file
push eax
call fcn.0051af50
add esp, 0xc
push 0x7b7410
push eax
lea eax, [ebp - 0x42c]
mov byte [ebp - 4], 0x1d
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x20
call fcn.0048d520
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
cmovae eax, dword [ebp - 0x42c]
push eax
call edi
lea eax, [ebp - 0x5d0]
mov dword [ebp - 0x5d0], str.Failed
push eax
lea ecx, [ebp - 0x664]
call fcn.0072330e
push 0x85e36c
lea eax, [ebp - 0x664]
push eax
call fcn.00722044
mov ecx, dword [ebp - 0x5e4]
push 0
mov eax, dword [ecx + 4]
mov dword [ebp - 0x6d4], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0x6d0], eax
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0x6e8], eax
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x6e4], eax
lea eax, [ebp - 0x6ec]
push eax
push 0xb0000
push 0
push 0x10001
push dword [ebp - 0x5ec]
call dword [sym.imp.CRYPT32.dll_CertFindCertificateInStore]
mov dword [ebp - 0x5d8], eax
test eax, eax
jne 0x51bf6c
push esi
lea ecx, [ebp - 0x484]
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x21
push str.VerifyTrustedFile___Failed_to_load_signer_certificate_info_for_file
push eax
call fcn.0051af50
add esp, 0xc
push 0x7b7410
push eax
lea eax, [ebp - 0x42c]
mov byte [ebp - 4], 0x22
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
mov byte [ebp - 4], 0x25
call fcn.0048d520
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
cmovae eax, dword [ebp - 0x42c]
push eax
call edi
lea eax, [ebp - 0x5d0]
mov dword [ebp - 0x5d0], str.Failed
push eax
lea ecx, [ebp - 0x67c]
call fcn.0072330e
push 0x85e36c
lea eax, [ebp - 0x67c]
push eax
call fcn.00722044
mov edi, dword [ebp + 0x10]
mov esi, dword [ebp + 0xc]
mov byte [ebp - 0x5c9], 1
mov dword [ebp - 0x5f0], edi
nop
cmp esi, edi
je 0x51c31a
push esi
lea ecx, [ebp - 0x520]
call fcn.005115f0
cmp dword [ebp - 0x510], 0
mov byte [ebp - 4], 0x26
mov byte [ebp - 0x5c9], 1
jbe 0x51c0a5
xor eax, eax
mov dword [ebp - 0x418], 7
mov dword [ebp - 0x41c], 0
mov word [ebp - 0x42c], ax
mov ecx, dword [ebp - 0x5d0]
lea eax, [ebp - 0x42c]
push eax
push dword [ebp - 0x5d8]
mov byte [ebp - 4], 0x27
call fcn.0051b380
test al, al
je 0x51c003
lea eax, [ebp - 0x520]
push eax
lea ecx, [ebp - 0x42c]
call fcn.0051c3d0
test eax, eax
je 0x51c089
push dword [ebp - 0x5d4]
lea ecx, [ebp - 0x484]
mov byte [ebp - 0x5c9], 0
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x28
push str.VerifyTrustedFile___Failed_to_validate_subject_name_for
push eax
call fcn.0051af50
add esp, 0xc
push 0x7b7410
push eax
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 0x29
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
call fcn.0048d520
cmp dword [ebp - 0x488], 8
lea eax, [ebp - 0x49c]
cmovae eax, dword [ebp - 0x49c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x49c]
call fcn.0048d520
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0x26
call fcn.0048d520
cmp byte [ebp - 0x5c9], 1
jne 0x51c2dd
cmp dword [ebp - 0x4f8], 0
jbe 0x51c1ab
xor eax, eax
mov dword [ebp - 0x418], 7
mov dword [ebp - 0x41c], 0
mov word [ebp - 0x42c], ax
mov ecx, dword [ebp - 0x5d0]
lea eax, [ebp - 0x42c]
push eax
push dword [ebp - 0x5d8]
mov byte [ebp - 4], 0x2a
call fcn.0051b180
test al, al
je 0x51c109
lea eax, [ebp - 0x508]
push eax
lea ecx, [ebp - 0x42c]
call fcn.0051c3d0
test eax, eax
je 0x51c18f
push dword [ebp - 0x5d4]
lea ecx, [ebp - 0x484]
mov byte [ebp - 0x5c9], 0
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x2b
push str.VerifyTrustedFile___Failed_to_validate_issuer_name_for
push eax
call fcn.0051af50
add esp, 0xc
push 0x7b7410
push eax
lea eax, [ebp - 0x49c]
mov byte [ebp - 4], 0x2c
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
call fcn.0048d520
cmp dword [ebp - 0x488], 8
lea eax, [ebp - 0x49c]
cmovae eax, dword [ebp - 0x49c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x49c]
call fcn.0048d520
lea ecx, [ebp - 0x42c]
mov byte [ebp - 4], 0x26
call fcn.0048d520
cmp byte [ebp - 0x5c9], 1
jne 0x51c2dd
mov eax, dword [ebp - 0x4ec]
sub eax, dword [ebp - 0x4f0]
je 0x51c2f4
mov ecx, dword [ebp - 0x5d8]
mov ecx, dword [ecx + 0xc]
mov edx, dword [ecx + 4]
cmp edx, eax
je 0x51c26e
push dword [ebp - 0x5d4]
lea ecx, [ebp - 0x484]
mov byte [ebp - 0x5c9], 0
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x2d
push str.VerifyTrustedFile___Failed_to_validate_serial_number_for
push eax
call fcn.0051af50
add esp, 0xc
mov byte [ebp - 4], 0x2e
push 0x7b7410
push eax
lea eax, [ebp - 0x42c]
push eax
call fcn.0051af00
add esp, 0xc
lea ecx, [ebp - 0x46c]
call fcn.0048d520
lea ecx, [ebp - 0x484]
call fcn.0048d520
cmp dword [ebp - 0x418], 8
lea eax, [ebp - 0x42c]
cmovae eax, dword [ebp - 0x42c]
push eax
call dword [sym.imp.KERNEL32.dll_OutputDebugStringW]
lea ecx, [ebp - 0x42c]
call fcn.0048d520
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 0x11
call fcn.00511730
add esi, 0x3c
jmp 0x51bf80
xor ecx, ecx
cmp ecx, edx
jae 0x51c2d4
mov edi, dword [ebp - 0x5d8]
mov eax, dword [edi + 0xc]
mov edi, dword [ebp - 0x4f0]
mov eax, dword [eax + 8]
sub eax, ecx
mov al, byte [eax + edx - 1]
cmp al, byte [edi + ecx]
mov edi, dword [ebp - 0x5f0]
je 0x51c2d1
push dword [ebp - 0x5d4]
lea ecx, [ebp - 0x484]
mov byte [ebp - 0x5c9], 0
call fcn.0048fb20
push eax
lea eax, [ebp - 0x46c]
mov byte [ebp - 4], 0x2f
push str.VerifyTrustedFile___Failed_to_validate_serial_number_for
push eax
call fcn.0051af50
add esp, 0xc
mov byte [ebp - 4], 0x30
jmp 0x51c206
inc ecx
jmp 0x51c270
cmp byte [ebp - 0x5c9], 1
je 0x51c2f4
lea ecx, [ebp - 0x520]
mov byte [ebp - 4], 0x11
call fcn.00511730
add esi, 0x3c
jmp 0x51bf80
lea ecx, [ebp - 0x520]
call fcn.00511730
jmp 0x51c31a
mov eax, dword [ebp - 0x5e4]
test eax, eax
je 0x51c32b
push eax
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov eax, dword [ebp - 0x5d8]
test eax, eax
je 0x51c33c
push eax
call dword [sym.imp.CRYPT32.dll_CertFreeCertificateContext]
mov eax, dword [ebp - 0x5ec]
test eax, eax
je 0x51c34f
push 0
push eax
call dword [sym.imp.CRYPT32.dll_CertCloseStore]
mov eax, dword [ebp - 0x5dc]
test eax, eax
je 0x51c360
push eax
call dword [sym.imp.CRYPT32.dll_CryptMsgClose]
cmp dword [ebp - 0x430], 8
jb 0x51c377
push dword [ebp - 0x444]
call fcn.00489b60
add esp, 4
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x51c39f
push dword [ebp - 0x5f4]
lea ecx, [ebp - 0x5e5]
push ecx
push dword [ebp + 0x10]
push eax
call fcn.00511160
push dword [ebp + 0xc]
call fcn.00489b60
add esp, 0x14
mov al, byte [ebp - 0x5c9]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00722035
mov esp, ebp
pop ebp
ret 0x10