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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5b0069
sub esp, 0x5c
lea eax, [0x7ac140]
mov dword [esp], eax
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0x84]
lea ebx, [edx + ecx]
mov dword [esp + 0x30], ebx
mov dword [esp + 8], ebx
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
cmp ecx, edx
ja 0x5affe6
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov dword [esp], eax
mov ebx, dword [esp + 0x80]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call fcn.0044f8d0
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
cmp eax, ecx
ja 0x5affb0
mov edx, dword [esp + 0x48]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x84]
add eax, edx
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 8], eax
call fcn.0044f8d0
lea eax, [0x7ac140]
mov dword [esp], eax
mov eax, dword [esp + 0x8c]
shl eax, 1
mov edx, dword [esp + 0x90]
lea eax, [eax + edx*2]
mov ebx, dword [esp + 0x94]
lea eax, [eax + ebx*2]
mov dword [esp + 0x38], eax
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043a890
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
nop
movzx ecx, word [esp + 0x60]
mov word [esp], cx
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
call fcn.005af9d0
mov edx, dword [esp + 8]
mov eax, dword [esp + 0x58]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x14], ebx
mov ebx, dword [0xb770f8]
mov ebp, dword [0xb770f4]
mov esi, dword [str.key_expansion]
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x48]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x2c], ebx
mov ebx, dword [edx]
call ebx
mov eax, dword [esp + 0x8c]
test eax, eax
jl 0x5b0062
mov ecx, dword [esp + 0x38]
cmp eax, ecx
ja 0x5b0062
ja 0x5b005b
mov edx, ecx
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, eax
mov ebp, dword [esp + 0x58]
add ecx, ebp
cmp eax, ebx
ja 0x5b0054
ja 0x5b004d
mov dword [esp + 0x44], ebx
sub ebx, eax
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, eax
add ebx, ecx
mov esi, dword [esp + 0x90]
test esi, esi
jl 0x5b0046
cmp esi, edi
ja 0x5b0046
ja 0x5b003f
mov dword [esp + 0x40], edi
mov dword [esp + 0x4c], ebx
sub edi, esi
mov dword [esp + 0x34], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
add edi, ebx
mov ebx, dword [esp + 0x34]
cmp esi, ebx
ja 0x5b0038
ja 0x5b0031
mov dword [esp + 0x54], edi
sub ebx, esi
mov dword [esp + 0x3c], ebx
neg ebx
sar ebx, 0x1f
and ebx, esi
add ebx, edi
mov edi, dword [esp + 0x94]
test edi, edi
jl 0x5b002a
mov esi, dword [esp + 0x3c]
cmp edi, esi
ja 0x5b002a
ja 0x5b0023
sub esi, edi
mov dword [esp + 0x38], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, edi
add esi, ebx
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x38]
cmp edi, esi
ja 0x5b001c
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xb0], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xb8], ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], edi
mov eax, dword [esp + 0x3c]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edi
mov dword [esp + 0xdc], esi
add esp, 0x5c
ret
lea edx, [0x7ac140]
mov dword [esp], edx
mov ebx, dword [esp + 0x48]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call fcn.0043a950
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
jmp 0x5afd2f
lea ebx, [0x7ac140]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.0043a950
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
jmp 0x5afcfc
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.004288c0
ud2
call fcn.0044d880
jmp fcn.005afca0