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

Disassembly:
sub esp, 0x350
mov eax, dword [0x48a3c0]
xor eax, esp
mov dword [esp + 0x34c], eax
push ebx
push ebp
mov ebp, dword [esp + 0x35c]
push 0x40
push 0
mov byte [esp + 0xdc], 0
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x18], eax
lea eax, [esp + 0xdd]
push eax
call sub.VCRUNTIME140.dll_memset
push 0x40
lea eax, [esp + 0x235]
mov byte [esp + 0x234], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x40
lea eax, [esp + 0x1dd]
mov byte [esp + 0x1dc], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x40
lea eax, [esp + 0x161]
mov byte [esp + 0x160], 0
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esp + 0x40]
push 0x96
push 0
mov dword [esp + 0x44], 0
mov ebx, dword [eax + 0x50]
lea eax, [esp + 0x2a1]
push eax
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x5c], 0
mov byte [esp + 0x2a4], 0
call sub.VCRUNTIME140.dll_memset
mov eax, dword [ebp + 0xd4c]
xorps xmm0, xmm0
test eax, eax
mov dword [esp + 0x60], 0
push 0xd
mov ecx, 0x483e85
mov dword [esp + 0x68], 0
cmovne ecx, eax
mov dword [esp + 0x54], 0
push str.Authorization
push ebp
mov dword [esp + 0x60], 0
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x64], 0
movups xmmword [esp + 0xfc], xmm0
movups xmmword [esp + 0x10c], xmm0
movups xmmword [esp + 0x160], xmm0
movups xmmword [esp + 0x170], xmm0
call fcn.0043ad50
add esp, 0x48
test eax, eax
je 0x469dab
pop ebp
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x34c]
xor ecx, esp
call fcn.00474635
add esp, 0x350
ret
push edi
lea eax, [esp + 0x64]
push 0x19000
push eax
call fcn.00424a40
lea eax, [esp + 0x4c]
push 0x19000
push eax
call fcn.00424a40
lea eax, [esp + 0x64]
push 0x19000
push eax
call fcn.00424a40
mov eax, dword [ebp + 0x61c]
mov ecx, str.aws:amz
test eax, eax
cmovne ecx, eax
lea eax, [esp + 0x154]
push eax
lea eax, [esp + 0x1e0]
push eax
lea eax, [esp + 0x248]
push eax
lea eax, [esp + 0xfc]
push eax
push str._64_:_:_64_:_:_64_:_:_64s
push ecx
call fcn.004384b0
add esp, 0x30
cmp byte [esp + 0xd8], 0
jne 0x469e3a
push str.first_aws_sigv4_provider_cant_be_empty
push ebp
call fcn.004351e0
mov ebx, dword [esp + 0x18]
add esp, 8
mov edi, 0x2b
jmp 0x469e97
cmp byte [esp + 0x228], 0
jne 0x469e5b
xor ecx, ecx
mov al, byte [esp + ecx + 0xd8]
lea ecx, [ecx + 1]
mov byte [esp + ecx + 0x227], al
test al, al
jne 0x469e46
cmp byte [esp + 0x13c], 0
push esi
jne 0x469faf
push 0x2e
push ebx
call sub.VCRUNTIME140.dll_strchr
mov edi, eax
add esp, 8
test edi, edi
jne 0x469f0b
push str.aws_sigv4:_service_missing_in_parameters_and_hostname
push ebp
call fcn.004351e0
add esp, 8
mov edi, 3
mov ebx, dword [esp + 0x14]
pop esi
lea eax, [esp + 0x44]
push eax
call fcn.00424a10
lea eax, [esp + 0x68]
push eax
call fcn.00424a10
lea eax, [esp + 0x5c]
push eax
call fcn.00424a10
push dword [esp + 0x34]
call dword [0x48a004]
push dword [esp + 0x3c]
call dword [0x48a004]
push dword [esp + 0x2c]
call dword [0x48a004]
push dword [esp + 0x34]
call dword [0x48a004]
push dword [esp + 0x3c]
call dword [0x48a004]
push ebx
call dword [0x48a004]
mov ecx, dword [esp + 0x37c]
add esp, 0x24
mov eax, edi
pop edi
pop ebp
pop ebx
xor ecx, esp
call fcn.00474635
add esp, 0x350
ret
mov esi, edi
sub esi, ebx
cmp esi, 0x40
jbe 0x469f1e
push str.aws_sigv4:_service_too_long_in_hostname
jmp 0x469e84
push esi
push ebx
mov ebx, dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
lea eax, [esp + 0x148]
push eax
call ebx
lea eax, [esp + 0x14c]
mov byte [esp + esi + 0x14c], 0
push eax
push str.aws_sigv4:_picked_service__s_from_host
push ebp
call fcn.004352b0
add esp, 0x18
cmp byte [esp + 0x1c8], 0
jne 0x469faf
inc edi
push 0x2e
push edi
call sub.VCRUNTIME140.dll_strchr
mov esi, eax
add esp, 8
test esi, esi
jne 0x469f74
push str.aws_sigv4:_region_missing_in_parameters_and_hostname
jmp 0x469e84
sub esi, edi
cmp esi, 0x40
jbe 0x469f85
push str.aws_sigv4:_region_too_long_in_hostname
jmp 0x469e84
push esi
lea eax, [esp + 0x1cc]
push edi
push eax
call ebx
lea eax, [esp + 0x1d4]
mov byte [esp + esi + 0x1d4], 0
push eax
push str.aws_sigv4:_picked_region__s_from_host
push ebp
call fcn.004352b0
add esp, 0x18
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x20]
push ebp
call fcn.00441f40
lea eax, [esp + 0xec]
push 0x4822f0
push eax
call fcn.0043a660
add esp, 0x18
test eax, eax
je 0x469ffa
lea eax, [esp + 0x140]
push 0x4822f4
push eax
call fcn.0043a660
add esp, 8
mov byte [esp + 0x13], 1
test eax, eax
jne 0x469fff
mov byte [esp + 0x13], 0
lea eax, [esp + 0x22c]
push eax
push str.x__s_content_sha256
lea eax, [esp + 0x310]
push 0x52
push eax
call fcn.00439180
push eax
lea eax, [esp + 0x31c]
push eax
push ebp
call fcn.0043ad50
add esp, 0x1c
test eax, eax
je 0x46a090
push 0x3a
push eax
call sub.VCRUNTIME140.dll_strchr
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x46a090
mov cl, byte [ebx + 1]
inc ebx
test cl, cl
je 0x46a062
nop word [eax + eax]
cmp cl, 0x20
je 0x46a05a
cmp cl, 9
jne 0x46a062
mov cl, byte [ebx + 1]
inc ebx
test cl, cl
jne 0x46a050
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x46a067
sub esi, ecx
je 0x46a179
mov al, byte [esi + ebx - 1]
cmp al, 0x20
je 0x46a086
cmp al, 9
jne 0x46a179
sub esi, 1
jne 0x46a076
jmp 0x46a179
cmp byte [esp + 0x13], 0
je 0x46a141
mov ecx, dword [esp + 0x34]
test ecx, ecx
je 0x46a0ba
cmp ecx, 5
je 0x46a0ba
mov eax, dword [ebp + 0x210]
or eax, dword [ebp + 0x214]
je 0x46a0ba
xor dl, dl
jmp 0x46a0bc
mov dl, 1
cmp ecx, 1
jne 0x46a0ce
cmp dword [ebp + 0x178], 0
je 0x46a0ce
mov eax, ecx
jmp 0x46a0d0
xor eax, eax
test dl, dl
jne 0x46a0f0
test eax, eax
jne 0x46a0f0
movups xmm0, xmmword [str.UNSIGNED_PAYLOAD]
mov byte [esp + 0x194], al
movups xmmword [esp + 0x184], xmm0
jmp 0x46a113
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x210]
push eax
push ebp
call fcn.0046a620
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x469e92
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x230]
push eax
push str.x__s_content_sha256:__s
lea eax, [esp + 0x27c]
push 0x95
push eax
call fcn.00439180
add esp, 0x14
xor edi, edi
jmp 0x46a15c
lea eax, [esp + 0x184]
push eax
lea eax, [esp + 0x210]
push eax
push ebp
call fcn.0046a620
add esp, 0xc
mov edi, eax
test edi, edi
jne 0x469e92
lea ebx, [esp + 0x184]
mov esi, ebx
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x46a170
sub esi, ecx
lea eax, [esp + 0x40]
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll__time64]
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.00446b20
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x469e92
lea eax, [esp + 0x78]
push eax
push str._Y_m_dT_H_M_SZ
lea eax, [esp + 0xb0]
push 0x11
push eax
call dword [sym.imp.api_ms_win_crt_time_l1_1_0.dll_strftime]
add esp, 0x10
test eax, eax
jne 0x46a1cc
lea edi, [eax + 0x1b]
jmp 0x469e92
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x6c]
push eax
lea eax, [esp + 0x278]
push eax
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x23c]
push eax
lea eax, [esp + 0xbc]
push eax
push dword [esp + 0x50]
push ebp
call fcn.0046a9b0
mov edi, eax
add esp, 0x20
test edi, edi
jne 0x469e92
cmp byte [esp + 0x270], al
je 0x46a243
lea ecx, [esp + 0x270]
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a220
mov ax, word [0x478cd8]
sub ecx, edx
mov word [esp + ecx + 0x270], ax
mov al, byte [0x478cda]
mov byte [esp + ecx + 0x272], al
movq xmm0, qword [esp + 0xa8]
lea eax, [esp + 0x48]
push eax
push dword [ebp + 0xcb0]
movq qword [esp + 0xa4], xmm0
push ebp
mov byte [esp + 0xb0], 0
call fcn.0046a690
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x469e92
lea edi, [eax + 0x1b]
lea eax, [esp + 0x48]
push eax
call fcn.00424a70
add esp, 4
test eax, eax
je 0x46a2a2
lea eax, [esp + 0x48]
push eax
call fcn.00424a70
add esp, 4
mov dword [esp + 0x18], eax
jmp 0x46a2aa
mov dword [esp + 0x18], 0x483e85
push ebx
lea eax, [esp + 0x5c]
push esi
push eax
call fcn.00424a70
add esp, 4
push eax
lea eax, [esp + 0x74]
push eax
call fcn.00424a70
add esp, 4
push eax
push dword [esp + 0x28]
push dword [ebp + 0xcac]
push dword [esp + 0x40]
push str._s_n_s_n_s_n_s_n_s_n_.s
call fcn.004390e0
mov esi, eax
add esp, 0x20
mov dword [esp + 0x2c], esi
test esi, esi
je 0x469e92
lea ecx, [esp + 0xdc]
lea edx, [ecx + 1]
nop dword [eax + eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a300
sub ecx, edx
lea eax, [esp + 0xdc]
push ecx
push eax
push eax
call fcn.0043a580
lea eax, [esp + 0xe8]
push eax
push str._s4_request
call fcn.004390e0
mov ebx, eax
add esp, 0x14
mov dword [esp + 0x30], ebx
test ebx, ebx
je 0x469e92
push ebx
lea eax, [esp + 0x144]
push eax
lea eax, [esp + 0x1d0]
push eax
lea eax, [esp + 0xa8]
push eax
push str._s__s__s__s
call fcn.004390e0
add esp, 0x14
mov dword [esp + 0x1c], eax
test eax, eax
je 0x469e92
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a372
sub ecx, edx
lea eax, [esp + 0x20c]
push ecx
push esi
push eax
call fcn.00473260
add esp, 0xc
test eax, eax
jne 0x469e92
lea eax, [esp + 0x20c]
push eax
lea eax, [esp + 0x188]
push eax
call fcn.0046aed0
lea ecx, [esp + 0xe4]
add esp, 8
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a3b7
sub ecx, edx
lea eax, [esp + 0xdc]
push ecx
push eax
push eax
call fcn.0043a5c0
lea eax, [esp + 0x190]
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0xf4]
push eax
push str._s4_HMAC_SHA256_n_s_n_s_n_s
call fcn.004390e0
mov esi, eax
add esp, 0x20
mov dword [esp + 0x20], esi
test esi, esi
je 0x469e92
mov ecx, dword [ebp + 0xd50]
lea eax, [esp + 0xdc]
test ecx, ecx
mov edx, 0x483e85
cmovne edx, ecx
push edx
push eax
push str._s4_s
call fcn.004390e0
mov esi, eax
add esp, 0xc
mov dword [esp + 0x24], esi
test esi, esi
je 0x469e92
lea ecx, [esp + 0x9c]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a444
sub ecx, edx
mov edx, esi
lea esi, [edx + 1]
mov al, byte [edx]
inc edx
test al, al
jne 0x46a452
lea eax, [esp + 0xbc]
sub edx, esi
push eax
push ecx
lea eax, [esp + 0xa4]
push eax
push edx
push dword [esp + 0x34]
push 0x483c20
call fcn.00473010
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x469e92
lea ecx, [esp + 0x1c8]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a492
lea eax, [esp + 0x120]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x1d0]
push eax
push 0x20
lea eax, [esp + 0xcc]
push eax
push 0x483c20
call fcn.00473010
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x469e92
lea ecx, [esp + 0x140]
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a4d7
lea eax, [esp + 0xbc]
sub ecx, edx
push eax
push ecx
lea eax, [esp + 0x148]
push eax
push 0x20
lea eax, [esp + 0x130]
push eax
push 0x483c20
call fcn.00473010
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x469e92
mov ecx, ebx
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a517
lea eax, [esp + 0x120]
sub ecx, edx
push eax
push ecx
push ebx
push 0x20
lea eax, [esp + 0xcc]
push eax
push 0x483c20
call fcn.00473010
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x469e92
mov esi, dword [esp + 0x20]
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x46a554
lea eax, [esp + 0xbc]
sub ecx, edx
push eax
push ecx
push esi
push 0x20
lea eax, [esp + 0x130]
push eax
push 0x483c20
call fcn.00473010
mov edi, eax
add esp, 0x18
test edi, edi
jne 0x469e92
lea eax, [esp + 0xbc]
push eax
lea eax, [esp + 0x188]
push eax
call fcn.0046aed0
mov ebx, dword [esp + 0x1c]
lea eax, [esp + 0x278]
add esp, 8
test ebx, ebx
push eax
mov eax, 0x483e85
cmovne eax, ebx
push eax
lea eax, [esp + 0x18c]
push eax
lea eax, [esp + 0x64]
push eax
call fcn.00424a70
add esp, 4
push eax
push dword [esp + 0x2c]
lea eax, [esp + 0xf0]
push dword [esp + 0x50]
push eax
push str.Authorization:__s4_HMAC_SHA256_Credential_s__s__SignedHeaders_s__Signature_s_r_n_s_s
call fcn.004390e0
mov esi, eax
add esp, 0x20
test esi, esi
je 0x469e96
push dword [ebp + 0xd30]
call dword [0x48a004]
add esp, 4
mov dword [ebp + 0xd30], esi
mov byte [ebp + 0x970], 1
jmp 0x469e96