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

Disassembly:
sub esp, 0x30
push ebx
push ebp
push esi
mov esi, dword [esp + 0x4c]
push edi
xor edi, edi
cmp esi, edi
mov dword [esp + 0x14], edi
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], edi
je 0x85d5f0
cmp dword [esi + 0x1120], 0xc0dedbad
jne 0x85d5f0
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x50], ebx
jne 0x85c833
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x85c833
cmp eax, 0xe
jl 0x85d5b7
mov ebp, dword [esp + 0x44]
push 1
push ebp
call fcn.0085d670
add esp, 8
test eax, eax
je 0x85c84f
push ebp
call fcn.0085e520
add esp, 4
mov ecx, dword [esi + 8]
cmp ecx, ebx
je 0x85c865
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x85c865
cmp eax, 0xf
jge 0x85c865
mov dword [ecx], esi
cmp dword [esi + 8], ebx
je 0x85c9e4
mov eax, dword [esi + 0x24]
cmp eax, 2
jl 0x85c9e4
cmp eax, 0xf
jge 0x85c9e4
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x48]
push ecx
push edx
push esi
call fcn.00862fc0
add esp, 0xc
cmp edx, ebx
jg 0x85c9e4
jl 0x85c8ac
cmp eax, ebx
jae 0x85c9e4
mov eax, dword [esi + 0x24]
cmp eax, 3
jne 0x85c8e6
mov eax, dword [esi + 0xcbc]
mov ecx, dword [esi + 0xcb8]
mov edx, dword [esp + 0x4c]
push eax
mov eax, dword [esp + 0x4c]
push ecx
push edx
push eax
call fcn.00866a90
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push esi
call fcn.0085e690
add esp, 0x20
jmp 0x85c9b2
cmp eax, 4
jne 0x85c91d
mov ecx, dword [esi + 0xcbc]
mov edx, dword [esi + 0xcb8]
mov eax, dword [esp + 0x4c]
push ecx
mov ecx, dword [esp + 0x4c]
push edx
push eax
push ecx
call fcn.00866a90
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push esi
call fcn.0085e690
add esp, 0x20
jmp 0x85c9b2
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x85c974
mov edx, dword [esi + 0xcbc]
push ecx
mov ecx, dword [esi + 0x98]
push eax
mov eax, dword [esi + 0x9c]
push eax
mov eax, dword [esi + 0xcb8]
push ecx
mov ecx, dword [esp + 0x5c]
push edx
mov edx, dword [esp + 0x5c]
push eax
push ecx
push edx
call fcn.00866a90
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.0085e690
add esp, 0x20
jmp 0x85c9b2
mov eax, dword [esi + 0x9c]
mov ecx, dword [esi + 0x98]
mov edx, dword [esi + 0xcbc]
push eax
mov eax, dword [esi + 0xcb8]
push ecx
mov ecx, dword [esp + 0x54]
push edx
mov edx, dword [esp + 0x54]
push eax
push ecx
push edx
call fcn.00866a90
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push esi
call fcn.0085e690
add esp, 0x18
cmp dword [esi + 0x24], 8
jle 0x85c9ce
mov eax, dword [esi + 8]
push 2
push eax
call fcn.00864730
add esp, 8
mov dword [esp + 0x10], 1
mov edi, 0x1c
push 1
push edi
push esi
call fcn.0085bd70
add esp, 0xc
jmp case.0x85c9f0.1
mov eax, dword [esi + 0x24]
cmp eax, 0x10
ja case.default.0x85c9f0
jmp dword [eax*4 + 0x85d600]
push esi
call fcn.00886be0
mov edi, eax
add esp, 4
cmp edi, ebx
jne case.0x85c9f0.1
push 2
push esi
call fcn.0085bb90
push 1
push esi
call fcn.0086b8a0
add esp, 0x10
mov dword [esp + 0x50], 0xffffffff
jmp case.0x85c9f0.1
push 2
push esi
call fcn.0086b8a0
mov eax, dword [esi + 0x630]
add esp, 8
cmp eax, ebx
je 0x85ca4d
cdq
push 9
push edx
push eax
push esi
call fcn.0085e210
add esp, 0x10
mov eax, dword [esi + 0x634]
cmp eax, ebx
je 0x85ca65
cdq
push 2
push edx
push eax
push esi
call fcn.0085e210
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x2c]
push ecx
push edx
push esi
call fcn.008580e0
mov edi, eax
add esp, 0xc
cmp edi, 0x59
jne 0x85caa3
push 1
push esi
call fcn.0085bb90
mov ecx, dword [ebp + 0x28]
lea eax, [esi + 0xc]
push eax
push esi
add ebp, 0x24
push ecx
push ebp
call fcn.00882190
add esp, 0x18
xor edi, edi
jmp case.0x85c9f0.1
cmp dword [esi + 0x1024], ebx
je 0x85cac2
push str.Transfer_was_pending__now_try_another_n
push esi
call fcn.0085e5d0
mov edx, dword [esi + 0x78]
push edx
call fcn.0085e520
add esp, 0xc
cmp edi, ebx
jne case.0x85c9f0.1
cmp dword [esp + 0x2c], ebx
je 0x85cad7
push 3
jmp 0x85d492
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x85caee
push 8
jmp 0x85d492
mov eax, dword [esi + 8]
push eax
call fcn.008880e0
add esp, 4
test eax, eax
je 0x85cb05
push 5
jmp 0x85d492
push 4
jmp 0x85d492
mov edi, dword [esi + 8]
mov dword [esp + 0x18], ebx
cmp dword [edi + 0x52c], ebx
je 0x85cb23
mov ebp, dword [edi + 0x34c]
jmp 0x85cb39
cmp dword [edi + 0x520], ebx
je 0x85cb33
mov ebp, dword [edi + 0x31c]
jmp 0x85cb39
mov ebp, dword [edi + 0x304]
mov ecx, dword [edi + 0x364]
push ecx
push ebp
push edi
call fcn.008848c0
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x85cb7b
push ebp
push 0x8d1284
mov dword [edi + 0x764], eax
mov dword [edi + 0x770], 1
push esi
xor edi, edi
call fcn.0085e5d0
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
jne 0x85cb8e
mov eax, dword [esi + 8]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.00885440
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x44]
push esi
push ecx
call fcn.0085d9e0
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebx
je 0x85cbf3
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.008854a0
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x85cbc0
mov dword [esi + 8], ebx
jmp 0x85cbf3
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x85cbd4
push 8
jmp 0x85cbea
mov ecx, dword [esi + 8]
push ecx
call fcn.008880e0
add esp, 4
test eax, eax
je 0x85cbe8
push 5
jmp 0x85cbea
push 4
push esi
call fcn.0085bb90
add esp, 8
cmp edi, ebx
je case.0x85c9f0.1
mov dword [esp + 0x10], 1
jmp case.0x85c9f0.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0087eaf0
mov edi, eax
mov eax, dword [esi + 8]
add esp, 8
cmp dword [eax + 0x570], ebx
je 0x85cc48
push ebx
push ebx
push esi
mov dword [esp + 0x5c], 0xffffffff
xor edi, edi
call fcn.0085bd70
push 2
push esi
call fcn.0085bb90
add esp, 0x14
jmp case.0x85c9f0.1
cmp edi, ebx
jne 0x85cbfb
cmp dword [eax + 0x358], 2
jne 0x85cc61
cmp dword [eax + 0x504], ebx
je case.0x85c9f0.1
push eax
call fcn.008880c0
add esp, 4
test eax, eax
je case.0x85c9f0.1
mov dword [esp + 0x50], 0xffffffff
push 6
jmp 0x85d492
mov edx, dword [esi + 8]
lea ecx, [esp + 0x30]
push ecx
push ebx
push edx
call fcn.00863380
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x85cce7
cmp edi, ebx
jne 0x85ccef
mov eax, dword [esi + 8]
cmp dword [eax + 0x358], 2
jne 0x85ccb5
cmp dword [eax + 0x504], ebx
je 0x85ccc2
push eax
call fcn.008880e0
add esp, 4
test eax, eax
je 0x85ccc9
push 5
jmp 0x85d492
mov eax, dword [esi + 8]
mov dword [esp + 0x50], 0xffffffff
mov ecx, dword [eax + 0x550]
neg ecx
sbb ecx, ecx
add ecx, 6
push ecx
jmp 0x85d492
cmp edi, ebx
je case.0x85c9f0.1
push esi
call fcn.00856da0
push 1
push edi
push esi
call fcn.0085bd70
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.0x85c9f0.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0085d7b0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85ccef
cmp dword [esp + 0x14], ebx
jne 0x85cd53
push 7
jmp 0x85d492
mov edx, dword [esi + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.0085d730
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85ccef
cmp dword [esp + 0x14], ebx
je case.0x85c9f0.1
push 8
jmp 0x85d33f
cmp dword [esi + 0xbb0], ebx
je 0x85cd86
mov eax, dword [esi + 8]
push ebx
push eax
call fcn.00864730
push 0xe
push esi
call fcn.0085bb90
add esp, 0x10
xor edi, edi
mov dword [esp + 0x50], 0xffffffff
jmp case.0x85c9f0.1
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.0085d690
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85ce12
cmp dword [esp + 0x1c], ebx
jne 0x85cdec
cmp dword [esi + 0x1008], ebx
je 0x85cdd8
mov eax, dword [esi + 0x1030]
cmp eax, 7
je 0x85cdb8
cmp eax, 5
jne 0x85cdd8
push ebx
push ebx
push esi
call fcn.0085bd70
push 0xe
push esi
call fcn.0085bb90
add esp, 0x14
mov dword [esp + 0x50], 0xffffffff
jmp case.0x85c9f0.1
push 9
push esi
call fcn.0085bb90
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x85c9f0.1
mov edx, dword [esi + 8]
cmp dword [edx + 0x544], ebx
je 0x85ce0b
push 0xa
push esi
call fcn.0085bb90
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x85c9f0.1
push 0xb
jmp 0x85d33f
cmp edi, 0x37
jne 0x85ced4
mov eax, dword [esi + 8]
cmp dword [eax + 0x518], ebx
je 0x85ced4
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
push ecx
push eax
call fcn.008870d0
add esp, 8
cmp eax, ebx
je 0x85ce4a
mov edi, eax
mov dword [esp + 0x10], 1
push esi
call fcn.00856da0
push ebx
push edi
push esi
call fcn.0085bd70
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp ecx, ebx
je 0x85ceb9
cmp eax, ebx
je 0x85ce81
cmp eax, 0x37
je 0x85ce81
mov edx, dword [esp + 0x18]
mov edi, eax
push edx
call dword [0x8d0934]
add esp, 4
jmp case.0x85c9f0.1
push 2
push ecx
push esi
call fcn.00886e00
add esp, 0xc
cmp eax, ebx
jne 0x85ce6c
push 2
push esi
call fcn.0085bb90
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x50], 0xffffffff
xor edi, edi
push edx
call dword [0x8d0934]
add esp, 4
jmp case.0x85c9f0.1
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], 1
push edx
call dword [0x8d0934]
add esp, 4
jmp case.0x85c9f0.1
push esi
call fcn.00856da0
mov eax, dword [esi + 8]
add esp, 4
cmp eax, ebx
je 0x85ceef
push ebx
push edi
push esi
call fcn.0085bd70
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x85c9f0.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.0085d770
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85cf66
cmp dword [esp + 0x1c], ebx
je case.0x85c9f0.1
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x544]
neg eax
sbb eax, eax
add eax, 0xb
push eax
jmp 0x85d33f
mov edx, dword [esi + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
call fcn.0085d6f0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85cf66
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x85cde3
dec eax
neg eax
sbb eax, eax
and al, 0xfe
add eax, 0xb
push eax
jmp 0x85d33f
push esi
call fcn.00856da0
push ebx
jmp 0x85ccf7
mov eax, dword [esi + 8]
cmp dword [eax + 0x57c], ebx
je 0x85cf86
push ebp
call fcn.0085e520
add esp, 4
mov eax, dword [esi + 8]
or ebp, 0xffffffff
cmp dword [eax + 0x5c0], ebp
jne 0x85cfd0
cmp dword [eax + 0x5c4], ebp
jne 0x85cfd0
cmp dword [esi + 0x1008], ebx
je 0x85cfbc
mov ecx, dword [eax + 0x5a8]
mov eax, dword [ecx + 0x44]
test ah, 0x10
jne 0x85cfbc
mov dword [esi + 0x1030], 7
push 0xe
push esi
call fcn.0085bb90
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x85c9f0.1
push 0xc
push esi
call fcn.0085bb90
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x85c9f0.1
mov edx, dword [esi + 8]
push edx
call fcn.0086bd30
add esp, 4
test eax, eax
je 0x85cffe
mov edi, 0x2a
jmp case.0x85c9f0.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.00887e60
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne case.0x85c9f0.1
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x3c], ebx
jl 0x85d07b
jg 0x85d037
cmp ecx, ebx
jbe 0x85d07b
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esi + 0xcd4]
push edx
mov edx, dword [esi + 0xcd0]
push edx
mov edx, dword [esi + 0xc54]
push eax
mov eax, dword [esi + 0xcdc]
push ecx
mov ecx, dword [esi + 0xcd8]
push eax
mov eax, dword [esi + 0xc50]
push ecx
push edx
push eax
call fcn.0086ba70
add esp, 0x28
mov ebx, eax
mov dword [esp + 0x3c], edx
mov ecx, dword [esi + 0x66c]
mov ebp, dword [esi + 0x668]
xor eax, eax
xor edx, edx
test ecx, ecx
jl 0x85d0d3
jg 0x85d095
test ebp, ebp
jbe 0x85d0d3
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x48]
push edx
mov edx, dword [esi + 0xce4]
push eax
mov eax, dword [esi + 0xce0]
push edx
mov edx, dword [esi + 0xce8]
push eax
mov eax, dword [esi + 0xc4c]
push ecx
mov ecx, dword [esi + 0xcec]
push ebp
push ecx
mov ecx, dword [esi + 0xc48]
push edx
push eax
push ecx
call fcn.0086ba70
add esp, 0x28
mov ecx, dword [esp + 0x3c]
mov ebp, ebx
or ebp, ecx
jne 0x85d103
mov ebp, eax
or ebp, edx
jne 0x85d103
push 0xc
push esi
call fcn.0085bb90
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
push esi
call fcn.0086bb70
add esp, 0x14
jmp case.0x85c9f0.1
cmp ecx, edx
jl 0x85d11f
jg 0x85d10d
cmp ebx, eax
jb 0x85d11f
push 0xa
push ecx
push ebx
push esi
call fcn.0085e210
add esp, 0x10
jmp case.0x85c9f0.1
push 0xa
push edx
push eax
push esi
call fcn.0085e210
add esp, 0x10
jmp case.0x85c9f0.1
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
cmp eax, ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
jl 0x85d1a1
jg 0x85d15b
cmp ecx, ebx
jbe 0x85d1a1
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esi + 0xcd4]
push edx
mov edx, dword [esi + 0xcd0]
push edx
mov edx, dword [esi + 0xc54]
push eax
mov eax, dword [esi + 0xcdc]
push ecx
mov ecx, dword [esi + 0xcd8]
push eax
mov eax, dword [esi + 0xc50]
push ecx
push edx
push eax
call fcn.0086ba70
add esp, 0x28
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [esi + 0x66c]
mov ecx, dword [esi + 0x668]
xor ebx, ebx
xor ebp, ebp
test eax, eax
jl 0x85d1fd
jg 0x85d1bb
test ecx, ecx
jbe 0x85d1fd
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esp + 0x4c]
push edx
mov edx, dword [esi + 0xce4]
push edx
mov edx, dword [esi + 0xce0]
push edx
mov edx, dword [esi + 0xc4c]
push eax
mov eax, dword [esi + 0xcec]
push ecx
mov ecx, dword [esi + 0xce8]
push eax
mov eax, dword [esi + 0xc48]
push ecx
push edx
push eax
call fcn.0086ba70
add esp, 0x28
mov ebx, eax
mov ebp, edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x85d3ec
mov edx, ebx
or edx, ebp
jne 0x85d3ec
mov edx, dword [esi + 8]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x20]
push eax
push ecx
push esi
push edx
call fcn.00885bd0
mov edi, eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
jne 0x85d246
cmp edi, 0x38
je 0x85d246
cmp edi, 0x5c
jne 0x85d27c
jmp 0x85d284
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.008870d0
add esp, 8
cmp eax, ebp
jne 0x85d276
mov eax, dword [esp + 0x18]
xor ebx, ebx
cmp eax, ebp
setne bl
cmp ebx, ebp
je 0x85d280
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x85d2c4
cmp edi, ebp
jne 0x85d284
mov edi, eax
mov ebx, dword [esp + 0x24]
cmp edi, ebp
je 0x85d2ba
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x5a8]
test byte [edx + 0x44], 2
jne 0x85d2a3
cmp edi, 0x5c
je 0x85d2a3
push 2
push eax
call fcn.00864730
add esp, 8
push esi
call fcn.00856da0
push 1
push edi
push esi
call fcn.0085bd70
add esp, 0x10
jmp case.0x85c9f0.1
cmp dword [esp + 0x20], ebp
je 0x85d3c6
push esi
call fcn.00856da0
mov eax, dword [esi + 0x11c]
add esp, 4
cmp eax, ebp
jne 0x85d355
cmp ebx, ebp
jne 0x85d37e
cmp dword [esi + 0x118], ebp
je 0x85d33d
mov eax, dword [esp + 0x18]
push eax
call dword [0x8d0934]
mov eax, dword [esi + 0x118]
push 1
push eax
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0x118], ebp
call fcn.00886e00
mov ecx, dword [esp + 0x28]
mov edi, eax
push ecx
call dword [0x8d0934]
add esp, 0x14
cmp edi, ebp
je 0x85d33d
push 1
push edi
push esi
mov dword [esp + 0x1c], 1
call fcn.0085bd70
mov edi, eax
add esp, 0xc
cmp edi, ebp
jne case.0x85c9f0.1
push 0xe
push esi
call fcn.0085bb90
add esp, 8
mov dword [esp + 0x50], 0xffffffff
jmp case.0x85c9f0.1
cmp ebx, ebp
jne 0x85d37e
mov edx, dword [esp + 0x18]
push edx
call dword [0x8d0934]
mov eax, dword [esi + 0x11c]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esi + 0x11c], ebp
mov edi, 3
jmp 0x85d383
mov edi, 2
push ebp
push ebp
push esi
call fcn.0085bd70
mov ecx, dword [esp + 0x24]
push edi
push ecx
push esi
call fcn.00886e00
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x85d3b3
push 2
push esi
call fcn.0085bb90
add esp, 8
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x18]
push edx
call dword [0x8d0934]
add esp, 4
jmp case.0x85c9f0.1
cmp dword [esp + 0x28], ebp
je case.0x85c9f0.1
push 7
push 0
push 0
push esi
call fcn.0085e210
add esp, 0x10
mov dword [esp + 0x50], 0
jmp case.0x85c9f0.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.0086bb70
push 0xd
push esi
call fcn.0085bb90
mov eax, dword [esp + 0x50]
add esp, 0x14
cmp eax, ebp
jl 0x85d42e
jg 0x85d417
cmp dword [esp + 0x38], ebx
jb 0x85d42e
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push 0xa
push edx
push eax
push esi
call fcn.0085e210
add esp, 0x10
jmp case.0x85c9f0.1
push 0xa
push ebp
push ebx
push esi
call fcn.0085e210
add esp, 0x10
jmp case.0x85c9f0.1
mov eax, dword [esi + 8]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x85d47c
cmp dword [eax + 0x57c], ebx
je 0x85d45d
push ebp
call fcn.0085e520
add esp, 4
push ebx
push edi
push esi
call fcn.0085bd70
add esp, 0xc
cmp edi, ebx
jne 0x85d46e
mov edi, eax
cmp dword [esi + 8], ebx
je 0x85d47c
push esi
call fcn.0085c080
add esp, 4
cmp dword [esi + 0x1008], ebx
je 0x85d490
cmp dword [esi + 0x1030], 7
je 0x85d490
push ebx
jmp 0x85d492
push 0xf
push esi
call fcn.0085bb90
add esp, 8
cmp dword [esi + 0x24], 0xf
jge 0x85d54e
test edi, edi
je 0x85d50d
mov ecx, dword [esp + 0x44]
push ecx
call fcn.0085e520
mov ebp, dword [esi + 8]
add esp, 4
test ebp, ebp
je 0x85d4ee
mov eax, dword [esp + 0x10]
test eax, eax
je 0x85d4fd
push esi
call fcn.0085c080
xor edx, edx
cmp edi, 0x1c
sete dl
push edx
push ebp
push esi
call fcn.00857770
add esp, 0x10
push 0xf
push esi
call fcn.0085bb90
add esp, 8
or ebp, 0xffffffff
jmp 0x85d552
cmp dword [esi + 0x24], 2
jne 0x85d4fd
push esi
call fcn.00856da0
add esp, 4
push 0xf
push esi
call fcn.0085bb90
add esp, 8
or ebp, 0xffffffff
jmp 0x85d552
mov eax, dword [esi + 8]
test eax, eax
je 0x85d54e
push eax
call fcn.0086bd30
add esp, 4
test eax, eax
je 0x85d54e
mov eax, dword [esi + 8]
push 2
push eax
mov edi, 0x2a
call fcn.00864730
mov ebp, dword [esi + 0x24]
xor ecx, ecx
cmp ebp, 0xe
setge cl
add ecx, 0xe
push ecx
push esi
call fcn.0085bb90
add esp, 0x10
or ebp, 0xffffffff
jmp 0x85d552
mov ebp, dword [esp + 0x50]
cmp dword [esi + 0x24], 0xf
jne 0x85d596
mov eax, dword [esi + 0xb08]
test eax, eax
je 0x85d56b
push edi
push esi
call eax
add esp, 8
jmp 0x85d58b
mov edx, dword [esp + 0x44]
lea eax, [esi + 0x2c]
push eax
push edx
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
call fcn.0085d650
add esp, 8
mov ebp, eax
push 0x10
push esi
call fcn.0085bb90
add esp, 8
cmp ebp, 0xffffffff
je 0x85c811
mov eax, dword [esp + 0x44]
push 0
push eax
call fcn.0085d670
add esp, 8
test eax, eax
je 0x85d5d6
jmp 0x85c811
mov ecx, dword [esi + 0x24]
push ecx
push str.In_state__d_with_no_conn__bail_out__n
push esi
call fcn.0085e690
add esp, 0xc
pop edi
pop esi
pop ebp
mov eax, 4
pop ebx
add esp, 0x30
ret
mov dword [esi + 0x28], edi
pop edi
mov eax, ebp
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [esi + 0x28], edi
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret