Function at 0x855a80
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 0x856890
cmp dword [esi + 0x1120], 0xc0dedbad
jne 0x856890
mov eax, dword [esi + 8]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x50], ebx
jne 0x855ad3
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x855ad3
cmp eax, 0xe
jl 0x856857
mov ebp, dword [esp + 0x44]
push 1
push ebp
call fcn.00856910
add esp, 8
test eax, eax
je 0x855aef
push ebp
call fcn.008577c0
add esp, 4
mov ecx, dword [esi + 8]
cmp ecx, ebx
je 0x855b05
mov eax, dword [esi + 0x24]
cmp eax, 2
jle 0x855b05
cmp eax, 0xf
jge 0x855b05
mov dword [ecx], esi
cmp dword [esi + 8], ebx
je 0x855c84
mov eax, dword [esi + 0x24]
cmp eax, 2
jl 0x855c84
cmp eax, 0xf
jge 0x855c84
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x48]
push ecx
push edx
push esi
call fcn.0085c260
add esp, 0xc
cmp edx, ebx
jg 0x855c84
jl 0x855b4c
cmp eax, ebx
jae 0x855c84
mov eax, dword [esi + 0x24]
cmp eax, 3
jne 0x855b86
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.0085fd30
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push esi
call fcn.00857930
add esp, 0x20
jmp 0x855c52
cmp eax, 4
jne 0x855bbd
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.0085fd30
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push esi
call fcn.00857930
add esp, 0x20
jmp 0x855c52
mov eax, dword [esi + 0x88]
mov ecx, dword [esi + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x855c14
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.0085fd30
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.00857930
add esp, 0x20
jmp 0x855c52
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.0085fd30
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push esi
call fcn.00857930
add esp, 0x18
cmp dword [esi + 0x24], 8
jle 0x855c6e
mov eax, dword [esi + 8]
push 2
push eax
call fcn.0085d9d0
add esp, 8
mov dword [esp + 0x10], 1
mov edi, 0x1c
push 1
push edi
push esi
call fcn.00855010
add esp, 0xc
jmp case.0x855c90.1
mov eax, dword [esi + 0x24]
cmp eax, 0x10
ja case.default.0x855c90
jmp dword [eax*4 + 0x8568a0]
push esi
call fcn.0087fe80
mov edi, eax
add esp, 4
cmp edi, ebx
jne case.0x855c90.1
push 2
push esi
call fcn.00854e30
push 1
push esi
call fcn.00864b40
add esp, 0x10
mov dword [esp + 0x50], 0xffffffff
jmp case.0x855c90.1
push 2
push esi
call fcn.00864b40
mov eax, dword [esi + 0x630]
add esp, 8
cmp eax, ebx
je 0x855ced
cdq
push 9
push edx
push eax
push esi
call fcn.008574b0
add esp, 0x10
mov eax, dword [esi + 0x634]
cmp eax, ebx
je 0x855d05
cdq
push 2
push edx
push eax
push esi
call fcn.008574b0
add esp, 0x10
lea ecx, [esp + 0x14]
lea edx, [esp + 0x2c]
push ecx
push edx
push esi
call fcn.00851380
mov edi, eax
add esp, 0xc
cmp edi, 0x59
jne 0x855d43
push 1
push esi
call fcn.00854e30
mov ecx, dword [ebp + 0x28]
lea eax, [esi + 0xc]
push eax
push esi
add ebp, 0x24
push ecx
push ebp
call fcn.0087b430
add esp, 0x18
xor edi, edi
jmp case.0x855c90.1
cmp dword [esi + 0x1024], ebx
je 0x855d62
push str.Transfer_was_pending__now_try_another_n
push esi
call fcn.00857870
mov edx, dword [esi + 0x78]
push edx
call fcn.008577c0
add esp, 0xc
cmp edi, ebx
jne case.0x855c90.1
cmp dword [esp + 0x2c], ebx
je 0x855d77
push 3
jmp 0x856732
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x855d8e
push 8
jmp 0x856732
mov eax, dword [esi + 8]
push eax
call fcn.00881380
add esp, 4
test eax, eax
je 0x855da5
push 5
jmp 0x856732
push 4
jmp 0x856732
mov edi, dword [esi + 8]
mov dword [esp + 0x18], ebx
cmp dword [edi + 0x52c], ebx
je 0x855dc3
mov ebp, dword [edi + 0x34c]
jmp 0x855dd9
cmp dword [edi + 0x520], ebx
je 0x855dd3
mov ebp, dword [edi + 0x31c]
jmp 0x855dd9
mov ebp, dword [edi + 0x304]
mov ecx, dword [edi + 0x364]
push ecx
push ebp
push edi
call fcn.0087db60
add esp, 0xc
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x855e1b
push ebp
push 0x8ca284
mov dword [edi + 0x764], eax
mov dword [edi + 0x770], 1
push esi
xor edi, edi
call fcn.00857870
mov eax, dword [esp + 0x24]
add esp, 0xc
cmp eax, ebx
jne 0x855e2e
mov eax, dword [esi + 8]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.0087e6e0
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x44]
push esi
push ecx
call fcn.00856c80
mov eax, dword [esp + 0x20]
add esp, 8
cmp eax, ebx
je 0x855e93
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.0087e740
mov edi, eax
add esp, 8
cmp edi, ebx
je 0x855e60
mov dword [esi + 8], ebx
jmp 0x855e93
mov eax, dword [esp + 0x14]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x855e74
push 8
jmp 0x855e8a
mov ecx, dword [esi + 8]
push ecx
call fcn.00881380
add esp, 4
test eax, eax
je 0x855e88
push 5
jmp 0x855e8a
push 4
push esi
call fcn.00854e30
add esp, 8
cmp edi, ebx
je case.0x855c90.1
mov dword [esp + 0x10], 1
jmp case.0x855c90.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00877d90
mov edi, eax
mov eax, dword [esi + 8]
add esp, 8
cmp dword [eax + 0x570], ebx
je 0x855ee8
push ebx
push ebx
push esi
mov dword [esp + 0x5c], 0xffffffff
xor edi, edi
call fcn.00855010
push 2
push esi
call fcn.00854e30
add esp, 0x14
jmp case.0x855c90.1
cmp edi, ebx
jne 0x855e9b
cmp dword [eax + 0x358], 2
jne 0x855f01
cmp dword [eax + 0x504], ebx
je case.0x855c90.1
push eax
call fcn.00881360
add esp, 4
test eax, eax
je case.0x855c90.1
mov dword [esp + 0x50], 0xffffffff
push 6
jmp 0x856732
mov edx, dword [esi + 8]
lea ecx, [esp + 0x30]
push ecx
push ebx
push edx
call fcn.0085c620
mov edi, eax
mov eax, dword [esp + 0x3c]
add esp, 0xc
cmp eax, ebx
je 0x855f87
cmp edi, ebx
jne 0x855f8f
mov eax, dword [esi + 8]
cmp dword [eax + 0x358], 2
jne 0x855f55
cmp dword [eax + 0x504], ebx
je 0x855f62
push eax
call fcn.00881380
add esp, 4
test eax, eax
je 0x855f69
push 5
jmp 0x856732
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 0x856732
cmp edi, ebx
je case.0x855c90.1
push esi
call fcn.00850040
push 1
push edi
push esi
call fcn.00855010
add esp, 0x10
mov dword [esp + 0x10], 1
jmp case.0x855c90.1
mov eax, dword [esi + 8]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.00856a50
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x855f8f
cmp dword [esp + 0x14], ebx
jne 0x855ff3
push 7
jmp 0x856732
mov edx, dword [esi + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.008569d0
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x855f8f
cmp dword [esp + 0x14], ebx
je case.0x855c90.1
push 8
jmp 0x8565df
cmp dword [esi + 0xbb0], ebx
je 0x856026
mov eax, dword [esi + 8]
push ebx
push eax
call fcn.0085d9d0
push 0xe
push esi
call fcn.00854e30
add esp, 0x10
xor edi, edi
mov dword [esp + 0x50], 0xffffffff
jmp case.0x855c90.1
lea ecx, [esp + 0x1c]
push ecx
push esi
call fcn.00856930
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x8560b2
cmp dword [esp + 0x1c], ebx
jne 0x85608c
cmp dword [esi + 0x1008], ebx
je 0x856078
mov eax, dword [esi + 0x1030]
cmp eax, 7
je 0x856058
cmp eax, 5
jne 0x856078
push ebx
push ebx
push esi
call fcn.00855010
push 0xe
push esi
call fcn.00854e30
add esp, 0x14
mov dword [esp + 0x50], 0xffffffff
jmp case.0x855c90.1
push 9
push esi
call fcn.00854e30
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x855c90.1
mov edx, dword [esi + 8]
cmp dword [edx + 0x544], ebx
je 0x8560ab
push 0xa
push esi
call fcn.00854e30
add esp, 8
mov dword [esp + 0x50], ebx
jmp case.0x855c90.1
push 0xb
jmp 0x8565df
cmp edi, 0x37
jne 0x856174
mov eax, dword [esi + 8]
cmp dword [eax + 0x518], ebx
je 0x856174
lea ecx, [esp + 0x18]
mov dword [esp + 0x18], ebx
push ecx
push eax
call fcn.00880370
add esp, 8
cmp eax, ebx
je 0x8560ea
mov edi, eax
mov dword [esp + 0x10], 1
push esi
call fcn.00850040
push ebx
push edi
push esi
call fcn.00855010
mov ecx, dword [esp + 0x28]
add esp, 0x10
cmp ecx, ebx
je 0x856159
cmp eax, ebx
je 0x856121
cmp eax, 0x37
je 0x856121
mov edx, dword [esp + 0x18]
mov edi, eax
push edx
call dword [0x8c9934]
add esp, 4
jmp case.0x855c90.1
push 2
push ecx
push esi
call fcn.008800a0
add esp, 0xc
cmp eax, ebx
jne 0x85610c
push 2
push esi
call fcn.00854e30
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [esp + 0x50], 0xffffffff
xor edi, edi
push edx
call dword [0x8c9934]
add esp, 4
jmp case.0x855c90.1
mov edx, dword [esp + 0x18]
mov dword [esp + 0x10], 1
push edx
call dword [0x8c9934]
add esp, 4
jmp case.0x855c90.1
push esi
call fcn.00850040
mov eax, dword [esi + 8]
add esp, 4
cmp eax, ebx
je 0x85618f
push ebx
push edi
push esi
call fcn.00855010
add esp, 0xc
mov dword [esp + 0x10], 1
jmp case.0x855c90.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.00856a10
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x856206
cmp dword [esp + 0x1c], ebx
je case.0x855c90.1
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x544]
neg eax
sbb eax, eax
add eax, 0xb
push eax
jmp 0x8565df
mov edx, dword [esi + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
call fcn.00856990
mov edi, eax
add esp, 8
cmp edi, ebx
jne 0x856206
mov eax, dword [esp + 0x34]
cmp eax, ebx
je 0x856083
dec eax
neg eax
sbb eax, eax
and al, 0xfe
add eax, 0xb
push eax
jmp 0x8565df
push esi
call fcn.00850040
push ebx
jmp 0x855f97
mov eax, dword [esi + 8]
cmp dword [eax + 0x57c], ebx
je 0x856226
push ebp
call fcn.008577c0
add esp, 4
mov eax, dword [esi + 8]
or ebp, 0xffffffff
cmp dword [eax + 0x5c0], ebp
jne 0x856270
cmp dword [eax + 0x5c4], ebp
jne 0x856270
cmp dword [esi + 0x1008], ebx
je 0x85625c
mov ecx, dword [eax + 0x5a8]
mov eax, dword [ecx + 0x44]
test ah, 0x10
jne 0x85625c
mov dword [esi + 0x1030], 7
push 0xe
push esi
call fcn.00854e30
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x855c90.1
push 0xc
push esi
call fcn.00854e30
add esp, 8
mov dword [esp + 0x50], ebp
jmp case.0x855c90.1
mov edx, dword [esi + 8]
push edx
call fcn.00864fd0
add esp, 4
test eax, eax
je 0x85629e
mov edi, 0x2a
jmp case.0x855c90.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.00881100
mov edi, eax
add esp, 0xc
cmp edi, ebx
jne case.0x855c90.1
mov eax, dword [esi + 0x664]
mov ecx, dword [esi + 0x660]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x3c], ebx
jl 0x85631b
jg 0x8562d7
cmp ecx, ebx
jbe 0x85631b
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.00864d10
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 0x856373
jg 0x856335
test ebp, ebp
jbe 0x856373
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.00864d10
add esp, 0x28
mov ecx, dword [esp + 0x3c]
mov ebp, ebx
or ebp, ecx
jne 0x8563a3
mov ebp, eax
or ebp, edx
jne 0x8563a3
push 0xc
push esi
call fcn.00854e30
mov edx, dword [esp + 0x54]
mov eax, dword [esp + 0x50]
push edx
push eax
push esi
call fcn.00864e10
add esp, 0x14
jmp case.0x855c90.1
cmp ecx, edx
jl 0x8563bf
jg 0x8563ad
cmp ebx, eax
jb 0x8563bf
push 0xa
push ecx
push ebx
push esi
call fcn.008574b0
add esp, 0x10
jmp case.0x855c90.1
push 0xa
push edx
push eax
push esi
call fcn.008574b0
add esp, 0x10
jmp case.0x855c90.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 0x856441
jg 0x8563fb
cmp ecx, ebx
jbe 0x856441
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.00864d10
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 0x85649d
jg 0x85645b
test ecx, ecx
jbe 0x85649d
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.00864d10
add esp, 0x28
mov ebx, eax
mov ebp, edx
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x3c]
or ecx, eax
jne 0x85668c
mov edx, ebx
or edx, ebp
jne 0x85668c
mov edx, dword [esi + 8]
lea eax, [esp + 0x28]
lea ecx, [esp + 0x20]
push eax
push ecx
push esi
push edx
call fcn.0087ee70
mov edi, eax
mov eax, dword [esp + 0x30]
xor ebp, ebp
add esp, 0x10
cmp eax, ebp
jne 0x8564e6
cmp edi, 0x38
je 0x8564e6
cmp edi, 0x5c
jne 0x85651c
jmp 0x856524
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.00880370
add esp, 8
cmp eax, ebp
jne 0x856516
mov eax, dword [esp + 0x18]
xor ebx, ebx
cmp eax, ebp
setne bl
cmp ebx, ebp
je 0x856520
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x856564
cmp edi, ebp
jne 0x856524
mov edi, eax
mov ebx, dword [esp + 0x24]
cmp edi, ebp
je 0x85655a
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x5a8]
test byte [edx + 0x44], 2
jne 0x856543
cmp edi, 0x5c
je 0x856543
push 2
push eax
call fcn.0085d9d0
add esp, 8
push esi
call fcn.00850040
push 1
push edi
push esi
call fcn.00855010
add esp, 0x10
jmp case.0x855c90.1
cmp dword [esp + 0x20], ebp
je 0x856666
push esi
call fcn.00850040
mov eax, dword [esi + 0x11c]
add esp, 4
cmp eax, ebp
jne 0x8565f5
cmp ebx, ebp
jne 0x85661e
cmp dword [esi + 0x118], ebp
je 0x8565dd
mov eax, dword [esp + 0x18]
push eax
call dword [0x8c9934]
mov eax, dword [esi + 0x118]
push 1
push eax
push esi
mov dword [esp + 0x28], eax
mov dword [esi + 0x118], ebp
call fcn.008800a0
mov ecx, dword [esp + 0x28]
mov edi, eax
push ecx
call dword [0x8c9934]
add esp, 0x14
cmp edi, ebp
je 0x8565dd
push 1
push edi
push esi
mov dword [esp + 0x1c], 1
call fcn.00855010
mov edi, eax
add esp, 0xc
cmp edi, ebp
jne case.0x855c90.1
push 0xe
push esi
call fcn.00854e30
add esp, 8
mov dword [esp + 0x50], 0xffffffff
jmp case.0x855c90.1
cmp ebx, ebp
jne 0x85661e
mov edx, dword [esp + 0x18]
push edx
call dword [0x8c9934]
mov eax, dword [esi + 0x11c]
add esp, 4
mov dword [esp + 0x18], eax
mov dword [esi + 0x11c], ebp
mov edi, 3
jmp 0x856623
mov edi, 2
push ebp
push ebp
push esi
call fcn.00855010
mov ecx, dword [esp + 0x24]
push edi
push ecx
push esi
call fcn.008800a0
mov edi, eax
add esp, 0x18
cmp edi, ebp
jne 0x856653
push 2
push esi
call fcn.00854e30
add esp, 8
mov dword [esp + 0x50], 0xffffffff
mov edx, dword [esp + 0x18]
push edx
call dword [0x8c9934]
add esp, 4
jmp case.0x855c90.1
cmp dword [esp + 0x28], ebp
je case.0x855c90.1
push 7
push 0
push 0
push esi
call fcn.008574b0
add esp, 0x10
mov dword [esp + 0x50], 0
jmp case.0x855c90.1
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x48]
push eax
push ecx
push esi
call fcn.00864e10
push 0xd
push esi
call fcn.00854e30
mov eax, dword [esp + 0x50]
add esp, 0x14
cmp eax, ebp
jl 0x8566ce
jg 0x8566b7
cmp dword [esp + 0x38], ebx
jb 0x8566ce
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push 0xa
push edx
push eax
push esi
call fcn.008574b0
add esp, 0x10
jmp case.0x855c90.1
push 0xa
push ebp
push ebx
push esi
call fcn.008574b0
add esp, 0x10
jmp case.0x855c90.1
mov eax, dword [esi + 8]
mov dword [esp + 0x50], 0xffffffff
cmp eax, ebx
je 0x85671c
cmp dword [eax + 0x57c], ebx
je 0x8566fd
push ebp
call fcn.008577c0
add esp, 4
push ebx
push edi
push esi
call fcn.00855010
add esp, 0xc
cmp edi, ebx
jne 0x85670e
mov edi, eax
cmp dword [esi + 8], ebx
je 0x85671c
push esi
call fcn.00855320
add esp, 4
cmp dword [esi + 0x1008], ebx
je 0x856730
cmp dword [esi + 0x1030], 7
je 0x856730
push ebx
jmp 0x856732
push 0xf
push esi
call fcn.00854e30
add esp, 8
cmp dword [esi + 0x24], 0xf
jge 0x8567ee
test edi, edi
je 0x8567ad
mov ecx, dword [esp + 0x44]
push ecx
call fcn.008577c0
mov ebp, dword [esi + 8]
add esp, 4
test ebp, ebp
je 0x85678e
mov eax, dword [esp + 0x10]
test eax, eax
je 0x85679d
push esi
call fcn.00855320
xor edx, edx
cmp edi, 0x1c
sete dl
push edx
push ebp
push esi
call fcn.00850a10
add esp, 0x10
push 0xf
push esi
call fcn.00854e30
add esp, 8
or ebp, 0xffffffff
jmp 0x8567f2
cmp dword [esi + 0x24], 2
jne 0x85679d
push esi
call fcn.00850040
add esp, 4
push 0xf
push esi
call fcn.00854e30
add esp, 8
or ebp, 0xffffffff
jmp 0x8567f2
mov eax, dword [esi + 8]
test eax, eax
je 0x8567ee
push eax
call fcn.00864fd0
add esp, 4
test eax, eax
je 0x8567ee
mov eax, dword [esi + 8]
push 2
push eax
mov edi, 0x2a
call fcn.0085d9d0
mov ebp, dword [esi + 0x24]
xor ecx, ecx
cmp ebp, 0xe
setge cl
add ecx, 0xe
push ecx
push esi
call fcn.00854e30
add esp, 0x10
or ebp, 0xffffffff
jmp 0x8567f2
mov ebp, dword [esp + 0x50]
cmp dword [esi + 0x24], 0xf
jne 0x856836
mov eax, dword [esi + 0xb08]
test eax, eax
je 0x85680b
push edi
push esi
call eax
add esp, 8
jmp 0x85682b
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.008568f0
add esp, 8
mov ebp, eax
push 0x10
push esi
call fcn.00854e30
add esp, 8
cmp ebp, 0xffffffff
je 0x855ab1
mov eax, dword [esp + 0x44]
push 0
push eax
call fcn.00856910
add esp, 8
test eax, eax
je 0x856876
jmp 0x855ab1
mov ecx, dword [esi + 0x24]
push ecx
push str.In_state__d_with_no_conn__bail_out__n
push esi
call fcn.00857930
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