Function at 0x10019e00
Capabilities:
Check for time delay via gettickcount

Disassembly:
sub esp, 0x24
push ebx
xor ebx, ebx
push edi
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
cmp esi, ebx
je 0x1001ad87
cmp dword [esi + 0x885c], 0xc0dedbad
jne 0x1001ad87
push ebp
mov edi, edi
xor ebp, ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebp
cmp dword [esi + 0x8738], ebx
je 0x10019e8e
mov eax, dword [esi + 0x8740]
push eax
push esi
push str.Pipe_broke:_handle__p__url___s_n
push esi
call fcn.1001b380
mov eax, dword [esi + 0xc]
add esp, 0x10
cmp eax, 0x11
jge 0x10019e80
cmp eax, 2
je 0x10019e7b
mov dword [esi + 0xc], 2
mov eax, dword [0x100621c0]
cmp eax, ebx
je 0x10019e7b
push esi
call eax
add esp, 4
or ebp, 0xffffffff
xor edi, edi
mov dword [esi + 0x8738], ebx
mov dword [esi + 8], ebx
jmp 0x1001ad39
cmp dword [esi + 8], 0
lea ebx, [esi + 8]
jne 0x10019ea8
mov eax, dword [esi + 0xc]
cmp eax, 2
jle 0x10019ea8
cmp eax, 0x10
jl 0x1001ad5d
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x64]
mov dword [ecx + 0x64], 0
test eax, eax
je 0x10019ec3
push ecx
call fcn.100198a0
add esp, 4
mov ecx, dword [ebx]
test ecx, ecx
je 0x10019ed8
mov eax, dword [esi + 0xc]
cmp eax, 2
jle 0x10019ed8
cmp eax, 0x11
jge 0x10019ed8
mov dword [ecx], esi
cmp dword [ebx], 0
je 0x1001a02d
mov eax, dword [esi + 0xc]
cmp eax, 2
jl 0x1001a02d
cmp eax, 0x11
jge 0x1001a02d
xor edx, edx
cmp eax, 8
setle dl
lea eax, [esp + 0x38]
push edx
push eax
push esi
call fcn.1001cff0
add esp, 0xc
test eax, eax
jge 0x1001a02d
mov eax, dword [esi + 0xc]
cmp eax, 3
jne 0x10019f4e
mov ecx, dword [esi + 0x56c]
mov edx, dword [esi + 0x568]
mov eax, dword [esp + 0x3c]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
call fcn.1001af30
push eax
push str.Resolving_timed_out_after__ld_milliseconds
push esi
call fcn.1001b410
add esp, 0x1c
jmp 0x1001a000
cmp eax, 4
jne 0x10019f81
mov edx, dword [esi + 0x56c]
mov eax, dword [esi + 0x568]
mov ecx, dword [esp + 0x3c]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
push edx
call fcn.1001af30
push eax
push str.Connection_timed_out_after__ld_milliseconds
push esi
call fcn.1001b410
add esp, 0x1c
jmp 0x1001a000
mov eax, dword [esi + 0x50]
mov ecx, dword [esi + 0x54]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
mov edx, dword [esi + 0x56c]
je 0x10019fcf
push ecx
mov ecx, dword [esi + 0x70]
push eax
mov eax, dword [esi + 0x74]
push eax
mov eax, dword [esi + 0x568]
push ecx
mov ecx, dword [esi + 0x94]
push edx
mov edx, dword [esi + 0x90]
push eax
push ecx
push edx
call fcn.1001af30
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.1001b410
add esp, 0x1c
jmp 0x1001a000
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x70]
push eax
mov eax, dword [esi + 0x568]
push ecx
mov ecx, dword [esp + 0x44]
push edx
mov edx, dword [esp + 0x44]
push eax
push ecx
push edx
call fcn.1001af30
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
push esi
call fcn.1001b410
add esp, 0x14
cmp dword [esi + 0xc], 9
jle 0x1001a017
mov ecx, dword [ebx]
mov eax, 1
mov dword [ecx + 0x270], eax
mov dword [esp + 0xc], eax
push 1
mov edi, 0x1c
push edi
push ebx
call fcn.10017890
add esp, 0xc
jmp case.0x1001a039.1
mov eax, dword [esi + 0xc]
cmp eax, 0x12
ja case.default.0x1001a039
jmp dword [eax*4 + 0x1001ad94]
push esi
call fcn.1003b290
mov edi, eax
add esp, 4
test edi, edi
jne case.0x1001a039.1
mov eax, 2
cmp dword [esi + 0xc], eax
je 0x1001a06f
mov dword [esi + 0xc], eax
mov eax, dword [0x100621c0]
test eax, eax
je 0x1001a06f
push esi
call eax
add esp, 4
push 1
push esi
call fcn.10022d10
add esp, 8
or ebp, 0xffffffff
jmp case.0x1001a039.1
push 2
push esi
call fcn.10022d10
lea edx, [esp + 0x20]
push edx
lea eax, [esp + 0x30]
push eax
push ebx
push esi
call fcn.100188e0
mov edi, eax
add esp, 0x18
cmp edi, 0x59
jne 0x1001a0d8
mov eax, 1
cmp dword [esi + 0xc], eax
je 0x1001a0b2
mov dword [esi + 0xc], eax
mov ecx, dword [esp + 0x34]
mov eax, dword [ecx + 0x18]
mov edx, dword [eax + 4]
push esi
push edx
push eax
call fcn.100379a0
add esp, 0xc
mov edi, eax
neg edi
sbb edi, edi
and edi, 0xffffffe5
add edi, 0x1b
jmp case.0x1001a039.1
test edi, edi
jne case.0x1001a039.1
mov eax, dword [ebx]
push eax
push esi
call fcn.10038090
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001a418
cmp dword [esp + 0x24], eax
je 0x1001a125
cmp dword [esi + 0xc], 3
je case.0x1001a039.1
mov dword [esi + 0xc], 3
mov eax, dword [0x100621c4]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
or ebp, 0xffffffff
cmp dword [esp + 0x18], 0
je 0x1001a151
mov ecx, dword [esp + 0x34]
push 1
push ecx
call fcn.10018b10
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, esi
call fcn.10018980
jmp case.0x1001a039.1
mov edx, dword [ebx]
cmp dword [edx + 0x5d8], 1
jne 0x1001a185
cmp dword [esi + 0xc], 5
je case.0x1001a039.1
mov dword [esi + 0xc], 5
mov eax, dword [0x100621cc]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
cmp dword [esi + 0xc], 4
je case.0x1001a039.1
mov dword [esi + 0xc], 4
mov eax, dword [0x100621c8]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
mov edi, dword [ebx]
mov dword [esp + 0x14], 0
mov eax, dword [edi + 0xb0]
mov ecx, dword [edi + 0x98]
push eax
push ecx
push edi
call fcn.10011a00
add esp, 0xc
mov dword [esp + 0x14], eax
test eax, eax
je 0x1001a1fd
push str.Hostname_was_found_in_DNS_cache_n
mov dword [edi + 0x4f8], eax
mov dword [edi + 0x4fc], 1
push esi
xor edi, edi
call fcn.1001b380
add esp, 8
cmp dword [esp + 0x14], edi
jne 0x1001a20f
mov eax, dword [ebx]
lea edx, [esp + 0x14]
push edx
push eax
call fcn.10010c70
add esp, 8
mov edi, eax
mov ecx, dword [esp + 0x34]
push esi
push ecx
call fcn.10018e10
add esp, 8
cmp dword [esp + 0x14], 0
je 0x1001a2aa
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.1001e960
mov edi, eax
add esp, 8
test edi, edi
je 0x1001a246
mov dword [ebx], 0
jmp 0x1001a2aa
or ebp, 0xffffffff
cmp dword [esp + 0x18], 0
je 0x1001a26f
mov ecx, dword [esp + 0x34]
push 1
push ecx
call fcn.10018b10
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, esi
call fcn.10018980
jmp 0x1001a2aa
mov edx, dword [ebx]
cmp dword [edx + 0x5d8], 1
jne 0x1001a28e
mov eax, 5
cmp dword [esi + 0xc], eax
je 0x1001a2aa
mov dword [esi + 0xc], eax
mov eax, dword [0x100621cc]
jmp 0x1001a2a0
mov eax, 4
cmp dword [esi + 0xc], eax
je 0x1001a2aa
mov dword [esi + 0xc], eax
mov eax, dword [0x100621c8]
test eax, eax
je 0x1001a2aa
push esi
call eax
add esp, 4
test edi, edi
je case.0x1001a039.1
mov dword [esp + 0xc], 1
jmp case.0x1001a039.1
mov ecx, dword [ebx]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.10034fb0
mov edi, eax
mov eax, dword [ebx]
add esp, 8
cmp dword [eax + 0x2c4], 0
je 0x1001a315
xor edi, edi
push edi
push edi
push ebx
or ebp, 0xffffffff
call fcn.10017890
add esp, 0xc
cmp dword [esi + 0xc], 2
je case.0x1001a039.1
mov dword [esi + 0xc], 2
mov eax, dword [0x100621c0]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
test edi, edi
jne case.0x1001a039.1
cmp dword [eax + 0x5d8], 2
jne case.0x1001a039.1
or ebp, 0xffffffff
cmp dword [esi + 0xc], 6
je case.0x1001a039.1
mov dword [esi + 0xc], 6
mov eax, dword [0x100621d0]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
mov eax, dword [ebx]
lea edx, [esp + 0x28]
push edx
push 0
push eax
call fcn.1001e070
add esp, 0xc
cmp dword [esp + 0x28], 0
mov edi, eax
je 0x1001a2aa
test edi, edi
jne 0x1001a2b2
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x2a4]
or ebp, 0xffffffff
neg eax
sbb eax, eax
add eax, 6
mov ecx, esi
call fcn.10018980
jmp case.0x1001a039.1
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.10012ac0
add esp, 8
cmp dword [esp + 0x18], 0
mov edi, eax
jne 0x1001a3dd
cmp dword [esi + 0xc], 7
je case.0x1001a039.1
mov dword [esi + 0xc], 7
mov eax, dword [0x100621d4]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
test edi, edi
jne 0x1001a406
mov ecx, dword [esp + 0x34]
push 1
push ecx
call fcn.10018b10
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, esi
call fcn.10018980
or ebp, 0xffffffff
jmp case.0x1001a039.1
push esi
call fcn.10011760
push 1
push edi
push ebx
call fcn.10017890
add esp, 0x10
mov dword [esp + 0xc], 1
jmp case.0x1001a039.1
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.10012a40
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001a406
cmp dword [esp + 0x18], eax
je case.0x1001a039.1
jmp 0x1001a3e1
mov edx, dword [ebx]
push edx
push esi
call fcn.10037fd0
add esp, 8
test eax, eax
je case.0x1001a039.1
mov eax, 9
cmp dword [esi + 0xc], eax
je 0x1001a477
mov dword [esi + 0xc], eax
mov eax, dword [0x100621dc]
test eax, eax
je 0x1001a477
push esi
call eax
add esp, 4
or ebp, 0xffffffff
jmp case.0x1001a039.1
cmp dword [esi + 0x370], 0
je 0x1001a4ba
mov eax, dword [ebx]
mov dword [eax + 0x270], 0
mov eax, 0x10
cmp dword [esi + 0xc], eax
je 0x1001a4b0
mov dword [esi + 0xc], eax
mov eax, dword [0x100621f8]
test eax, eax
je 0x1001a4b0
push esi
call eax
add esp, 4
xor edi, edi
or ebp, 0xffffffff
jmp case.0x1001a039.1
lea ecx, [esp + 0x1c]
push ecx
push ebx
call fcn.10013da0
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001a575
cmp dword [esp + 0x1c], eax
jne 0x1001a52c
cmp dword [esi + 0x46c], eax
je 0x1001a518
mov eax, dword [esi + 0x8798]
cmp eax, 6
je 0x1001a4f0
cmp eax, 4
jne 0x1001a518
push 0
push 0
push ebx
call fcn.10017890
add esp, 0xc
mov eax, 0x10
cmp dword [esi + 0xc], eax
je 0x1001a477
mov dword [esi + 0xc], eax
mov eax, dword [0x100621f8]
jmp 0x1001a46d
mov eax, 0xa
cmp dword [esi + 0xc], eax
je 0x1001a553
mov dword [esi + 0xc], eax
mov eax, dword [0x100621e0]
jmp 0x1001a549
mov edx, dword [ebx]
cmp dword [edx + 0x290], 0
je 0x1001a55a
mov eax, 0xb
cmp dword [esi + 0xc], eax
je 0x1001a553
mov dword [esi + 0xc], eax
mov eax, dword [0x100621e4]
test eax, eax
je 0x1001a553
push esi
call eax
add esp, 4
xor ebp, ebp
jmp case.0x1001a039.1
mov eax, 0xc
cmp dword [esi + 0xc], eax
je 0x1001a477
mov dword [esi + 0xc], eax
mov eax, dword [0x100621e8]
jmp 0x1001a46d
cmp edi, 0x37
jne 0x1001a66e
mov eax, dword [ebx]
cmp dword [eax + 0x274], 0
je 0x1001a66e
lea ecx, [esp + 0x10]
push ecx
xor ebp, ebp
push eax
mov dword [esp + 0x18], ebp
call fcn.1003b970
add esp, 8
test eax, eax
je 0x1001a5b1
mov edi, eax
mov dword [esp + 0xc], 1
jmp 0x1001a5bc
xor edx, edx
cmp dword [esp + 0x10], edx
setne dl
mov ebp, edx
push esi
call fcn.10011760
push 0
push edi
push ebx
call fcn.10017890
add esp, 0x10
test ebp, ebp
je 0x1001a64f
test eax, eax
je 0x1001a5f4
cmp eax, 0x37
je 0x1001a5f4
mov edi, eax
mov eax, dword [esp + 0x10]
push eax
call dword [0x100711f4]
mov ebp, dword [esp + 0x18]
add esp, 4
jmp case.0x1001a039.1
mov ecx, dword [esp + 0x10]
mov edi, 2
push edi
push ecx
push esi
call fcn.1003b640
add esp, 0xc
test eax, eax
jne 0x1001a636
cmp dword [esi + 0xc], edi
je 0x1001a623
mov dword [esi + 0xc], edi
mov eax, dword [0x100621c0]
test eax, eax
je 0x1001a623
push esi
call eax
add esp, 4
mov dword [esp + 0x14], 0xffffffff
mov ebp, dword [esp + 0x14]
xor edi, edi
jmp case.0x1001a039.1
mov edx, dword [esp + 0x10]
push edx
mov edi, eax
call dword [0x100711f4]
mov ebp, dword [esp + 0x18]
add esp, 4
jmp case.0x1001a039.1
mov eax, dword [esp + 0x10]
push eax
mov dword [esp + 0x10], 1
call dword [0x100711f4]
mov ebp, dword [esp + 0x18]
add esp, 4
jmp case.0x1001a039.1
push esi
call fcn.10011760
add esp, 4
cmp dword [ebx], 0
je 0x1001a688
push 0
push edi
push ebx
call fcn.10017890
add esp, 0xc
mov dword [esp + 0xc], 1
jmp case.0x1001a039.1
mov edx, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.10012a80
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001a6d3
cmp dword [esp + 0x1c], eax
je case.0x1001a039.1
mov eax, dword [ebx]
mov eax, dword [eax + 0x290]
neg eax
sbb eax, eax
add eax, 0xc
mov ecx, esi
call fcn.10018980
or ebp, 0xffffffff
jmp case.0x1001a039.1
push esi
call fcn.10011760
push 0
jmp 0x1001a40e
mov edx, dword [ebx]
lea ecx, [esp + 0x2c]
push ecx
push edx
call fcn.10013e30
mov edi, eax
add esp, 8
test edi, edi
jne 0x1001a6d3
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x1001a553
xor ecx, ecx
cmp eax, 1
sete cl
lea ecx, [ecx + ecx + 0xa]
mov eax, ecx
mov ecx, esi
call fcn.10018980
or ebp, 0xffffffff
jmp case.0x1001a039.1
mov edx, dword [ebx]
push edx
push esi
call fcn.100380f0
mov eax, dword [esp + 0x3c]
push eax
call fcn.100198a0
mov eax, dword [ebx]
or ecx, 0xffffffff
add esp, 0xc
cmp dword [eax + 0x2f0], ecx
jne 0x1001a74e
cmp dword [eax + 0x2f4], ecx
je 0x1001a4fd
mov eax, 0xd
cmp dword [esi + 0xc], eax
je 0x1001a477
mov dword [esi + 0xc], eax
mov eax, dword [0x100621ec]
jmp 0x1001a46d
mov ecx, dword [ebx]
push ecx
push esi
call fcn.10038020
add esp, 8
test eax, eax
je case.0x1001a039.1
mov eax, 0xe
cmp dword [esi + 0xc], eax
je 0x1001a477
mov dword [esi + 0xc], eax
mov eax, dword [0x100621f0]
jmp 0x1001a46d
mov edx, dword [ebx]
push edx
call fcn.10022f80
add esp, 4
test eax, eax
je 0x1001a7ae
mov edi, 0x2a
jmp 0x1001a7c3
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
push eax
push ecx
push esi
call fcn.10039ec0
add esp, 0xc
mov edi, eax
mov ecx, dword [esi + 0x208]
mov eax, dword [esi + 0x20c]
mov edx, ecx
or edx, eax
je 0x1001a7f3
mov edx, dword [esi + 0x52c]
cmp edx, eax
jg case.0x1001a039.1
jl 0x1001a7f3
mov eax, dword [esi + 0x528]
cmp eax, ecx
jae case.0x1001a039.1
mov ecx, dword [esi + 0x210]
mov eax, dword [esi + 0x214]
mov edx, ecx
or edx, eax
je 0x1001a823
mov edx, dword [esi + 0x524]
cmp edx, eax
jg case.0x1001a039.1
jl 0x1001a823
mov eax, dword [esi + 0x520]
cmp eax, ecx
jae case.0x1001a039.1
cmp dword [esi + 0xc], 0xe
je case.0x1001a039.1
mov dword [esi + 0xc], 0xe
mov eax, dword [0x100621f0]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
mov eax, dword [esi + 0x20c]
mov ecx, dword [esi + 0x208]
xor ebp, ebp
cmp eax, ebp
mov dword [esp + 0x10], ebp
jl 0x1001a8d8
jg 0x1001a868
cmp ecx, ebp
jbe 0x1001a8d8
mov edx, dword [esi + 0x52c]
cmp edx, eax
jl 0x1001a8d8
jg 0x1001a87e
mov eax, dword [esi + 0x528]
cmp eax, ecx
jbe 0x1001a8d8
mov dword [esi + 0xc], 0xf
mov eax, dword [0x100621f4]
test eax, eax
je 0x1001a894
push esi
call eax
add esp, 4
mov eax, dword [esi + 0x2c0]
test eax, eax
jne 0x1001a8a3
mov eax, 0x4000
mov ecx, dword [esi + 0x52c]
mov edx, dword [esi + 0x528]
push eax
mov eax, dword [esi + 0x20c]
push ecx
mov ecx, dword [esi + 0x208]
push edx
push eax
push ecx
call fcn.1003b1a0
push eax
push esi
call fcn.10019770
mov ebp, dword [esp + 0x30]
add esp, 0x1c
jmp case.0x1001a039.1
mov eax, dword [esi + 0x214]
mov ecx, dword [esi + 0x210]
test eax, eax
jl 0x1001a948
jg 0x1001a8ee
test ecx, ecx
jbe 0x1001a948
mov edx, dword [esi + 0x524]
cmp edx, eax
jl 0x1001a948
jg 0x1001a904
mov eax, dword [esi + 0x520]
cmp eax, ecx
jbe 0x1001a948
mov dword [esi + 0xc], 0xf
mov eax, dword [0x100621f4]
test eax, eax
je 0x1001a91a
push esi
call eax
add esp, 4
mov eax, dword [esi + 0x2c0]
test eax, eax
jne 0x1001a929
mov eax, 0x4000
mov ecx, dword [esi + 0x524]
mov edx, dword [esi + 0x520]
push eax
mov eax, dword [esi + 0x214]
push ecx
mov ecx, dword [esi + 0x210]
jmp 0x1001a8bd
mov eax, dword [ebx]
lea edx, [esp + 0x20]
push edx
push esi
push eax
call fcn.1003ade0
add esp, 0xc
test byte [esi + 0xf8], 1
mov edi, eax
jne 0x1001a96f
mov ecx, dword [ebx]
push ecx
call fcn.10038080
add esp, 4
test byte [esi + 0xf8], 2
jne 0x1001a983
mov edx, dword [ebx]
push edx
call fcn.10038070
add esp, 4
cmp dword [esp + 0x20], 0
jne 0x1001a98f
cmp edi, 0x38
jne 0x1001a9be
mov ecx, dword [ebx]
lea eax, [esp + 0x10]
push eax
push ecx
call fcn.1003b970
add esp, 8
test eax, eax
jne 0x1001a9be
xor edx, edx
cmp dword [esp + 0x10], edx
setne dl
mov ebp, edx
test ebp, ebp
je 0x1001a9be
xor edi, edi
mov dword [esp + 0x20], 1
jmp 0x1001aa0e
test edi, edi
je 0x1001aa03
mov eax, dword [ebx]
mov ecx, dword [eax + 0x2e4]
test byte [ecx + 0x40], 2
jne 0x1001a9da
mov dword [eax + 0x270], 1
push esi
call fcn.10011760
push 0
push edi
push ebx
call fcn.10017890
mov eax, dword [esp + 0x20]
add esp, 0x10
push eax
call dword [0x100711f4]
mov ebp, dword [esp + 0x18]
add esp, 4
jmp case.0x1001a039.1
cmp dword [esp + 0x20], 0
je 0x1001ab4b
push esi
call fcn.10011760
mov edx, dword [ebx]
mov eax, dword [edx + 0x360]
push eax
push esi
call fcn.100126a0
mov ecx, dword [ebx]
mov eax, dword [ecx + 0x360]
add esp, 0xc
cmp dword [eax], 0
je 0x1001aa42
mov edx, dword [eax]
mov eax, dword [edx]
push 1
push eax
call fcn.10019770
add esp, 8
mov ecx, dword [esp + 0x34]
push ecx
call fcn.100198a0
add esp, 4
cmp dword [esi + 0x10c], 0
jne 0x1001aac9
test ebp, ebp
jne 0x1001aaf2
cmp dword [esi + 0x108], ebp
je 0x1001aaa3
mov edx, dword [esp + 0x10]
push edx
call dword [0x100711f4]
mov eax, dword [esi + 0x108]
push 1
push eax
push esi
mov dword [esp + 0x20], eax
mov dword [esi + 0x108], ebp
call fcn.1003b640
mov edi, eax
add esp, 0x10
cmp edi, ebp
jne 0x1001aa9b
mov dword [esp + 0x10], ebp
jmp 0x1001aaa3
mov dword [esp + 0xc], 1
mov eax, 0x10
cmp dword [esi + 0xc], eax
je 0x1001ab43
mov dword [esi + 0xc], eax
mov eax, dword [0x100621f8]
test eax, eax
je 0x1001ab43
push esi
call eax
add esp, 4
jmp 0x1001ab43
test ebp, ebp
jne 0x1001aaf2
mov eax, dword [esp + 0x10]
push eax
call dword [0x100711f4]
mov ecx, dword [esi + 0x10c]
mov dword [esi + 0x10c], ebp
add esp, 4
mov dword [esp + 0x10], ecx
mov ebp, 3
jmp 0x1001aaf7
mov ebp, 2
push 0
push 0
push ebx
call fcn.10017890
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1001ab4b
mov edx, dword [esp + 0x10]
push ebp
push edx
push esi
call fcn.1003b640
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x1001ab4b
mov eax, 2
cmp dword [esi + 0xc], eax
je 0x1001ab3b
mov dword [esi + 0xc], eax
mov eax, dword [0x100621c0]
test eax, eax
je 0x1001ab3b
push esi
call eax
add esp, 4
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
mov eax, dword [esp + 0x10]
push eax
call dword [0x100711f4]
mov ebp, dword [esp + 0x18]
add esp, 4
jmp case.0x1001a039.1
mov eax, dword [ebx]
or ebp, 0xffffffff
test eax, eax
je 0x1001ab9f
mov ecx, dword [eax + 0x360]
push ecx
push esi
call fcn.100126a0
mov edx, dword [esp + 0x3c]
push edx
call fcn.100198a0
push 0
push edi
push ebx
call fcn.10017890
add esp, 0x18
test edi, edi
jne 0x1001ab94
mov edi, eax
cmp dword [ebx], 0
je 0x1001ab9f
mov dword [ebx], 0
cmp dword [esi + 0x46c], 0
je 0x1001abc0
cmp dword [esi + 0x8798], 6
je 0x1001abc0
cmp dword [esi + 0xc], 0
je case.0x1001a039.1
mov dword [esi + 0xc], 0
jmp case.0x1001a039.1
cmp dword [esi + 0xc], 0x11
je 0x1001aced
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0x11
dec dword [eax + 0x10]
mov eax, dword [0x100621fc]
test eax, eax
je case.0x1001a039.1
push esi
call eax
add esp, 4
jmp case.0x1001a039.1
push 0
push esi
mov dword [ebx], 0
call fcn.100195d0
add esp, 8
cmp dword [esi + 0xc], 0x11
jge 0x1001aceb
test edi, edi
je 0x1001acad
mov eax, dword [esp + 0x34]
push eax
mov dword [esi + 0x8738], 0
call fcn.100198a0
mov eax, dword [ebx]
add esp, 4
test eax, eax
je 0x1001ac7a
push eax
call fcn.10038070
mov ecx, dword [ebx]
push ecx
call fcn.10038080
mov edx, dword [ebx]
mov eax, dword [edx + 0x35c]
push eax
push esi
call fcn.100126a0
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x360]
push edx
push esi
call fcn.100126a0
add esp, 0x18
cmp dword [esp + 0xc], 0
je 0x1001ac89
mov ecx, dword [ebx]
xor eax, eax
cmp edi, 0x1c
sete al
push eax
push ecx
call fcn.10016960
add esp, 8
mov dword [ebx], 0
jmp 0x1001ac89
cmp dword [esi + 0xc], 2
jne 0x1001ac89
push esi
call fcn.10011760
add esp, 4
cmp dword [esi + 0xc], 0x11
je 0x1001aced
mov eax, dword [esi + 0x40]
mov dword [esi + 0xc], 0x11
dec dword [eax + 0x10]
mov eax, dword [0x100621fc]
test eax, eax
je 0x1001ace7
push esi
call eax
add esp, 4
jmp 0x1001ace7
mov eax, dword [ebx]
test eax, eax
je 0x1001ace7
push eax
call fcn.10022f80
add esp, 4
test eax, eax
je 0x1001ace7
mov edx, dword [ebx]
xor eax, eax
mov dword [edx + 0x270], 1
cmp dword [esi + 0xc], 0x10
mov ecx, esi
setge al
mov edi, 0x2a
add eax, 0x10
call fcn.10018980
or ebp, 0xffffffff
cmp dword [esi + 0xc], 0x11
jne 0x1001ad39
mov ecx, dword [esp + 0x34]
lea eax, [esi + 0x14]
mov dword [eax], 1
mov dword [eax + 4], esi
mov dword [eax + 8], edi
mov ecx, dword [ecx + 0x14]
mov edx, dword [ecx + 4]
push eax
push edx
push ecx
call fcn.100379a0
add esp, 0xc
mov ebp, eax
neg ebp
sbb ebp, ebp
and ebp, 0xfffffffd
add ebp, 3
cmp dword [esi + 0xc], 0x12
je 0x1001ad39
mov dword [esi + 0xc], 0x12
mov eax, dword [0x10062200]
test eax, eax
je 0x1001ad39
push esi
call eax
add esp, 4
xor ebx, ebx
cmp ebp, 0xffffffff
je 0x10019e30
mov eax, dword [esp + 0x34]
cmp dword [eax + 0x64], ebx
jne 0x10019e30
mov eax, ebp
pop ebp
mov dword [esi + 0x10], edi
pop edi
pop ebx
add esp, 0x24
ret
mov ecx, dword [esi + 0xc]
push ecx
push str.In_state__d_with_no_easy_conn__bail_out__n
push esi
call fcn.1001b410
add esp, 0xc
pop ebp
pop edi
mov eax, 4
pop ebx
add esp, 0x24
ret
pop ebp
mov dword [esi + 0x10], edi
pop edi
xor eax, eax
pop ebx
add esp, 0x24
ret
pop edi
mov eax, 2
pop ebx
add esp, 0x24
ret