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

Disassembly:
sub esp, 0x14
push ebx
push esi
mov esi, dword [esp + 0x2c]
xor ebx, ebx
mov byte [esp + 0xa], 0
mov byte [esp + 0xb], 0
mov byte [esp + 0xc], 0
test esi, esi
je 0x4ab5cd
cmp dword [esi + 0x86cc], 0xc0dedbad
jne 0x4ab5cd
push ebp
push edi
jmp 0x4aa900
xor ebp, ebp
mov byte [esp + 0x34], 0
cmp byte [esi + 0x85e1], 0
je 0x4aa951
push dword [esi + 0x85e8]
push esi
push str.Pipe_broke:_handle__p__url___s_n
push esi
call fcn.004a9320
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp eax, 0x11
jge 0x4aa93e
cmp eax, 2
je 0x4aa939
mov dword [esi + 0xc], 2
or ebp, 0xffffffff
xor ebx, ebx
mov byte [esi + 0x85e1], 0
mov dword [esi + 8], 0
jmp 0x4ab58c
mov eax, dword [esi + 8]
lea edi, [esi + 8]
test eax, eax
jne 0x4aa970
mov ecx, dword [esi + 0xc]
cmp ecx, 2
jle 0x4aa96c
cmp ecx, 0x10
jl 0x4ab5a2
test eax, eax
je 0x4aa97f
mov ecx, dword [esi + 0xc]
cmp ecx, 2
jle 0x4aa97f
cmp ecx, 0x11
jge 0x4aa97f
mov dword [eax], esi
cmp dword [edi], ebp
je 0x4aaaaf
mov eax, dword [esi + 0xc]
cmp eax, 2
jl 0x4aaaaf
cmp eax, 0x11
jge 0x4aaaaf
cmp eax, 8
setle al
movzx eax, al
push eax
lea eax, [esp + 0x30]
push eax
push esi
call fcn.004ac530
add esp, 0xc
test eax, eax
jns 0x4aaaaf
mov eax, dword [esi + 0xc]
cmp eax, 3
jne 0x4aa9f1
push dword [esi + 0x444]
push dword [esi + 0x440]
push dword [esp + 0x38]
push dword [esp + 0x38]
call fcn.004ae540
push eax
push str.Resolving_timed_out_after__ld_milliseconds
push esi
call fcn.004a9250
add esp, 0x1c
jmp 0x4aaa85
cmp eax, 4
jne 0x4aaa20
push dword [esi + 0x444]
push dword [esi + 0x440]
push dword [esp + 0x38]
push dword [esp + 0x38]
call fcn.004ae540
push eax
push str.Connection_timed_out_after__ld_milliseconds
push esi
call fcn.004a9250
add esp, 0x1c
jmp 0x4aaa85
mov eax, dword [esi + 0x4c]
cmp eax, 0xffffffff
je 0x4aaa57
push eax
push dword [esi + 0x5c]
push dword [esi + 0x444]
push dword [esi + 0x440]
push dword [esi + 0x78]
push dword [esi + 0x74]
call fcn.004ae540
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__ld_out_of__ld_bytes_received
push esi
call fcn.004a9250
add esp, 0x14
jmp 0x4aaa85
push dword [esi + 0x5c]
push dword [esi + 0x444]
push dword [esi + 0x440]
push dword [esp + 0x3c]
push dword [esp + 0x3c]
call fcn.004ae540
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__ld_bytes_received
push esi
call fcn.004a9250
add esp, 0x10
cmp dword [esi + 0xc], 9
jle 0x4aaa99
mov eax, dword [edi]
mov byte [esp + 0x34], 1
mov byte [eax + 0x230], 1
push 1
mov ebx, 0x1c
push ebx
push edi
call fcn.004a0e50
add esp, 0xc
jmp case.0x4aaabb.1
mov eax, dword [esi + 0xc]
cmp eax, 0x12
ja case.default.0x4aaabb
jmp dword [eax*4 + 0x4ab5d8]
push esi
call fcn.004b5f10
mov ebx, eax
add esp, 4
test ebx, ebx
jne case.0x4aaabb.1
cmp dword [esi + 0xc], 2
je 0x4aaae2
mov dword [esi + 0xc], 2
push 1
push esi
call fcn.004b74a0
add esp, 8
or ebp, 0xffffffff
jmp case.0x4aaabb.1
push 2
push esi
call fcn.004b74a0
lea eax, [esp + 0x1a]
push eax
lea eax, [esp + 0x22]
push eax
push edi
push esi
call fcn.004a0b50
mov ebx, eax
add esp, 0x18
cmp ebx, 0x59
jne 0x4aab4a
cmp dword [esi + 0xc], 1
je 0x4aab25
mov dword [esi + 0xc], 1
mov eax, dword [esp + 0x28]
push esi
mov eax, dword [eax + 0x18]
push dword [eax + 4]
push eax
call fcn.004b44a0
add esp, 0xc
mov ebx, eax
neg ebx
sbb ebx, ebx
and ebx, 0xffffffe5
add ebx, 0x1b
jmp case.0x4aaabb.1
test ebx, ebx
jne case.0x4aaabb.1
push dword [edi]
push esi
call fcn.004b36e0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x4aab6d
mov byte [esp + 0x34], 1
jmp case.0x4aaabb.1
cmp byte [esp + 0x16], 0
je 0x4aab8e
cmp dword [esi + 0xc], 3
mov edx, dword [esp + 0x28]
je 0x4ab469
mov dword [esi + 0xc], 3
jmp 0x4ab469
or ebp, 0xffffffff
cmp byte [esp + 0x12], 0
je 0x4aabb6
mov edx, dword [esp + 0x28]
xor eax, eax
cmp byte [edx + 0x30], al
sete al
add eax, 8
push eax
push esi
call fcn.004aa6b0
add esp, 8
jmp 0x4ab469
mov eax, dword [edi]
mov edx, dword [esp + 0x28]
cmp dword [eax + 0x518], 1
jne 0x4aabdb
cmp dword [esi + 0xc], 5
je 0x4ab469
mov dword [esi + 0xc], 5
jmp 0x4ab469
cmp dword [esi + 0xc], 4
je 0x4ab469
mov dword [esi + 0xc], 4
jmp 0x4ab469
mov eax, dword [edi]
push dword [eax + 0xa0]
push dword [eax + 0x88]
push eax
call fcn.004ad3b0
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4aac22
push str.Hostname_was_found_in_DNS_cache_n
push esi
xor ebx, ebx
call fcn.004a9320
add esp, 8
jmp 0x4aac27
mov ebx, 6
mov eax, dword [esp + 0x28]
push esi
push eax
call fcn.004ab950
add esp, 8
cmp dword [esp + 0x1c], ebp
je 0x4aac68
xor ebx, ebx
or ebp, 0xffffffff
cmp byte [esp + 0x12], bl
je 0x4aabb6
mov edx, dword [esp + 0x28]
xor eax, eax
cmp byte [edx + 0x30], al
sete al
add eax, 8
push eax
push esi
call fcn.004aa6b0
add esp, 8
jmp 0x4ab469
mov edx, dword [esp + 0x28]
test ebx, ebx
je 0x4ab469
mov byte [esp + 0x34], 1
jmp 0x4ab469
lea eax, [esp + 0x12]
push eax
push dword [edi]
call fcn.004afc10
mov ebx, eax
add esp, 8
mov eax, dword [edi]
or ebp, 0xffffffff
cmp byte [eax + 0x246], 0
je 0x4aacb9
mov edx, dword [esp + 0x28]
xor ebx, ebx
cmp dword [esi + 0xc], 2
je 0x4ab469
mov dword [esi + 0xc], 2
jmp 0x4ab469
test ebx, ebx
jne case.0x4aaabb.1
cmp dword [eax + 0x518], 2
jne case.0x4aaabb.1
cmp dword [esi + 0xc], 6
mov edx, dword [esp + 0x28]
je 0x4ab469
mov dword [esi + 0xc], 6
jmp 0x4ab469
lea eax, [esp + 0x17]
push eax
push 0
push dword [edi]
call fcn.004abfa0
add esp, 0xc
mov ebx, eax
cmp byte [esp + 0x17], 0
je 0x4aad25
test ebx, ebx
jne 0x4aad2d
mov eax, dword [edi]
xor ecx, ecx
or ebp, 0xffffffff
cmp byte [eax + 0x23d], cl
sete cl
add ecx, 5
push ecx
push esi
call fcn.004aa6b0
jmp 0x4ab462
test ebx, ebx
je case.0x4aaabb.1
mov byte [esp + 0x34], 1
jmp case.0x4aaabb.1
lea eax, [esp + 0x12]
push eax
push dword [edi]
call fcn.004a1540
add esp, 8
mov ebx, eax
cmp byte [esp + 0x12], 0
jne 0x4aad69
cmp dword [esi + 0xc], 7
mov edx, dword [esp + 0x28]
je 0x4ab469
mov dword [esi + 0xc], 7
jmp 0x4ab469
test ebx, ebx
jne 0x4aad8e
mov edx, dword [esp + 0x28]
xor eax, eax
cmp byte [edx + 0x30], al
sete al
add eax, 8
push eax
push esi
call fcn.004aa6b0
add esp, 8
or ebp, 0xffffffff
jmp 0x4ab469
push esi
call fcn.004b5f00
push 1
push ebx
push edi
call fcn.004a0e50
add esp, 0x10
mov byte [esp + 0x34], 1
jmp case.0x4aaabb.1
lea eax, [esp + 0x12]
push eax
push dword [edi]
call fcn.004a15e0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4aad8e
mov edx, dword [esp + 0x28]
cmp byte [esp + 0x12], al
je 0x4ab469
jmp 0x4aad71
mov edx, dword [edi]
cmp byte [edx + 0x2cd], 0
jne case.0x4aaabb.1
push dword [edx + 0x2d0]
push esi
call fcn.004aa690
add esp, 8
test al, al
je case.0x4aaabb.1
mov byte [edx + 0x2cd], 1
cmp dword [esi + 0xc], 9
je 0x4aae09
mov dword [esi + 0xc], 9
or ebp, 0xffffffff
jmp case.0x4aaabb.1
cmp byte [esi + 0x29d], 0
je 0x4aae3a
mov eax, dword [edi]
mov byte [eax + 0x230], 0
cmp dword [esi + 0xc], 0x10
je 0x4aae30
mov dword [esi + 0xc], 0x10
xor ebx, ebx
or ebp, 0xffffffff
jmp case.0x4aaabb.1
lea eax, [esp + 0x13]
push eax
push edi
call fcn.004a0d30
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4aaeda
cmp byte [esp + 0x13], al
jne 0x4aaea6
cmp byte [esi + 0x380], al
je 0x4aae92
mov eax, dword [esi + 0x8608]
cmp eax, 6
je 0x4aae70
cmp eax, 4
jne 0x4aae92
push 0
push 0
push edi
call fcn.004a0e50
add esp, 0xc
cmp dword [esi + 0xc], 0x10
je 0x4aae8a
mov dword [esi + 0xc], 0x10
or ebp, 0xffffffff
jmp case.0x4aaabb.1
cmp dword [esi + 0xc], 0xa
je 0x4aae9f
mov dword [esi + 0xc], 0xa
xor ebp, ebp
jmp case.0x4aaabb.1
mov eax, dword [edi]
cmp byte [eax + 0x238], 0
je 0x4aaec5
cmp dword [esi + 0xc], 0xb
je 0x4aaebe
mov dword [esi + 0xc], 0xb
xor ebp, ebp
jmp case.0x4aaabb.1
cmp dword [esi + 0xc], 0xc
je 0x4aaed2
mov dword [esi + 0xc], 0xc
or ebp, 0xffffffff
jmp case.0x4aaabb.1
cmp ebx, 0x37
jne 0x4aaf98
mov eax, dword [edi]
cmp byte [eax + 0x231], 0
je 0x4aaf98
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebp
push ecx
push eax
mov byte [esp + 0x1d], 0
call fcn.004b6460
add esp, 8
test eax, eax
je 0x4aaf16
mov ebx, eax
mov byte [esp + 0x34], 1
jmp 0x4aaf1f
cmp dword [esp + 0x18], ebp
setne byte [esp + 0x15]
push esi
call fcn.004b5f00
push 0
push ebx
push edi
call fcn.004a0e50
add esp, 0x10
cmp byte [esp + 0x15], 0
je 0x4aaf81
test eax, eax
je 0x4aaf55
cmp eax, 0x37
je 0x4aaf55
mov ebx, eax
push dword [esp + 0x18]
call dword [0x6fb5a4]
add esp, 4
jmp case.0x4aaabb.1
push 2
push dword [esp + 0x1c]
push esi
call fcn.004b5c30
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4aaf43
cmp dword [esi + 0xc], 2
je 0x4aaf77
mov dword [esi + 0xc], 2
or ebp, 0xffffffff
xor ebx, ebx
jmp case.0x4aaabb.1
push dword [esp + 0x18]
mov byte [esp + 0x38], 1
call dword [0x6fb5a4]
add esp, 4
jmp case.0x4aaabb.1
push esi
call fcn.004b5f00
add esp, 4
cmp dword [edi], ebp
je 0x4aafb1
push 0
push ebx
push edi
call fcn.004a0e50
add esp, 0xc
mov byte [esp + 0x34], 1
jmp case.0x4aaabb.1
lea eax, [esp + 0x13]
push eax
push dword [edi]
call fcn.004a1620
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4aaffc
cmp byte [esp + 0x13], al
je case.0x4aaabb.1
mov eax, dword [edi]
xor ecx, ecx
cmp byte [eax + 0x238], cl
sete cl
add ecx, 0xb
push ecx
push esi
call fcn.004aa6b0
add esp, 8
or ebp, 0xffffffff
jmp case.0x4aaabb.1
push esi
call fcn.004b5f00
push 0
push ebx
push edi
call fcn.004a0e50
add esp, 0x10
mov byte [esp + 0x34], 1
jmp case.0x4aaabb.1
lea eax, [esp + 0x20]
push eax
push dword [edi]
call fcn.004a0dc0
mov ebx, eax
add esp, 8
test ebx, ebx
jne 0x4aaffc
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x4aae9f
cmp ecx, 1
sete al
lea eax, [eax*2 + 0xa]
push eax
push esi
call fcn.004aa6b0
add esp, 8
or ebp, 0xffffffff
jmp case.0x4aaabb.1
push dword [edi]
push esi
call fcn.004b3730
mov eax, dword [esp + 0x30]
push eax
call fcn.004a9c20
mov eax, dword [edi]
add esp, 0xc
cmp dword [eax + 0x268], 0xffffffff
jne 0x4ab096
cmp dword [eax + 0x26c], 0xffffffff
jne 0x4ab096
cmp dword [esi + 0xc], 0x10
je 0x4ab0a3
mov dword [esi + 0xc], 0x10
or ebp, 0xffffffff
jmp case.0x4aaabb.1
cmp dword [esi + 0xc], 0xd
je 0x4ab0a3
mov dword [esi + 0xc], 0xd
or ebp, 0xffffffff
jmp case.0x4aaabb.1
mov edx, dword [edi]
cmp byte [edx + 0x2cc], 0
jne case.0x4aaabb.1
push dword [edx + 0x2d4]
push esi
call fcn.004aa690
add esp, 8
test al, al
je case.0x4aaabb.1
mov byte [edx + 0x2cc], 1
cmp dword [esi + 0xc], 0xe
je 0x4ab0e5
mov dword [esi + 0xc], 0xe
or ebp, 0xffffffff
jmp case.0x4aaabb.1
push dword [edi]
call fcn.004b75f0
add esp, 4
test eax, eax
je 0x4ab102
mov ebx, 0x2a
jmp 0x4ab115
push dword [esp + 0x30]
push dword [esp + 0x30]
push esi
call fcn.004b9e10
add esp, 0xc
mov ebx, eax
mov eax, dword [esi + 0x1bc]
test eax, eax
je 0x4ab12b
cmp dword [esi + 0x404], eax
jge case.0x4aaabb.1
mov eax, dword [esi + 0x1c0]
test eax, eax
je 0x4ab141
cmp dword [esi + 0x400], eax
jge case.0x4aaabb.1
cmp dword [esi + 0xc], 0xe
mov edx, dword [esp + 0x28]
je 0x4ab469
mov dword [esi + 0xc], 0xe
jmp 0x4ab469
mov ecx, dword [esi + 0x1bc]
mov dword [esp + 0x18], ebp
mov byte [esp + 0x15], 0
test ecx, ecx
jle 0x4ab1a5
mov edx, dword [esi + 0x404]
cmp edx, ecx
jle 0x4ab1a5
mov eax, dword [esi + 0x248]
mov dword [esi + 0xc], 0xf
test eax, eax
jne 0x4ab18e
mov eax, 0x4000
push eax
push edx
push ecx
call fcn.004b66c0
push eax
push esi
call fcn.004a9940
add esp, 0x14
jmp case.0x4aaabb.1
mov ecx, dword [esi + 0x1c0]
test ecx, ecx
jle 0x4ab1e6
mov edx, dword [esi + 0x400]
cmp edx, ecx
jle 0x4ab1e6
mov eax, dword [esi + 0x248]
mov dword [esi + 0xc], 0xf
test eax, eax
jne 0x4ab1cf
mov eax, 0x4000
push eax
push edx
push ecx
call fcn.004b66c0
push eax
push esi
call fcn.004a9940
add esp, 0x14
jmp case.0x4aaabb.1
lea eax, [esp + 0x14]
push eax
push dword [edi]
call fcn.004b6120
add esp, 8
mov ebx, eax
test byte [esi + 0xd4], 1
jne 0x4ab209
mov eax, dword [edi]
mov byte [eax + 0x2cc], 0
test byte [esi + 0xd4], 2
jne 0x4ab21b
mov eax, dword [edi]
mov byte [eax + 0x2cd], 0
cmp byte [esp + 0x14], 0
jne 0x4ab227
cmp ebx, 0x38
jne 0x4ab252
lea eax, [esp + 0x18]
push eax
push dword [edi]
call fcn.004b6460
add esp, 8
test eax, eax
jne 0x4ab252
cmp dword [esp + 0x18], ebp
setne al
mov byte [esp + 0x15], al
test al, al
je 0x4ab252
xor ebx, ebx
mov byte [esp + 0x14], 1
jmp 0x4ab29a
test ebx, ebx
je 0x4ab28f
mov ecx, dword [edi]
mov eax, dword [ecx + 0x25c]
test byte [eax + 0x40], 2
jne 0x4ab26b
mov byte [ecx + 0x230], 1
push esi
call fcn.004b5f00
push 0
push ebx
push edi
call fcn.004a0e50
add esp, 0x10
push dword [esp + 0x18]
call dword [0x6fb5a4]
add esp, 4
jmp case.0x4aaabb.1
cmp byte [esp + 0x14], 0
je 0x4ab3c8
push esi
call fcn.004b5f00
mov eax, dword [edi]
push dword [eax + 0x2d4]
push esi
call fcn.004a1680
mov eax, dword [edi]
add esp, 0xc
mov eax, dword [eax + 0x2d4]
mov eax, dword [eax]
test eax, eax
je 0x4ab2cb
push 1
push dword [eax]
call fcn.004a9940
add esp, 8
mov eax, dword [esp + 0x28]
push eax
call fcn.004a9c20
add esp, 4
cmp dword [esi + 0xe0], ebp
jne 0x4ab350
cmp byte [esp + 0x15], 0
jne 0x4ab37e
cmp dword [esi + 0xdc], ebp
je 0x4ab32a
push dword [esp + 0x18]
call dword [0x6fb5a4]
mov eax, dword [esi + 0xdc]
push 1
push eax
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0xdc], ebp
call fcn.004b5c30
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x4ab325
mov dword [esp + 0x18], ebp
jmp 0x4ab32a
mov byte [esp + 0x34], 1
cmp dword [esi + 0xc], 0x10
je 0x4ab3c5
push dword [esp + 0x18]
mov dword [esi + 0xc], 0x10
or ebp, 0xffffffff
call dword [0x6fb5a4]
add esp, 4
jmp case.0x4aaabb.1
cmp byte [esp + 0x15], 0
jne 0x4ab37e
push dword [esp + 0x18]
call dword [0x6fb5a4]
mov eax, dword [esi + 0xe0]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esi + 0xe0], ebp
mov dword [esp + 0x1c], 3
jmp 0x4ab386
mov dword [esp + 0x1c], 2
push 0
push 0
push edi
call fcn.004a0e50
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4ab3c8
push dword [esp + 0x1c]
push dword [esp + 0x1c]
push esi
call fcn.004b5c30
mov ebx, eax
add esp, 0xc
test ebx, ebx
jne 0x4ab3c8
cmp dword [esi + 0xc], 2
je 0x4ab3bd
mov dword [esi + 0xc], 2
mov dword [esp + 0x18], 0
or ebp, 0xffffffff
push dword [esp + 0x18]
call dword [0x6fb5a4]
add esp, 4
jmp case.0x4aaabb.1
mov eax, dword [edi]
or ebp, 0xffffffff
test eax, eax
je 0x4ab416
push dword [eax + 0x2d4]
push esi
call fcn.004a1680
mov eax, dword [esp + 0x30]
push eax
call fcn.004a9c20
push 0
push ebx
push edi
call fcn.004a0e50
add esp, 0x18
test ebx, ebx
jne 0x4ab40b
mov ebx, eax
cmp dword [edi], 0
je 0x4ab416
mov dword [edi], 0
cmp byte [esi + 0x380], 0
je 0x4ab43b
cmp dword [esi + 0x8608], 6
je 0x4ab43b
cmp dword [esi + 0xc], 0
mov edx, dword [esp + 0x28]
je 0x4ab469
mov dword [esi + 0xc], 0
jmp 0x4ab469
cmp dword [esi + 0xc], 0x11
mov edx, dword [esp + 0x28]
je 0x4ab550
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0x11
dec dword [eax + 0x10]
jmp 0x4ab469
push 0
push esi
mov dword [edi], ebp
call fcn.004a97b0
add esp, 8
mov edx, dword [esp + 0x28]
cmp dword [esi + 0xc], 0x11
jge 0x4ab54e
test ebx, ebx
je 0x4ab507
push edx
mov byte [esi + 0x85e1], 0
call fcn.004a9c20
mov eax, dword [edi]
add esp, 4
test eax, eax
je 0x4ab4e3
mov byte [eax + 0x2cd], 0
mov eax, dword [edi]
mov byte [eax + 0x2cc], 0
mov eax, dword [edi]
push dword [eax + 0x2d0]
push esi
call fcn.004a1680
mov eax, dword [edi]
push dword [eax + 0x2d4]
push esi
call fcn.004a1680
add esp, 0x10
cmp byte [esp + 0x34], 0
je 0x4ab4f2
cmp ebx, 0x1c
sete al
movzx eax, al
push eax
push dword [edi]
call fcn.004a0c70
add esp, 8
mov dword [edi], 0
jmp 0x4ab4f2
cmp dword [esi + 0xc], 2
jne 0x4ab4f2
push esi
call fcn.004b5f00
add esp, 4
cmp dword [esi + 0xc], 0x11
je 0x4ab550
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0x11
dec dword [eax + 0x10]
jmp 0x4ab54a
mov eax, dword [edi]
test eax, eax
je 0x4ab54a
push eax
call fcn.004b75f0
add esp, 4
test eax, eax
je 0x4ab54a
mov eax, dword [edi]
xor ecx, ecx
mov ebx, 0x2a
mov byte [eax + 0x230], 1
cmp dword [esi + 0xc], 0x10
setge cl
add ecx, 0x10
cmp dword [esi + 0xc], ecx
je 0x4ab547
mov dword [esi + 0xc], ecx
cmp ecx, 0x11
jne 0x4ab547
mov eax, dword [esi + 0x40]
dec dword [eax + 0x10]
or ebp, 0xffffffff
cmp dword [esi + 0xc], 0x11
jne 0x4ab58c
mov eax, dword [esp + 0x28]
lea ecx, [esi + 0x14]
mov dword [ecx], 1
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebx
mov eax, dword [eax + 0x14]
push ecx
push dword [eax + 4]
push eax
call fcn.004b44a0
add esp, 0xc
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, 0xfffffffd
add ebp, 3
cmp dword [esi + 0xc], 0x12
je 0x4ab58c
mov dword [esi + 0xc], 0x12
cmp ebp, 0xffffffff
je 0x4aa900
pop edi
mov eax, ebp
mov dword [esi + 0x10], ebx
pop ebp
pop esi
pop ebx
add esp, 0x14
ret
push dword [esi + 0xc]
push str.In_state__d_with_no_easy_conn__bail_out__n
push esi
call fcn.004a9250
add esp, 0xc
pop edi
pop ebp
pop esi
mov eax, 4
pop ebx
add esp, 0x14
ret
pop edi
pop ebp
mov dword [esi + 0x10], ebx
xor eax, eax
pop esi
pop ebx
add esp, 0x14
ret
pop esi
mov eax, 2
pop ebx
add esp, 0x14
ret