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

Disassembly:
push 0xffffffffffffffff
push 0x57c14c
mov eax, dword fs:[0]
push eax
sub esp, 0xd4
mov eax, dword [0x641030]
xor eax, esp
mov dword [esp + 0xd0], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x641030]
xor eax, esp
push eax
lea eax, [esp + 0xe8]
mov dword fs:[0], eax
mov esi, dword [esp + 0xf8]
push str.buildClientKeyExchangeRsa
mov edi, ecx
push esi
lea ecx, [esp + 0x1c]
call fcn.00437740
mov ecx, dword [edi + 0x3cc]
xor ebx, ebx
mov dword [esp + 0xf0], ebx
cmp ecx, ebx
je 0x4c7201
call fcn.00412990
mov dword [edi + 0x3cc], ebx
cmp dword [edi + 0x3a8], ebx
je 0x4c7465
cmp dword [edi + 0x3c4], ebx
je 0x4c7465
lea ebp, [edi + 0x1c8]
mov ecx, ebp
call fcn.00446f40
mov eax, dword [edi + 0x3c4]
movzx ecx, byte [eax + 0x2c]
push ecx
mov ecx, ebp
call fcn.00447e40
mov edx, dword [edi + 0x3c4]
movzx eax, byte [edx + 0x30]
push eax
mov ecx, ebp
call fcn.00447e40
push ebp
push 0x2e
call fcn.00467710
add esp, 8
lea ecx, [esp + 0x20]
mov byte [edi + 0x1e4], 1
call fcn.00447240
push esi
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
mov byte [esp + 0xf8], 1
call fcn.004bdbc0
test al, al
je 0x4c72c1
lea ecx, [esp + 0x58]
call fcn.00518ef0
push esi
lea edx, [esp + 0x24]
push edx
lea ecx, [esp + 0x60]
mov byte [esp + 0xf8], 2
call fcn.0051c330
test al, al
jne 0x4c72d7
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Invalid_public_key_DER.
mov ecx, esi
call edx
lea ecx, [esp + 0x58]
mov byte [esp + 0xf0], 1
call fcn.0051b6a0
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], 0
call fcn.004479b0
jmp 0x4c7473
lea ecx, [esp + 0x58]
call fcn.0051d090
mov ebx, eax
test ebx, ebx
jne 0x4c731a
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.Expected_an_RSA_key_here..
mov ecx, esi
call edx
lea ecx, [esp + 0x58]
mov byte [esp + 0xf0], 1
call fcn.0051b6a0
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], bl
call fcn.004479b0
jmp 0x4c7473
mov ecx, edi
call fcn.004bf5b0
test al, al
je 0x4c72b0
push esi
mov ecx, ebx
call fcn.004b8a40
mov ecx, dword [edi + 0x78]
push eax
call fcn.0042b210
test al, al
jne 0x4c736f
mov eax, dword [esi]
mov edx, dword [eax + 0x14]
push str.RSA_key_size_is_not_correct.
mov ecx, esi
call edx
lea ecx, [esp + 0x58]
mov byte [esp + 0xf0], 1
call fcn.0051b6a0
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], 0
call fcn.004479b0
jmp 0x4c7473
lea ecx, [esp + 0x3c]
call fcn.00447240
push esi
lea eax, [esp + 0x40]
push eax
push 1
push 0
push ebx
push 1
push 0
push 0
push 0
push 0
mov ecx, ebp
mov byte [esp + 0x118], 3
call fcn.0051d090
push eax
mov ecx, ebp
call fcn.00446f60
push eax
call fcn.004b5280
add esp, 0x30
test al, al
jne 0x4c73d5
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Failed_to_encrypt_with_server_certificates_public_key.
mov ecx, esi
call eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf0], 2
call fcn.004479b0
jmp 0x4c72b0
call fcn.004c3e00
mov dword [edi + 0x3cc], eax
lea ecx, [esp + 0x3c]
test eax, eax
jne 0x4c73fa
mov byte [esp + 0xf0], 2
call fcn.004479b0
jmp 0x4c72b0
push ecx
lea ecx, [eax + 0x2c]
call fcn.00449d90
cmp byte [esi + 0x122], 0
je 0x4c741a
mov edx, dword [esi]
mov eax, dword [edx + 0x18]
push str.Encrypted_pre_master_secret_with_server_certificate_RSA_public_key_is_OK.
mov ecx, esi
call eax
lea ecx, [esp + 0x3c]
mov byte [esp + 0xf0], 2
call fcn.004479b0
lea ecx, [esp + 0x58]
mov byte [esp + 0xf0], 1
call fcn.0051b6a0
lea ecx, [esp + 0x20]
mov byte [esp + 0xf0], 0
call fcn.004479b0
lea ecx, [esp + 0x14]
mov dword [esp + 0xf0], 0xffffffff
call fcn.004377b0
mov al, 1
jmp 0x4c7489
mov edx, dword [esi]
mov eax, dword [edx + 0x14]
push str.Cannot_build_ClientKeyExchange__missing_hello_objects.
mov ecx, esi
call eax
lea ecx, [esp + 0x14]
mov dword [esp + 0xf0], 0xffffffff
call fcn.004377b0
xor al, al
mov ecx, dword [esp + 0xe8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0xd0]
xor ecx, esp
call fcn.005550b0
add esp, 0xe0
ret 4