Function at 0x45cc10
Capabilities:
Get remote cert context via schannel
Resolve function by parsing pe exports

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0xb4
lea eax, [edx + 0x114]
mov edi, edx
mov dword [esp + 0xc], ecx
mov dword [esp], edx
mov dword [esp + 0x90], eax
lea eax, [edx + 8]
mov dword [esp + 0xb0], eax
lea eax, [edx + 0x128]
mov dword [esp + 0x64], eax
lea eax, [edx + 0x11c]
mov dword [esp + 0xa8], eax
lea eax, [edx + 4]
mov dword [esp + 0x94], eax
lea eax, [edx + 0x100]
mov dword [esp + 0x98], eax
movzx eax, byte [edi + 0x110]
test eax, eax
jne 0x45d71d
mov cl, byte [edi + 0x113]
mov al, byte [edi + 0x112]
mov bh, byte [edi + 0x111]
mov bl, byte [edi + 0x114]
mov edx, edi
mov byte [esp + 0xb], cl
lea ecx, [esp + 0x38]
mov byte [esp + 4], al
call fcn.0045d978
cmp byte [esp + 0x38], 4
jne 0x45ccaf
mov eax, dword [esp + 0x3c]
jmp 0x45ccc0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cl, 4
jne 0x45d760
test eax, eax
je 0x45ccd6
cmp byte [edi + 0x110], 0
jne 0x45ccda
mov byte [edi + 0x111], 1
jmp 0x45ccda
test bh, bh
je 0x45cd0d
mov edx, dword [esp + 0xb0]
lea ecx, [esp + 0x38]
call fcn.0045da84
cmp byte [esp + 0x38], 4
je 0x45ccfd
mov eax, dword [esp + 0x38]
cmp al, 4
jne 0x45d792
cmp byte [edi + 0x110], 0
jne 0x45cd0d
mov byte [edi + 0x111], 0
or bl, byte [esp + 0xb]
mov dword [esp + 0x10], esi
je 0x45cd1e
xor ebx, ebx
jmp 0x45d231
cmp byte [edi + 0x15e], 0
mov ebx, 0
jne 0x45d231
lea eax, [esp + 0x20]
mov dword [esp + 0x20], 0
push eax
push 0x53
push dword [esp + 0x6c]
call dword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
je 0x45cd76
cmp byte [esp + 4], 0
mov ecx, eax
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], eax
je 0x45cd83
lea ecx, [esp + 0x38]
call fcn.0045ca94
xor eax, eax
mov dl, 4
mov bh, al
jmp 0x45d208
mov ecx, dword [esp + 0x20]
mov byte [esp + 0x38], 4
mov dword [esp + 0x3c], ecx
mov ebx, dword [esp + 0x38]
cmp bl, 4
jne 0x45ce1e
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x14], ecx
test eax, eax
je 0x45ce36
push eax
call dword [sym.imp.crypt32.dll_CertDuplicateStore]
mov ecx, edi
mov edi, eax
mov ebx, 0
cmp dword [ecx], 0
je 0x45ce60
mov eax, dword [esp + 0x94]
mov dword [esp + 0x38], 0
mov dword [esp + 0x40], eax
lea ecx, [esp + 0x38]
call fcn.0049623e
test eax, eax
je 0x45ce49
mov esi, edx
lea ecx, [esp + 0x20]
mov edx, edi
push esi
call fcn.00496200
add esp, 4
cmp byte [esp + 0x20], 4
jne 0x45cdff
mov ebp, dword [esp + 0x24]
and ebx, 0xffffff00
or ebx, 4
jmp 0x45ce07
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x24]
cmp bl, 4
jne 0x45cfe7
push ebp
mov ebp, dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
call ebp
push esi
call ebp
jmp 0x45cdcb
mov eax, ebx
mov edx, ebx
shrd eax, ecx, 0x10
shr ecx, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
jmp 0x45d208
mov edi, dword [edi]
mov ebx, 0
test edi, edi
je 0x45ce6d
mov eax, dword [esp]
mov edi, dword [eax + 4]
jmp 0x45ce6d
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x10]
je 0x45ce5e
push dword [esp + 0x3c]
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
xor ebx, ebx
push 0
push edi
call dword [sym.imp.crypt32.dll_CertCloseStore]
mov ecx, dword [esp + 0x14]
lea eax, [esp + 0x20]
mov dword [esp + 0x38], 0x10
mov dword [esp + 0x3c], 1
mov dword [esp + 0x40], 3
mov dword [esp + 0x20], str.1.3.6.1.5.5.7.3.1
mov dword [esp + 0x24], str.1.3.6.1.4.1.311.10.3.3
mov dword [esp + 0x28], str.2.16.840.1.113730.4.1
mov dword [esp + 0x80], ebx
mov dword [esp + 0x44], eax
lea eax, [esp + 0x80]
push eax
push ebx
push 0xc0000001
lea eax, [esp + 0x44]
push eax
push edi
push ebx
push ecx
push ebx
call dword [sym.imp.crypt32.dll_CertGetCertificateChain]
test eax, eax
je 0x45cfc0
mov edi, dword [esp]
mov edx, dword [esp + 0x80]
cmp dword [edi], 0
mov dword [esp + 0x5c], edx
je 0x45d029
lea ecx, [esp + 0x20]
call fcn.00496857
cmp dword [esp + 0x20], 0
je 0x45d04c
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
lea ecx, [esp + 0x68]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], 0
lea ecx, [esp + 0x80]
call fcn.004968ca
mov esi, edx
cmp eax, 1
jne 0x45d030
mov eax, dword [esp + 0x94]
mov edi, dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov dword [esp + 0x40], eax
mov dword [esp + 0x38], 0
lea ecx, [esp + 0x38]
call fcn.0049623e
mov ebx, eax
cmp eax, 1
jne 0x45cf95
mov eax, dword [edx + 8]
mov ebp, edx
cmp eax, dword [esi + 8]
jne 0x45cf90
push eax
push dword [esi + 4]
push dword [ebp + 4]
call fcn.004e57f4
add esp, 0xc
mov edi, eax
push ebp
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
test edi, edi
mov edi, dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
jne 0x45cf52
jmp 0x45cf95
push ebp
call edi
jmp 0x45cf52
cmp dword [esp + 0x38], 0
je 0x45cfa2
push dword [esp + 0x3c]
call edi
push esi
call edi
mov edi, dword [esp]
cmp ebx, 1
mov ebx, 0
jne 0x45cf22
mov esi, 0xf10
jmp 0x45d040
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
shl eax, 0x10
mov dword [esp + 0x60], 0
shr ecx, 0x10
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x30], ecx
mov bh, al
jmp 0x45d1cc
push esi
mov esi, dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
call esi
cmp dword [esp + 0x38], 0
je 0x45cffd
push dword [esp + 0x3c]
call esi
mov eax, ebx
shrd eax, ebp, 0x10
shr ebp, 0x10
mov dword [esp + 0x34], eax
push 0
push edi
call dword [sym.imp.crypt32.dll_CertCloseStore]
mov edi, dword [esp]
mov esi, dword [esp + 0x10]
mov eax, ebx
mov dword [esp + 0x30], ebp
mov dword [esp + 0x60], eax
jmp 0x45d1f9
mov esi, 0xf00
jmp 0x45d055
test eax, eax
je 0x45d03b
push esi
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov esi, 0xf00
push dword [esp + 0x6c]
call dword [sym.imp.crypt32.dll_CertFreeCertificateChain]
jmp 0x45d051
mov esi, 0xf00
mov edx, dword [esp + 0x5c]
cmp dword [edi + 0x138], 0x80000000
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x88], ebx
mov dword [esp + 0x80], 0x10
mov dword [esp + 0x84], 2
je 0x45d09b
cmp byte [edi + 0x15d], 0
jne 0x45d09b
mov eax, dword [edi + 0x13c]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x80]
mov dword [esp + 0x68], 0xc
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], eax
lea eax, [esp + 0x3c]
mov dword [eax + 4], ebx
mov dword [eax], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 8], ebx
lea eax, [esp + 0x38]
mov dword [esp + 0x38], 0x14
push eax
lea eax, [esp + 0x6c]
push eax
push edx
push 4
call dword [sym.imp.crypt32.dll_CertVerifyCertificateChainPolicy]
test eax, eax
je 0x45d0f6
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x45d11d
mov dword [esp + 0x1c], esi
mov dword [esp + 0x18], 0
jmp 0x45d122
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov ecx, eax
shl eax, 0x10
mov dword [esp + 0x60], 0
shr ecx, 0x10
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0x30], ecx
mov bh, al
jmp 0x45d1ea
mov byte [esp + 0x18], 4
mov ecx, dword [edi + 0x130]
test ecx, ecx
je 0x45d18d
mov eax, dword [edi + 0x134]
mov ebx, dword [esp + 0x5c]
mov edi, dword [esp + 0x44]
mov edx, dword [eax + 8]
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], esi
dec edx
and edx, 0xfffffff8
lea ecx, [edx + ecx + 8]
mov edx, dword [esp + 0x40]
mov dword [esp + 0x28], edx
lea edx, [esp + 0x20]
mov dword [esp + 0x2c], edi
push edx
push ecx
lea ecx, [esp + 0x7c]
push ecx
call dword [eax + 0x14]
add esp, 0xc
test esi, esi
je 0x45d17b
lea eax, [esp + 0x18]
push eax
call fcn.004015d7
add esp, 4
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x10]
cmp bl, 4
jne 0x45d1b3
mov edi, dword [esp]
jmp 0x45d1a4
mov ebx, dword [esp + 0x18]
cmp bl, 4
jne 0x45d1d1
push dword [esp + 0x5c]
call dword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov bh, 1
jmp 0x45d211
mov ecx, dword [esp + 0x78]
mov eax, ebx
mov dword [esp + 0x60], ebx
shrd eax, ecx, 0x10
shr ecx, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov edi, dword [esp]
jmp 0x45d1f9
mov ecx, dword [esp + 0x1c]
mov eax, ebx
mov dword [esp + 0x60], ebx
shrd eax, ecx, 0x10
shr ecx, 0x10
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], ecx
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
push eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateChain]
mov eax, dword [esp + 0x14]
push eax
call dword [sym.imp.crypt32.dll_CertFreeCertificateContext]
mov edx, dword [esp + 0x60]
cmp dl, 4
jne 0x45d7b4
test bh, bh
je 0x45cd17
cmp byte [edi + 0x110], 0
mov ebx, 0
jne 0x45d231
mov eax, dword [esp + 0x90]
mov byte [eax], 1
cmp byte [esp + 4], 0
je 0x45d680
cmp dword [edi + 0x154], 0
je 0x45d276
lea ecx, [esp + 0x38]
mov edx, edi
call fcn.0045dae1
cmp byte [esp + 0x38], 4
jne 0x45d25d
mov eax, dword [esp + 0x3c]
jmp 0x45d26e
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
cmp cl, 4
jne 0x45d760
test eax, eax
je 0x45d76c
mov esi, dword [edi + 0xe0]
mov al, byte [0x538038]
mov ecx, 0x18
mov edx, 4
call fcn.004018b0
test eax, eax
je 0x45d88b
mov edx, dword [edi + 0xf0]
cmp edx, esi
jb 0x45d89a
mov edx, dword [edi + 0xec]
mov ebp, eax
mov ecx, 2
mov dword [ebp], esi
mov dword [ebp + 4], ecx
mov dword [ebp + 8], edx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 0x10], ebx
mov dword [ebp + 0x14], ebx
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], ecx
cmp dword [edi + 0x144], 0x80000000
jne 0x45d2e7
mov dword [esp + 0x68], 0
jmp 0x45d345
mov edx, dword [edi + 0x148]
lea ecx, [esp + 0x68]
push dword [edi + 0x14c]
call fcn.00496275
add esp, 4
mov eax, dword [esp + 0x68]
test eax, eax
mov dword [esp + 4], eax
je 0x45d345
mov esi, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
lea ecx, [esp + 0x74]
mov edx, 2
call fcn.0041007f
mov edi, dword [esp + 0x7c]
mov ebp, dword [esp + 0x78]
lea eax, [edi + edi*2]
inc edi
mov dword [ebp + eax*4], esi
mov dword [ebp + eax*4 + 4], 0x12
mov dword [ebp + eax*4 + 8], ebx
xor ebx, ebx
mov dword [esp + 0x7c], edi
jmp 0x45d352
mov edi, 2
mov dword [esp + 4], 0
mov edx, dword [esp]
lea eax, [esp + 0x3c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], 2
mov dword [esp + 0x40], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], 0x11
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], edi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x88], ebp
mov dword [esp + 0x24], 3
mov dword [esp + 0x9c], ebx
mov dword [eax + 0x14], ebx
mov dword [eax + 0x10], ebx
mov dword [eax + 0x1c], ebx
mov dword [eax + 0x18], ebx
lea eax, [esp + 0x38]
mov dword [esp + 0x28], eax
cmp byte [edx + 0x15e], 0
je 0x45d40c
mov ecx, dword [edx + 0x150]
cmp byte [edx + 0x15f], 0
mov esi, dword [esp + 0x64]
mov eax, 0
mov edx, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmove eax, esi
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], ecx
push ebx
lea ecx, [esp + 0xa0]
push ecx
lea ecx, [esp + 0x28]
push ecx
push esi
push ebx
push 0x1011c
lea ecx, [esp + 0x98]
push ecx
push eax
lea eax, [esp + 0x38]
push eax
call dword [sym.imp.secur32.dll_AcceptSecurityContext]
jmp 0x45d475
xor ecx, ecx
cmp byte [edx + 0x15c], 0
mov eax, 0
je 0x45d422
mov eax, dword [edx + 0x13c]
cmp dword [edx + 0x138], 0x80000000
mov edx, dword [edx + 0x150]
mov esi, dword [edx + 8]
mov edx, dword [edx + 0xc]
cmove eax, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], edx
push ecx
lea edx, [esp + 0xa0]
push edx
lea edx, [esp + 0x28]
push edx
push ecx
push ecx
lea edx, [esp + 0x94]
push edx
push ecx
push ecx
push 0x9819c
push eax
push dword [esp + 0x8c]
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.secur32.dll_InitializeSecurityContextW]
mov esi, eax
xor ebx, ebx
xor eax, eax
inc eax
lea eax, [eax + eax*2]
mov eax, dword [esp + eax*4 + 0x40]
test eax, eax
je 0x45d48e
push eax
call dword [sym.imp.secur32.dll_FreeContextBuffer]
test bl, 1
mov eax, 2
mov bl, 1
je 0x45d47c
cmp esi, 0x80090318
je 0x45d4d9
test esi, esi
je 0x45d506
cmp esi, 0x90312
jne 0x45d7ab
mov eax, dword [esp]
cmp edi, 1
mov byte [eax + 0x15f], 0
jbe 0x45d85e
cmp dword [ebp + 0x10], 5
jne 0x45d523
mov ebx, dword [esp]
mov edx, dword [ebx + 0xe0]
sub edx, dword [ebp + 0xc]
jmp 0x45d52c
cmp edi, 1
jbe 0x45d86d
cmp dword [ebp + 0x10], 4
mov eax, 1
jne 0x45d4f0
mov eax, dword [ebp + 0xc]
mov edi, dword [esp]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 4]
mov dword [edi + 0x154], eax
jmp 0x45d63f
cmp edi, 1
jbe 0x45d87c
cmp dword [ebp + 0x10], 5
jne 0x45d584
mov edi, dword [esp]
mov edx, dword [edi + 0xe0]
sub edx, dword [ebp + 0xc]
jmp 0x45d58d
mov ebx, dword [esp]
mov edx, dword [ebx + 0xe0]
mov ebp, dword [esp + 4]
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
mov ecx, ebx
call fcn.0045dc69
mov eax, dword [ebx + 0xe0]
xor ecx, ecx
mov edx, esi
or eax, dword [ebx + 0xe4]
mov eax, str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs
sete cl
test edi, edi
mov dword [ebx + 0x154], ecx
mov ecx, dword [esp + 0x98]
cmove edx, eax
push edi
call fcn.00402a58
add esp, 4
push esi
call dword [sym.imp.secur32.dll_FreeContextBuffer]
mov esi, dword [esp + 0x10]
mov edi, ebx
jmp 0x45d63f
mov edi, dword [esp]
mov edx, dword [edi + 0xe0]
mov esi, dword [esp + 0x40]
mov ebp, dword [esp + 4]
test esi, esi
je 0x45d5a4
mov eax, dword [esp + 0x38]
mov dword [esp + 0xac], eax
mov ecx, edi
call fcn.0045dc69
mov eax, dword [edi + 0xe0]
mov ecx, dword [edi + 0xe4]
mov ebx, dword [esp + 0x10]
xor edx, edx
mov edi, eax
or edi, ecx
mov edi, dword [esp]
sete dl
test esi, esi
cmovne ebx, esi
mov esi, ebx
mov dword [edi + 0x154], edx
je 0x45d60c
mov ebx, dword [esp + 0xac]
mov ecx, dword [esp + 0x98]
mov eax, str.C:Usersigame.cargo_registry_srcindex.crates.io_6f17d22bba15001fzip_0.6.6_src_aes.rs
mov edx, esi
test ebx, ebx
cmove edx, eax
push ebx
call fcn.00402a58
add esp, 4
push esi
call dword [sym.imp.secur32.dll_FreeContextBuffer]
mov eax, dword [edi + 0xe0]
mov ecx, dword [edi + 0xe4]
or eax, ecx
je 0x45d62f
lea ecx, [esp + 0x18]
mov edx, edi
call fcn.0045dcfb
cmp byte [esp + 0x18], 4
je 0x45d62f
mov ebx, dword [esp + 0x18]
cmp bl, 4
jne 0x45d7de
cmp byte [edi + 0x110], 0
jne 0x45d63f
mov byte [edi + 0x112], 0
test ebp, ebp
je 0x45d65e
mov eax, dword [esp + 0x70]
cmp ebp, 9
jb 0x45d64f
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x74], 0
je 0x45cc68
push dword [esp + 0x78]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
jmp 0x45cc68
cmp byte [esp + 0xb], 0
mov al, 2
jne 0x45d6e0
xorps xmm0, xmm0
lea eax, [esp + 0x38]
mov dword [esp + 0x48], 0
movups xmmword [esp + 0x38], xmm0
push eax
push 4
push dword [esp + 0x6c]
call dword [sym.imp.secur32.dll_QueryContextAttributesW]
test eax, eax
jne 0x45d84e
mov eax, dword [esp + 0x38]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x3c]
movsd xmm0, qword [eax + 4]
mov eax, dword [eax + 0xc]
mov dword [esp + 0x28], eax
mov al, 1
movsd qword [esp + 0x20], xmm0
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
mov byte [edi + 0x110], al
movsd xmm0, qword [esp + 0x20]
mov dword [edi + 0x114], edx
mov dword [edi + 0x118], ecx
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x28]
mov dword [ecx + 8], edx
movsd qword [ecx], xmm0
jmp 0x45cc68
cmp eax, 1
jne 0x45d751
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0xc]
mov eax, dword [edx + 0x10]
movsd xmm0, qword [edx]
movsd xmm1, qword [edx + 8]
mov dword [ecx + 0x14], eax
movsd qword [ecx + 0xc], xmm1
movsd qword [ecx + 4], xmm0
mov dword [ecx], 1
jmp 0x45d843
mov eax, dword [esp + 0xc]
mov dword [eax], 0
jmp 0x45d843
mov edx, dword [esp + 0xc]
mov dword [edx + 4], ecx
mov dword [edx + 8], eax
jmp 0x45d7a0
mov esi, dword [esp + 0xc]
mov edx, 0x25
lea ecx, [esi + 4]
push 0x1f
push str.unexpected_EOF_during_handshakeassertion_failed:_size___nread
call fcn.004981d9
add esp, 8
mov dword [esi], 2
jmp 0x45d843
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov dword [edx], 2
jmp 0x45d843
mov ebp, esi
shl esi, 0x18
xor ebx, ebx
jmp 0x45d7e8
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x30]
mov eax, edx
mov esi, dword [esp + 0xc]
movzx edi, bh
movzx eax, al
shl edi, 8
shld ebp, ecx, 0x10
shl ecx, 0x10
or eax, ecx
mov dword [esi + 8], ebp
or edi, eax
mov dword [esi + 4], edi
jmp 0x45d787
mov ebp, dword [esp + 0x1c]
mov esi, ebx
shrd esi, ebp, 8
shr ebp, 8
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x45d80e
mov eax, dword [esp + 0x70]
cmp ecx, 9
jb 0x45d7ff
mov eax, dword [eax - 4]
push eax
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
cmp dword [esp + 0x74], 0
je 0x45d827
push dword [esp + 0x78]
push 0
push dword [0x537fc8]
call dword [sym.imp.KERNEL32.dll_HeapFree]
mov ecx, dword [esp + 0xc]
shld ebp, esi, 8
shl esi, 8
movzx eax, bl
or eax, esi
mov dword [ecx + 8], ebp
mov dword [ecx + 4], eax
mov dword [ecx], 2
add esp, 0xb4
pop esi
pop edi
pop ebx
pop ebp
ret
mov ecx, dword [esp + 0xc]
mov dword [ecx + 8], eax
mov dword [ecx + 4], 0
jmp 0x45d83d
xor ecx, ecx
mov edx, edi
inc ecx
push 0x5249b8
call fcn.004e8be0
xor ecx, ecx
mov edx, edi
inc ecx
push 0x5249c8
call fcn.004e8be0
xor ecx, ecx
mov edx, edi
inc ecx
push 0x5249a8
call fcn.004e8be0
mov ecx, 4
mov edx, 0x18
call fcn.004e8800
mov ecx, esi
push 0x524998
call fcn.004e8c40