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

Disassembly:
mov eax, 0x6117d8
call fcn.00609528
sub esp, 0x188
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x20], str.____d___s__s__offset__d__size__s__priority__d
xor ecx, ecx
mov dword [ebp - 0x18], 0x100
lea eax, [ebp - 0x154]
mov dword [ebp - 0x24], ecx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ecx
mov dword [ebp - 4], ecx
mov ebx, ecx
mov eax, dword [edi + 0x18]
sub eax, ecx
je 0x4a3294
sub eax, 1
je 0x4a328d
sub eax, 1
jne 0x4a3299
mov ebx, str.DOWNLOAD_REQ_SIZE
jmp 0x4a3299
mov ebx, str.DOWNLOAD_REQ_GET
jmp 0x4a3299
mov ebx, str.DOWNLOAD_REQ_NONE
push dword [edi + 0x14]
lea ecx, [ebp - 0x24]
push dword [edi + 0x10]
call fcn.004973c4
mov esi, eax
push ebx
mov ecx, esi
call fcn.004971d9
push dword [edi + 0xd8]
lea edx, [edi + 0x20]
push ecx
push dword [edi + 0xd4]
mov ecx, esi
push dword [edi + 0xd0]
push dword [edi + 0xcc]
push dword [edi + 0xc8]
call fcn.004b7e92
mov ecx, eax
call fcn.004973c4
mov ecx, eax
call fcn.004973c4
pop ecx
mov ecx, eax
call fcn.00497382
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24]
call fcn.004970c0
mov ebx, dword [ebp + 8]
lea edx, [ebp - 0x154]
mov ecx, ebx
call fcn.0040e54e
mov ecx, dword [edi + 0xdc]
test ecx, ecx
je 0x4a333b
push 0x40
lea edx, [ebp - 0x194]
call fcn.004996ae
pop ecx
mov edx, str.__flags
mov ecx, ebx
mov esi, eax
call fcn.0040e54e
mov edx, esi
mov ecx, eax
call fcn.0040e54e
mov esi, dword [edi + 0x1c]
test esi, esi
je 0x4a3357
mov edx, str.__set
mov ecx, ebx
call fcn.0040e54e
mov edx, esi
mov ecx, eax
call fcn.0040e54e
mov dl, 0xa
mov ecx, ebx
call fcn.0040ce98
cmp byte [edi + 0xec], 0
jne 0x4a3376
cmp dword [edi + 0x10124], 0
je 0x4a368d
push dword [edi + 0xfc]
mov ecx, dword [edi + 0xe4]
push dword [edi + 0xf8]
mov ecx, dword [ecx]
call fcn.00499774
mov edx, 0x69f9e4
mov ecx, ebx
mov esi, eax
call fcn.0040e54e
mov edx, esi
mov ecx, eax
call fcn.0040e54e
mov edx, str.__offset
mov ecx, eax
call fcn.0040e54e
mov ecx, eax
call fcn.004a428d
cmp byte [edi + 0xec], 0
je 0x4a33ce
mov edx, str.__started
mov ecx, ebx
call fcn.0040e54e
cmp byte [edi + 0xed], 0
je 0x4a33e3
mov edx, str.__complete
mov ecx, ebx
call fcn.0040e54e
cmp byte [edi + 0xee], 0
je 0x4a33f8
mov edx, str.__rejected
mov ecx, ebx
call fcn.0040e54e
cmp byte [edi + 0xf1], 0
je 0x4a340d
mov edx, str.__retired
mov ecx, ebx
call fcn.0040e54e
cmp byte [edi + 0xef], 0
je 0x4a3478
mov edx, str.__retry
mov ecx, ebx
call fcn.0040e54e
mov edx, dword [edi + 0xf4]
test edx, edx
je 0x4a3478
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x154]
and dword [ebp - 0x14], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], str.___s__id__d_
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0x100
push dword [edx + 0x7c]
push dword [edx + 0x78]
add edx, 4
call fcn.004b7f13
mov ecx, eax
call fcn.004973c4
lea ecx, [ebp - 0x24]
call fcn.004970c0
lea edx, [ebp - 0x154]
mov ecx, ebx
call fcn.0040e54e
mov eax, dword [edi + 0x10128]
test eax, eax
je 0x4a34b9
push eax
push ecx
mov edx, 0x692730
mov ecx, ebx
call fcn.0040e54e
pop ecx
mov ecx, eax
call fcn.0041e61a
mov edx, str._fetch_attempts
mov ecx, eax
call fcn.0040e54e
cmp byte [edi + 0x1012c], 0
je 0x4a34b9
mov edx, str.__limit_exceeded_
mov ecx, ebx
call fcn.0040e54e
mov dl, 0xa
mov ecx, ebx
call fcn.0040ce98
mov edi, dword [edi + 0x10120]
mov esi, dword [edi]
cmp esi, edi
je 0x4a368d
xorps xmm0, xmm0
movlpd qword [ebp - 0x44], xmm0
movlpd qword [ebp - 0x4c], xmm0
movlpd qword [ebp - 0x54], xmm0
push dword [esi + 0xc]
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x154]
push dword [esi + 8]
and dword [ebp - 0x14], 0
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x20], str.____fetch_ID__d__host__s
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0x100
call fcn.004973c4
mov edx, dword [esi + 0x10]
mov ecx, eax
call fcn.0049b5b1
lea ecx, [ebp - 0x24]
call fcn.004970c0
lea edx, [ebp - 0x154]
mov ecx, ebx
call fcn.0040e54e
lea ecx, [esi + 0x30]
lea edx, [ebp - 0x44]
call fcn.004a4e62
test al, al
je 0x4a3592
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x154]
and dword [ebp - 0x14], 0
lea edx, [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], str.__init__s
mov dword [ebp - 0x18], 0x100
mov ecx, dword [eax]
sub ecx, dword [esi + 0x30]
mov eax, dword [eax + 4]
sbb eax, dword [esi + 0x34]
mov dword [ebp - 0x2c], ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x28], eax
call fcn.004a4f66
lea ecx, [ebp - 0x24]
call fcn.004970c0
lea edx, [ebp - 0x154]
mov ecx, ebx
call fcn.0040e54e
lea ecx, [esi + 0x38]
lea edx, [ebp - 0x4c]
call fcn.004a4e62
test al, al
je 0x4a35f4
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x154]
and dword [ebp - 0x14], 0
lea edx, [ebp - 0x34]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], str.__data__s
mov dword [ebp - 0x18], 0x100
mov ecx, dword [eax]
sub ecx, dword [esi + 0x38]
mov eax, dword [eax + 4]
sbb eax, dword [esi + 0x3c]
mov dword [ebp - 0x34], ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x30], eax
call fcn.004a4f66
lea ecx, [ebp - 0x24]
call fcn.004970c0
lea edx, [ebp - 0x154]
mov ecx, ebx
call fcn.0040e54e
lea ecx, [esi + 0x40]
lea edx, [ebp - 0x54]
call fcn.004a4e62
test al, al
je 0x4a3656
and dword [ebp - 0x24], 0
lea eax, [ebp - 0x154]
and dword [ebp - 0x14], 0
lea edx, [ebp - 0x3c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x20], str.__update__s
mov dword [ebp - 0x18], 0x100
mov ecx, dword [eax]
sub ecx, dword [esi + 0x40]
mov eax, dword [eax + 4]
sbb eax, dword [esi + 0x44]
mov dword [ebp - 0x3c], ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x38], eax
call fcn.004a4f66
lea ecx, [ebp - 0x24]
call fcn.004970c0
lea edx, [ebp - 0x154]
mov ecx, ebx
call fcn.0040e54e
cmp byte [esi + 0x4a], 0
je 0x4a3668
mov edx, str.__start_timeout
mov ecx, ebx
call fcn.0040e54e
cmp byte [esi + 0x4b], 0
je 0x4a367a
mov edx, str.__data_timeout
mov ecx, ebx
call fcn.0040e54e
mov dl, 0xa
mov ecx, ebx
call fcn.0040ce98
mov esi, dword [esi]
cmp esi, edi
jne 0x4a34e4
mov ecx, dword [ebp - 0xc]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 8