Function at 0x852080
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 0x852e90
cmp dword [esi + 0x1120], 0xc0dedbad
jne 0x852e90
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x50], ebx
jne 0x8520d3
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x8520d3
cmp eax, 0xe
jl 0x852e57
mov ebp, dword [esp + 0x44]
push 1
push ebp
call fcn.00852f10
add esp, 8
test eax, eax
je 0x8520ef
push ebp
call fcn.00853dc0
add esp, 4
mov ecx, dword [esi + 8]
cmp ecx, ebx
je 0x852105
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x852105
cmp eax, 0xf
jge 0x852105
mov dword [ecx], esi
cmp dword [esi + 8], ebx
je 0x852284
mov eax, dword [esi + 0x24]
cmp eax, 2
jl 0x852284
cmp eax, 0xf
jge 0x852284
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x48]
push ecx
push edx
push esi
call fcn.00858860
add esp, 0xc
cmp edx, ebx
jg 0x852284
jl 0x85214c
cmp eax, ebx
jae 0x852284
mov eax, dword [esi + 0x24]
cmp eax, 3
jne 0x852186
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.0085c330
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push esi
call fcn.00853f30
add esp, 0x20
jmp 0x852252
cmp eax, 4
jne 0x8521bd
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.0085c330
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push esi
call fcn.00853f30
add esp, 0x20
jmp 0x852252
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x852214
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.0085c330
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.00853f30
add esp, 0x20
jmp 0x852252
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.0085c330
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push esi
call fcn.00853f30
add esp, 0x18
cmp dword [esi + 0x24], 8
jle 0x85226e
mov eax, dword [esi + 8]
push 2
push eax
call fcn.00859fd0
add esp, 8
mov dword [esp + 0x10], 1
mov edi, 0x1c
push 1
push edi
push esi
call fcn.00851610
add esp, 0xc
jmp case.0x852290.1
mov eax, dword [esi + 0x24]
cmp eax, 0x10
ja case.default.0x852290
jmp dword [eax*4 + 0x852ea0]
push esi
call fcn.0087c480
mov edi, eax
add esp, 4
cmp edi, ebx
jne case.0x852290.1
push 2
push esi
call fcn.00851430
push 1
push esi
call fcn.00861140
add esp, 0x10
mov dword [esp + 0x50], 0xffffffff
jmp case.0x852290.1
push 2
push esi
call fcn.00861140
mov eax, dword [esi + 0x630]
add esp, 8
cmp eax, ebx
je 0x8522ed
cdq
push 9
push edx
push eax
push esi
call fcn.00853ab0
add esp, 0x10
mov eax, dword [esi + 0x634]
cmp eax, ebx
je 0x852305
cdq
push 2
push edx
push eax
push esi
call fcn.00853ab0
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x2c]
push ecx
push edx
push esi
call fcn.0084d980
mov edi, eax
add esp, 0xc
cmp edi, 0x59
jne 0x852343
push 1
push esi
call fcn.00851430
mov ecx, dword [ebp + 0x28]
lea eax, [esi + 0xc]
push eax
push esi
add ebp, 0x24
push ecx
push ebp
call fcn.00877a30
add esp, 0x18
xor edi, edi
jmp case.0x852290.1
cmp dword [esi + 0x1024], ebx
je 0x852362
push str.Transfer_was_pending__now_try_another_n
push esi
call fcn.00853e70
mov edx, dword [esi + 0x78]
push edx
call fcn.00853dc0
add esp, 0xc
cmp edi, ebx
jne case.0x852290.1
cmp dword [esp + 0x2c], ebx
je 0x852377
push 3
jmp 0x852d32
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x85238e
push 8
jmp 0x852d32
mov eax, dword [esi + 8]
push eax
call fcn.0087d980
add esp, 4
test eax, eax
je 0x8523a5
push 5
jmp 0x852d32
push 4
jmp 0x852d32
mov edi, dword [esi + 8]
mov dword [esp + 0x18], ebx
cmp dword [edi + 0x52c], ebx
je 0x8523c3
mov ebp, dword [edi + 0x34c]
jmp 0x8523d9
cmp dword [edi + 0x520], ebx
je 0x8523d3
mov ebp, dword [edi + 0x31c]
jmp 0x8523d9
mov ebp, dword [edi + 0x304]
mov ecx, dword [edi + 0x364]
push ecx
push ebp
push edi
call fcn.0087a160
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x85241b
push ebp
push 0x8c6284
mov dword [edi + 0x764], eax
mov dword [edi + 0x770], 1
push esi
xor edi, edi
call fcn.00853e70
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
jne 0x85242e
mov eax, dword [esi + 8]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0087ace0
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x44]
push esi
push ecx
call fcn.00853280
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebx
je 0x852493
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0087ad40
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x852460
mov dword [esi + 8], ebx
jmp 0x852493
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x852474
push 8
jmp 0x85248a
mov ecx, dword [esi + 8]
push ecx
call fcn.0087d980
add esp, 4
test eax, eax
je 0x852488
push 5
jmp 0x85248a
push 4
push esi
call fcn.00851430
add esp, 8
cmp edi, ebx
je case.0x852290.1
mov dword [esp + 0x10], 1
jmp case.0x852290.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00874390
mov edi, eax
mov eax, dword [esi + 8]
add esp, 8
cmp dword [eax + 0x570], ebx
je 0x8524e8
push ebx
push ebx
push esi
mov dword [esp + 0x5c], 0xffffffff
xor edi, edi
call fcn.00851610
push 2
push esi
call fcn.00851430
add esp, 0x14
jmp case.0x852290.1
cmp edi, ebx
jne 0x85249b
cmp dword [eax + 0x358], 2
jne 0x852501
cmp dword [eax + 0x504], ebx
je case.0x852290.1
push eax
call fcn.0087d960
add esp, 4
test eax, eax
je case.0x852290.1
mov dword [esp + 0x50], 0xffffffff
push 6
jmp 0x852d32
mov edx, dword [esi + 8]
lea ecx, [esp + 0x30]
push ecx
push ebx
push edx
call fcn.00858c20
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x852587
cmp edi, ebx
jne 0x85258f
mov eax, dword [esi + 8]
cmp dword [eax + 0x358], 2
jne 0x852555
cmp dword [eax + 0x504], ebx
je 0x852562
push eax
call fcn.0087d980
add esp, 4
test eax, eax
je 0x852569
push 5
jmp 0x852d32
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 0x852d32
cmp edi, ebx
je case.0x852290.1
push esi
call fcn.0084c640
push 1
push edi
push esi
call fcn.00851610
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.0x852290.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00853050
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85258f
cmp dword [esp + 0x14], ebx
jne 0x8525f3
push 7
jmp 0x852d32
mov edx, dword [esi + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.00852fd0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x85258f
cmp dword [esp + 0x14], ebx
je case.0x852290.1
push 8
jmp 0x852bdf
cmp dword [esi + 0xbb0], ebx
je 0x852626
mov eax, dword [esi + 8]
push ebx
push eax
call fcn.00859fd0
push 0xe
push esi
call fcn.00851430
add esp, 0x10
xor edi, edi
mov dword [esp + 0x50], 0xffffffff
jmp case.0x852290.1
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.00852f30
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x8526b2
cmp dword [esp + 0x1c], ebx
jne 0x85268c
cmp dword [esi + 0x1008], ebx
je 0x852678
mov eax, dword [esi + 0x1030]
cmp eax, 7
je 0x852658
cmp eax, 5
jne 0x852678
push ebx
push ebx
push esi
call fcn.00851610
push 0xe
push esi
call fcn.00851430
add esp, 0x14
mov dword [esp + 0x50], 0xffffffff
jmp case.0x852290.1
push 9
push esi
call fcn.00851430
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x852290.1
mov edx, dword [esi + 8]
cmp dword [edx + 0x544], ebx
je 0x8526ab
push 0xa
push esi
call fcn.00851430
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x852290.1
push 0xb
jmp 0x852bdf
cmp edi, 0x37
jne 0x852774
mov eax, dword [esi + 8]
cmp dword [eax + 0x518], ebx
je 0x852774
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
push ecx
push eax
call fcn.0087c970
add esp, 8
cmp eax, ebx
je 0x8526ea
mov edi, eax
mov dword [esp + 0x10], 1
push esi
call fcn.0084c640
push ebx
push edi
push esi
call fcn.00851610
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp ecx, ebx
je 0x852759
cmp eax, ebx
je 0x852721
cmp eax, 0x37
je 0x852721
mov edx, dword [esp + 0x18]
mov edi, eax
push edx
call dword [0x8c5934]
add esp, 4
jmp case.0x852290.1
push 2
push ecx
push esi
call fcn.0087c6a0
add esp, 0xc
cmp eax, ebx
jne 0x85270c
push 2
push esi
call fcn.00851430
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x50], 0xffffffff
xor edi, edi
push edx
call dword [0x8c5934]
add esp, 4
jmp case.0x852290.1
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], 1
push edx
call dword [0x8c5934]
add esp, 4
jmp case.0x852290.1
push esi
call fcn.0084c640
mov eax, dword [esi + 8]
add esp, 4
cmp eax, ebx
je 0x85278f
push ebx
push edi
push esi
call fcn.00851610
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x852290.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.00853010
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x852806
cmp dword [esp + 0x1c], ebx
je case.0x852290.1
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x544]
neg eax
sbb eax, eax
add eax, 0xb
push eax
jmp 0x852bdf
mov edx, dword [esi + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
call fcn.00852f90
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x852806
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x852683
dec eax
neg eax
sbb eax, eax
and al, 0xfe
add eax, 0xb
push eax
jmp 0x852bdf
push esi
call fcn.0084c640
push ebx
jmp 0x852597
mov eax, dword [esi + 8]
cmp dword [eax + 0x57c], ebx
je 0x852826
push ebp
call fcn.00853dc0
add esp, 4
mov eax, dword [esi + 8]
or ebp, 0xffffffff
cmp dword [eax + 0x5c0], ebp
jne 0x852870
cmp dword [eax + 0x5c4], ebp
jne 0x852870
cmp dword [esi + 0x1008], ebx
je 0x85285c
mov ecx, dword [eax + 0x5a8]
mov eax, dword [ecx + 0x44]
test ah, 0x10
jne 0x85285c
mov dword [esi + 0x1030], 7
push 0xe
push esi
call fcn.00851430
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x852290.1
push 0xc
push esi
call fcn.00851430
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x852290.1
mov edx, dword [esi + 8]
push edx
call fcn.008615d0
add esp, 4
test eax, eax
je 0x85289e
mov edi, 0x2a
jmp case.0x852290.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.0087d700
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne case.0x852290.1
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x3c], ebx
jl 0x85291b
jg 0x8528d7
cmp ecx, ebx
jbe 0x85291b
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.00861310
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 0x852973
jg 0x852935
test ebp, ebp
jbe 0x852973
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.00861310
add esp, 0x28
mov ecx, dword [esp + 0x3c]
mov ebp, ebx
or ebp, ecx
jne 0x8529a3
mov ebp, eax
or ebp, edx
jne 0x8529a3
push 0xc
push esi
call fcn.00851430
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
push esi
call fcn.00861410
add esp, 0x14
jmp case.0x852290.1
cmp ecx, edx
jl 0x8529bf
jg 0x8529ad
cmp ebx, eax
jb 0x8529bf
push 0xa
push ecx
push ebx
push esi
call fcn.00853ab0
add esp, 0x10
jmp case.0x852290.1
push 0xa
push edx
push eax
push esi
call fcn.00853ab0
add esp, 0x10
jmp case.0x852290.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 0x852a41
jg 0x8529fb
cmp ecx, ebx
jbe 0x852a41
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.00861310
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 0x852a9d
jg 0x852a5b
test ecx, ecx
jbe 0x852a9d
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.00861310
add esp, 0x28
mov ebx, eax
mov ebp, edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x852c8c
mov edx, ebx
or edx, ebp
jne 0x852c8c
mov edx, dword [esi + 8]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x20]
push eax
push ecx
push esi
push edx
call fcn.0087b470
mov edi, eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
jne 0x852ae6
cmp edi, 0x38
je 0x852ae6
cmp edi, 0x5c
jne 0x852b1c
jmp 0x852b24
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.0087c970
add esp, 8
cmp eax, ebp
jne 0x852b16
mov eax, dword [esp + 0x18]
xor ebx, ebx
cmp eax, ebp
setne bl
cmp ebx, ebp
je 0x852b20
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x852b64
cmp edi, ebp
jne 0x852b24
mov edi, eax
mov ebx, dword [esp + 0x24]
cmp edi, ebp
je 0x852b5a
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x5a8]
test byte [edx + 0x44], 2
jne 0x852b43
cmp edi, 0x5c
je 0x852b43
push 2
push eax
call fcn.00859fd0
add esp, 8
push esi
call fcn.0084c640
push 1
push edi
push esi
call fcn.00851610
add esp, 0x10
jmp case.0x852290.1
cmp dword [esp + 0x20], ebp
je 0x852c66
push esi
call fcn.0084c640
mov eax, dword [esi + 0x11c]
add esp, 4
cmp eax, ebp
jne 0x852bf5
cmp ebx, ebp
jne 0x852c1e
cmp dword [esi + 0x118], ebp
je 0x852bdd
mov eax, dword [esp + 0x18]
push eax
call dword [0x8c5934]
mov eax, dword [esi + 0x118]
push 1
push eax
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0x118], ebp
call fcn.0087c6a0
mov ecx, dword [esp + 0x28]
mov edi, eax
push ecx
call dword [0x8c5934]
add esp, 0x14
cmp edi, ebp
je 0x852bdd
push 1
push edi
push esi
mov dword [esp + 0x1c], 1
call fcn.00851610
mov edi, eax
add esp, 0xc
cmp edi, ebp
jne case.0x852290.1
push 0xe
push esi
call fcn.00851430
add esp, 8
mov dword [esp + 0x50], 0xffffffff
jmp case.0x852290.1
cmp ebx, ebp
jne 0x852c1e
mov edx, dword [esp + 0x18]
push edx
call dword [0x8c5934]
mov eax, dword [esi + 0x11c]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esi + 0x11c], ebp
mov edi, 3
jmp 0x852c23
mov edi, 2
push ebp
push ebp
push esi
call fcn.00851610
mov ecx, dword [esp + 0x24]
push edi
push ecx
push esi
call fcn.0087c6a0
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x852c53
push 2
push esi
call fcn.00851430
add esp, 8
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x18]
push edx
call dword [0x8c5934]
add esp, 4
jmp case.0x852290.1
cmp dword [esp + 0x28], ebp
je case.0x852290.1
push 7
push 0
push 0
push esi
call fcn.00853ab0
add esp, 0x10
mov dword [esp + 0x50], 0
jmp case.0x852290.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.00861410
push 0xd
push esi
call fcn.00851430
mov eax, dword [esp + 0x50]
add esp, 0x14
cmp eax, ebp
jl 0x852cce
jg 0x852cb7
cmp dword [esp + 0x38], ebx
jb 0x852cce
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push 0xa
push edx
push eax
push esi
call fcn.00853ab0
add esp, 0x10
jmp case.0x852290.1
push 0xa
push ebp
push ebx
push esi
call fcn.00853ab0
add esp, 0x10
jmp case.0x852290.1
mov eax, dword [esi + 8]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x852d1c
cmp dword [eax + 0x57c], ebx
je 0x852cfd
push ebp
call fcn.00853dc0
add esp, 4
push ebx
push edi
push esi
call fcn.00851610
add esp, 0xc
cmp edi, ebx
jne 0x852d0e
mov edi, eax
cmp dword [esi + 8], ebx
je 0x852d1c
push esi
call fcn.00851920
add esp, 4
cmp dword [esi + 0x1008], ebx
je 0x852d30
cmp dword [esi + 0x1030], 7
je 0x852d30
push ebx
jmp 0x852d32
push 0xf
push esi
call fcn.00851430
add esp, 8
cmp dword [esi + 0x24], 0xf
jge 0x852dee
test edi, edi
je 0x852dad
mov ecx, dword [esp + 0x44]
push ecx
call fcn.00853dc0
mov ebp, dword [esi + 8]
add esp, 4
test ebp, ebp
je 0x852d8e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x852d9d
push esi
call fcn.00851920
xor edx, edx
cmp edi, 0x1c
sete dl
push edx
push ebp
push esi
call fcn.0084d010
add esp, 0x10
push 0xf
push esi
call fcn.00851430
add esp, 8
or ebp, 0xffffffff
jmp 0x852df2
cmp dword [esi + 0x24], 2
jne 0x852d9d
push esi
call fcn.0084c640
add esp, 4
push 0xf
push esi
call fcn.00851430
add esp, 8
or ebp, 0xffffffff
jmp 0x852df2
mov eax, dword [esi + 8]
test eax, eax
je 0x852dee
push eax
call fcn.008615d0
add esp, 4
test eax, eax
je 0x852dee
mov eax, dword [esi + 8]
push 2
push eax
mov edi, 0x2a
call fcn.00859fd0
mov ebp, dword [esi + 0x24]
xor ecx, ecx
cmp ebp, 0xe
setge cl
add ecx, 0xe
push ecx
push esi
call fcn.00851430
add esp, 0x10
or ebp, 0xffffffff
jmp 0x852df2
mov ebp, dword [esp + 0x50]
cmp dword [esi + 0x24], 0xf
jne 0x852e36
mov eax, dword [esi + 0xb08]
test eax, eax
je 0x852e0b
push edi
push esi
call eax
add esp, 8
jmp 0x852e2b
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.00852ef0
add esp, 8
mov ebp, eax
push 0x10
push esi
call fcn.00851430
add esp, 8
cmp ebp, 0xffffffff
je 0x8520b1
mov eax, dword [esp + 0x44]
push 0
push eax
call fcn.00852f10
add esp, 8
test eax, eax
je 0x852e76
jmp 0x8520b1
mov ecx, dword [esi + 0x24]
push ecx
push str.In_state__d_with_no_conn__bail_out__n
push esi
call fcn.00853f30
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