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

Disassembly:
sub esp, 0x34
push ebx
xor ebx, ebx
push ebp
mov ebp, dword [esp + 0x4c]
push edi
mov edi, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x50], ebx
cmp ebp, ebx
je 0x10016f54
cmp dword [ebp + 0x49b0], 0xc0dedbad
jne 0x10016f54
push esi
jmp 0x10015dd2
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
cmp dword [ebp + 0x4878], ebx
je 0x10015e49
mov eax, dword [ebp + 0x4880]
push eax
push ebp
push str.Pipe_broke:_handle__p__url___s_n
push ebp
call fcn.10022470
mov eax, dword [ebp + 0x24]
add esp, 0x10
cmp eax, 0x11
jge 0x10015e24
cmp eax, 2
je 0x10015e1d
mov dword [ebp + 0x24], 2
mov eax, dword [0x1006ab20]
cmp eax, ebx
je 0x10015e1d
push ebp
call eax
add esp, 4
or esi, 0xffffffff
mov dword [esp + 0x54], ebx
mov dword [ebp + 0x4878], ebx
mov dword [ebp + 8], ebx
cmp esi, 0xffffffff
je 0x10015dd0
cmp dword [edi + 0x7c], 0
jne 0x10015dd0
mov edx, dword [esp + 0x54]
mov eax, esi
pop esi
pop edi
mov dword [ebp + 0x28], edx
pop ebp
pop ebx
add esp, 0x34
ret
cmp dword [ebp + 8], 0
lea ebx, [ebp + 8]
mov esi, 0x10
jne 0x10015e67
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x10015e67
cmp eax, esi
jl 0x10016f24
mov eax, dword [edi + 0x7c]
mov dword [edi + 0x7c], 0
test eax, eax
je 0x10015e7e
push edi
call fcn.100157e0
add esp, 4
mov ecx, dword [ebx]
test ecx, ecx
je 0x10015e93
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x10015e93
cmp eax, 0x11
jge 0x10015e93
mov dword [ecx], ebp
cmp dword [ebx], 0
je 0x10016008
mov eax, dword [ebp + 0x24]
cmp eax, 2
jl 0x10016008
cmp eax, 0x11
jge 0x10016008
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x4c]
push ecx
push edx
push ebp
call fcn.10024940
add esp, 0xc
test edx, edx
jg 0x10016008
jl 0x10015eda
test eax, eax
jae 0x10016008
mov eax, dword [ebp + 0x24]
cmp eax, 3
jne 0x10015f14
mov eax, dword [ebp + 0x64c]
mov ecx, dword [ebp + 0x648]
mov edx, dword [esp + 0x50]
push eax
mov eax, dword [esp + 0x50]
push ecx
push edx
push eax
call fcn.10021ec0
push edx
push eax
push str.Resolving_timed_out_after__ld_milliseconds
push ebp
call fcn.10022500
add esp, 0x20
jmp 0x10015fd4
cmp eax, 4
jne 0x10015f4b
mov ecx, dword [ebp + 0x64c]
mov edx, dword [ebp + 0x648]
mov eax, dword [esp + 0x50]
push ecx
mov ecx, dword [esp + 0x50]
push edx
push eax
push ecx
call fcn.10021ec0
push edx
push eax
push str.Connection_timed_out_after__ld_milliseconds
push ebp
call fcn.10022500
add esp, 0x20
jmp 0x10015fd4
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x74]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
mov edx, dword [ebp + 0x64c]
je 0x10015f9c
push ecx
mov ecx, dword [ebp + 0x90]
push eax
mov eax, dword [ebp + 0x94]
push eax
mov eax, dword [ebp + 0x648]
push ecx
mov ecx, dword [esp + 0x60]
push edx
mov edx, dword [esp + 0x60]
push eax
push ecx
push edx
call fcn.10021ec0
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
push ebp
call fcn.10022500
add esp, 0x20
jmp 0x10015fd4
mov eax, dword [ebp + 0x94]
mov ecx, dword [ebp + 0x90]
push eax
mov eax, dword [ebp + 0x648]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
call fcn.10021ec0
add esp, 0x10
push edx
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
push ebp
call fcn.10022500
add esp, 0x18
cmp dword [ebp + 0x24], 9
jle 0x10015fef
mov eax, dword [ebx]
push 2
push eax
call fcn.10025440
add esp, 8
mov dword [esp + 0x14], 1
mov eax, 0x1c
push 1
push ebx
mov dword [esp + 0x5c], eax
call fcn.10014640
add esp, 8
jmp case.0x10016014.1
mov eax, dword [ebp + 0x24]
cmp eax, 0x12
ja case.default.0x10016014
jmp dword [eax*4 + 0x10016f60]
push ebp
call fcn.100287f0
add esp, 4
mov dword [esp + 0x54], eax
test eax, eax
jne case.0x10016014.1
mov eax, 2
cmp dword [ebp + 0x24], eax
je 0x1001604c
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab20]
test eax, eax
je 0x1001604c
push ebp
call eax
add esp, 4
push 1
push ebp
call fcn.10029e00
add esp, 8
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
push 2
push ebp
call fcn.10029e00
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x3c]
push edx
push ebx
push ebp
call fcn.10021e00
add esp, 0x18
mov dword [esp + 0x54], eax
cmp eax, 0x59
jne 0x100160b8
mov eax, 1
cmp dword [ebp + 0x24], eax
je 0x10016096
mov dword [ebp + 0x24], eax
mov ecx, dword [edi + 0x28]
lea eax, [ebp + 0xc]
push eax
push ebp
push ecx
add edi, 0x24
push edi
call fcn.10029510
add esp, 0x10
mov dword [esp + 0x54], 0
jmp case.0x10016014.1
test eax, eax
jne case.0x10016014.1
mov edx, dword [ebx]
push edx
push ebp
call fcn.1002af70
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
jne 0x1001647f
cmp dword [esp + 0x30], eax
je 0x10016104
mov eax, 3
cmp dword [ebp + 0x24], eax
je case.0x10016014.1
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab24]
test eax, eax
je case.0x10016014.1
push ebp
call eax
jmp 0x10016dbd
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0xffffffff
je 0x10016131
push 1
push edi
call fcn.10014840
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.10014450
jmp case.0x10016014.1
mov eax, dword [ebx]
cmp dword [eax + 0x758], 1
jne 0x10016162
mov eax, 5
cmp dword [ebp + 0x24], eax
je case.0x10016014.1
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab2c]
test eax, eax
je case.0x10016014.1
push ebp
call eax
jmp 0x10016dbd
mov eax, 4
cmp dword [ebp + 0x24], eax
je case.0x10016014.1
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab28]
test eax, eax
je case.0x10016014.1
push ebp
call eax
jmp 0x10016dbd
mov esi, dword [ebx]
mov dword [esp + 0x18], 0
cmp dword [esi + 0x3c8], 0
je 0x100161a3
mov edi, dword [esi + 0xe4]
jmp 0x100161ba
cmp dword [esi + 0x3bc], 0
je 0x100161b4
mov edi, dword [esi + 0xb4]
jmp 0x100161ba
mov edi, dword [esi + 0xa0]
mov ecx, dword [esi + 0xfc]
push ecx
push edi
push esi
call fcn.1001a090
add esp, 0xc
mov dword [esp + 0x18], eax
test eax, eax
je 0x10016201
push edi
push 0x1006ac7c
push ebp
mov dword [esi + 0x684], eax
mov dword [esi + 0x688], 1
mov dword [esp + 0x60], 0
call fcn.10022470
add esp, 0xc
cmp dword [esp + 0x18], 0
jne 0x10016219
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.10018f90
mov edi, eax
add esp, 8
mov dword [esp + 0x54], edi
jmp 0x1001621d
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x48]
push ebp
push esi
call fcn.10014d40
add esp, 8
cmp dword [esp + 0x18], 0
je 0x100162bd
mov edx, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.1002aa90
mov edi, eax
add esp, 8
mov dword [esp + 0x54], edi
test edi, edi
je 0x10016258
mov dword [ebx], 0
jmp 0x100162bd
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x10], 0xffffffff
je 0x10016282
push 1
push esi
call fcn.10014840
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.10014450
jmp 0x100162bd
mov eax, dword [ebx]
cmp dword [eax + 0x758], 1
jne 0x100162a1
mov eax, 5
cmp dword [ebp + 0x24], eax
je 0x100162bd
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab2c]
jmp 0x100162b3
mov eax, 4
cmp dword [ebp + 0x24], eax
je 0x100162bd
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab28]
test eax, eax
je 0x100162bd
push ebp
call eax
add esp, 4
test edi, edi
je case.0x10016014.1
mov dword [esp + 0x14], 1
jmp case.0x10016014.1
mov edx, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.1002ca90
mov ecx, eax
mov eax, dword [ebx]
add esp, 8
cmp dword [eax + 0x418], 0
mov dword [esp + 0x54], ecx
je 0x10016336
push 0
push ebx
xor eax, eax
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x5c], 0
call fcn.10014640
add esp, 8
cmp dword [ebp + 0x24], 2
je case.0x10016014.1
mov dword [ebp + 0x24], 2
mov eax, dword [0x1006ab20]
test eax, eax
je case.0x10016014.1
push ebp
call eax
jmp 0x10016dbd
test ecx, ecx
jne case.0x10016014.1
cmp dword [eax + 0xf0], 2
jne 0x10016353
cmp dword [eax + 0x434], ecx
je case.0x10016014.1
cmp dword [eax + 0x758], 1
je case.0x10016014.1
mov eax, 6
mov dword [esp + 0x10], 0xffffffff
cmp dword [ebp + 0x24], eax
je case.0x10016014.1
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab30]
test eax, eax
je case.0x10016014.1
push ebp
call eax
jmp 0x10016dbd
mov ecx, dword [ebx]
lea eax, [esp + 0x34]
push eax
push 0
push ecx
call fcn.10025a80
add esp, 0xc
cmp dword [esp + 0x34], 0
mov dword [esp + 0x54], eax
je 0x100163f5
test eax, eax
jne 0x100163fd
mov eax, dword [ebx]
cmp dword [eax + 0xf0], 2
jne 0x100163c7
cmp dword [eax + 0x434], 0
je 0x1001613c
cmp dword [eax + 0x758], 1
je 0x1001613c
mov eax, dword [eax + 0x3f4]
neg eax
sbb eax, eax
add eax, 6
mov ecx, ebp
mov dword [esp + 0x10], 0xffffffff
call fcn.10014450
jmp case.0x10016014.1
test eax, eax
je case.0x10016014.1
mov dword [esp + 0x14], 1
jmp case.0x10016014.1
mov eax, dword [ebx]
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.1001b2d0
add esp, 8
cmp dword [esp + 0x1c], 0
mov esi, eax
mov dword [esp + 0x54], esi
jne 0x10016442
cmp dword [ebp + 0x24], 7
je case.0x10016014.1
mov dword [ebp + 0x24], 7
mov eax, dword [0x1006ab34]
jmp 0x10016152
test esi, esi
jne 0x1001646c
push 1
push edi
call fcn.10014840
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.10014450
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
push ebp
call fcn.100190c0
push 1
mov eax, esi
push ebx
call fcn.10014640
add esp, 0xc
mov dword [esp + 0x14], 1
jmp case.0x10016014.1
mov edx, dword [ebx]
lea ecx, [esp + 0x1c]
push ecx
push edx
call fcn.1001b250
mov esi, eax
add esp, 8
mov dword [esp + 0x54], esi
test esi, esi
jne 0x1001646c
cmp dword [esp + 0x1c], eax
je case.0x10016014.1
push 1
push edi
call fcn.10014840
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.10014450
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
mov eax, dword [ebx]
push eax
push ebp
call fcn.1002aeb0
add esp, 8
test eax, eax
je case.0x10016014.1
mov eax, 9
cmp dword [ebp + 0x24], eax
je 0x10016506
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab3c]
test eax, eax
je 0x10016506
push ebp
call eax
add esp, 4
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
cmp dword [ebp + 0x420], 0
je 0x10016555
mov ecx, dword [ebx]
push 0
push ecx
call fcn.10025440
add esp, 8
cmp dword [ebp + 0x24], esi
je 0x10016540
mov dword [ebp + 0x24], esi
mov eax, dword [0x1006ab58]
test eax, eax
je 0x10016540
push ebp
call eax
add esp, 4
mov dword [esp + 0x54], 0
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
lea edx, [esp + 0x20]
push edx
lea ebx, [ebp + 8]
call fcn.10014aa0
mov edi, eax
xor esi, esi
add esp, 4
mov dword [esp + 0x54], edi
cmp edi, esi
jne 0x1001661c
cmp dword [esp + 0x20], esi
jne 0x100165d0
cmp dword [ebp + 0x540], esi
je 0x100165bc
mov eax, dword [ebp + 0x48d8]
cmp eax, 7
je 0x10016593
cmp eax, 5
jne 0x100165bc
push esi
push ebx
xor eax, eax
call fcn.10014640
mov eax, 0x10
add esp, 8
cmp dword [ebp + 0x24], eax
je 0x10016506
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab58]
cmp eax, esi
jmp 0x100164fe
mov eax, 0xa
cmp dword [ebp + 0x24], eax
je 0x100165f6
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab40]
jmp 0x100165ec
mov eax, dword [ebx]
cmp dword [eax + 0x3e0], esi
je 0x100165ff
mov eax, 0xb
cmp dword [ebp + 0x24], eax
je 0x100165f6
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab44]
cmp eax, esi
je 0x100165f6
push ebp
call eax
add esp, 4
mov dword [esp + 0x10], esi
jmp case.0x10016014.1
mov eax, 0xc
cmp dword [ebp + 0x24], eax
je 0x10016506
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab48]
cmp eax, esi
jmp 0x100164fe
cmp edi, 0x37
jne 0x10016708
mov eax, dword [ebx]
cmp dword [eax + 0x3b8], esi
je 0x10016708
lea ecx, [esp + 0x18]
push ecx
push eax
mov dword [esp + 0x20], esi
xor edi, edi
call fcn.10028e60
add esp, 8
cmp eax, esi
je 0x10016659
mov dword [esp + 0x54], eax
mov dword [esp + 0x14], 1
jmp 0x10016664
xor edx, edx
cmp dword [esp + 0x18], esi
setne dl
mov edi, edx
push ebp
call fcn.100190c0
lea eax, [ebp + 8]
push esi
push eax
mov eax, dword [esp + 0x60]
call fcn.10014640
add esp, 0xc
cmp edi, esi
je 0x100166f0
cmp eax, esi
je 0x1001669c
cmp eax, 0x37
je 0x1001669c
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x18]
push eax
call dword [0x1007f004]
jmp 0x10016dbd
mov ecx, dword [esp + 0x18]
mov edi, 2
push edi
push ecx
push ebp
call fcn.10028bd0
add esp, 0xc
cmp eax, esi
jne 0x100166dc
cmp dword [ebp + 0x24], edi
je 0x100166cb
mov dword [ebp + 0x24], edi
mov eax, dword [0x1006ab20]
cmp eax, esi
je 0x100166cb
push ebp
call eax
add esp, 4
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x54], esi
jmp case.0x10016014.1
mov edx, dword [esp + 0x18]
push edx
mov dword [esp + 0x58], eax
call dword [0x1007f004]
jmp 0x10016dbd
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x18], 1
call dword [0x1007f004]
jmp 0x10016dbd
push ebp
call fcn.100190c0
add esp, 4
cmp dword [ebx], esi
je 0x10016721
push esi
push ebx
mov eax, edi
call fcn.10014640
add esp, 8
mov dword [esp + 0x14], 1
jmp case.0x10016014.1
mov edx, dword [ebx]
lea ecx, [esp + 0x20]
push ecx
push edx
call fcn.1001b290
mov esi, eax
add esp, 8
mov dword [esp + 0x54], esi
test esi, esi
jne 0x10016775
cmp dword [esp + 0x20], eax
je case.0x10016014.1
mov eax, dword [ebx]
mov eax, dword [eax + 0x3e0]
neg eax
sbb eax, eax
add eax, 0xc
mov ecx, ebp
call fcn.10014450
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
push ebp
call fcn.100190c0
push 0
jmp 0x10016474
mov esi, dword [ebx]
lea edi, [esp + 0x38]
call fcn.10014b30
mov dword [esp + 0x54], eax
test eax, eax
jne 0x100167cc
mov eax, dword [esp + 0x38]
test eax, eax
je 0x100167bf
xor ecx, ecx
cmp eax, 1
sete cl
lea ecx, [ecx + ecx + 0xa]
mov eax, ecx
mov ecx, ebp
call fcn.10014450
mov dword [esp + 0x10], 0xffffffff
jmp case.0x10016014.1
mov dword [esp + 0x10], 0
jmp case.0x10016014.1
push ebp
call fcn.100190c0
mov eax, dword [esp + 0x58]
push 0
jmp 0x10016476
mov edx, dword [ebx]
push edx
push ebp
call fcn.1002afd0
push edi
call fcn.100157e0
mov eax, dword [ebx]
or edi, 0xffffffff
add esp, 0xc
cmp dword [eax + 0x464], edi
jne 0x10016813
cmp dword [eax + 0x468], edi
jne 0x10016813
cmp dword [ebp + 0x24], esi
je 0x1001682f
mov dword [ebp + 0x24], esi
mov eax, dword [0x1006ab58]
jmp 0x10016825
mov eax, 0xd
cmp dword [ebp + 0x24], eax
je 0x1001682f
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab4c]
test eax, eax
je 0x1001682f
push ebp
call eax
add esp, 4
mov dword [esp + 0x10], edi
jmp case.0x10016014.1
mov eax, dword [ebx]
push eax
push ebp
call fcn.1002af00
add esp, 8
test eax, eax
je case.0x10016014.1
mov eax, 0xe
cmp dword [ebp + 0x24], eax
je 0x10016506
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab50]
jmp 0x100164fc
mov ecx, dword [ebx]
push ecx
call fcn.1002a200
add esp, 4
test eax, eax
je 0x10016883
mov dword [esp + 0x54], 0x2a
jmp case.0x10016014.1
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edx
push eax
push ebp
call fcn.1002b470
add esp, 0xc
mov dword [esp + 0x54], eax
test eax, eax
jne case.0x10016014.1
mov eax, dword [ebp + 0x22c]
mov ecx, dword [ebp + 0x228]
xor edi, edi
xor ebx, ebx
test eax, eax
jl 0x100168ff
jg 0x100168bc
test ecx, ecx
jbe 0x100168ff
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [ebp + 0x664]
push edx
mov edx, dword [ebp + 0x660]
push edx
mov edx, dword [ebp + 0x5dc]
push eax
mov eax, dword [ebp + 0x66c]
push ecx
mov ecx, dword [ebp + 0x668]
push eax
mov eax, dword [ebp + 0x5d8]
push ecx
push edx
push eax
call fcn.10029fb0
cdq
add esp, 0x28
mov edi, eax
mov ebx, edx
mov ecx, dword [ebp + 0x234]
mov esi, dword [ebp + 0x230]
xor eax, eax
xor edx, edx
test ecx, ecx
jl 0x10016958
jg 0x10016919
test esi, esi
jbe 0x10016958
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x4c]
push edx
mov edx, dword [ebp + 0x674]
push eax
mov eax, dword [ebp + 0x670]
push edx
mov edx, dword [ebp + 0x678]
push eax
mov eax, dword [ebp + 0x5d4]
push ecx
mov ecx, dword [ebp + 0x67c]
push esi
push ecx
mov ecx, dword [ebp + 0x5d0]
push edx
push eax
push ecx
call fcn.10029fb0
add esp, 0x28
cdq
test ebx, ebx
jg 0x10016987
jl 0x10016962
test edi, edi
ja 0x10016987
test edx, edx
jg 0x10016987
jl 0x1001696c
test eax, eax
ja 0x10016987
cmp dword [ebp + 0x24], 0xe
je case.0x10016014.1
mov dword [ebp + 0x24], 0xe
mov eax, dword [0x1006ab50]
jmp 0x10016152
cmp ebx, edx
jl 0x100169a1
jg 0x10016991
cmp edi, eax
jb 0x100169a1
push ebx
push edi
push ebp
call fcn.10015600
add esp, 0xc
jmp case.0x10016014.1
push edx
push eax
push ebp
call fcn.10015600
add esp, 0xc
jmp case.0x10016014.1
mov eax, dword [ebp + 0x22c]
mov ecx, dword [ebp + 0x228]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x18], edx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x40], edx
jl 0x10016a24
jg 0x100169dd
cmp ecx, edx
jbe 0x10016a24
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [ebp + 0x664]
push edx
mov edx, dword [ebp + 0x660]
push edx
mov edx, dword [ebp + 0x5dc]
push eax
mov eax, dword [ebp + 0x66c]
push ecx
mov ecx, dword [ebp + 0x668]
push eax
mov eax, dword [ebp + 0x5d8]
push ecx
push edx
push eax
call fcn.10029fb0
cdq
add esp, 0x28
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov eax, dword [ebp + 0x234]
mov ecx, dword [ebp + 0x230]
xor esi, esi
xor edi, edi
test eax, eax
jl 0x10016a81
jg 0x10016a3e
test ecx, ecx
jbe 0x10016a81
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push edx
mov edx, dword [ebp + 0x674]
push edx
mov edx, dword [ebp + 0x670]
push edx
mov edx, dword [ebp + 0x5d4]
push eax
mov eax, dword [ebp + 0x67c]
push ecx
mov ecx, dword [ebp + 0x678]
push eax
mov eax, dword [ebp + 0x5d0]
push ecx
push edx
push eax
call fcn.10029fb0
cdq
add esp, 0x28
mov esi, eax
mov edi, edx
cmp dword [esp + 0x40], 0
jg 0x10016cdd
jl 0x10016a99
cmp dword [esp + 0x3c], 0
ja 0x10016cdd
test edi, edi
jg 0x10016cdd
jl 0x10016aab
test esi, esi
ja 0x10016cdd
mov eax, dword [ebx]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
push ebp
push eax
call fcn.100283f0
add esp, 0x10
test byte [ebp + 0x118], 1
mov esi, eax
mov dword [esp + 0x54], esi
jne 0x10016adb
mov ecx, dword [ebx]
push ecx
call fcn.1002af60
add esp, 4
test byte [ebp + 0x118], 2
jne 0x10016aef
mov edx, dword [ebx]
push edx
call fcn.1002af50
add esp, 4
cmp dword [esp + 0x24], 0
jne 0x10016afb
cmp esi, 0x38
jne 0x10016b2c
mov ecx, dword [ebx]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.10028e60
add esp, 8
test eax, eax
jne 0x10016b2c
xor edx, edx
cmp dword [esp + 0x18], edx
setne dl
mov edi, edx
test edi, edi
je 0x10016b30
mov dword [esp + 0x54], eax
mov dword [esp + 0x24], 1
jmp 0x10016b80
mov edi, dword [esp + 0x28]
test esi, esi
je 0x10016b75
mov eax, dword [ebx]
mov ecx, dword [eax + 0x458]
test byte [ecx + 0x40], 2
jne 0x10016b52
cmp esi, 0x5c
je 0x10016b52
push 2
push eax
call fcn.10025440
add esp, 8
push ebp
call fcn.100190c0
push 1
push ebx
mov eax, esi
call fcn.10014640
mov ecx, dword [esp + 0x24]
add esp, 0xc
push ecx
call dword [0x1007f004]
jmp 0x10016dbd
cmp dword [esp + 0x24], 0
je 0x10016cbe
push ebp
call fcn.100190c0
mov edx, dword [ebx]
add edx, 0x4e0
push edx
push ebp
call fcn.1001adb0
mov eax, dword [ebx]
mov eax, dword [eax + 0x4e0]
xor esi, esi
add esp, 0xc
cmp eax, esi
je 0x10016bb3
mov ecx, dword [eax]
push esi
push esi
push ecx
call fcn.10015600
add esp, 0xc
mov edx, dword [esp + 0x48]
push edx
call fcn.100157e0
add esp, 4
cmp dword [ebp + 0x12c], esi
jne 0x10016c3e
cmp edi, esi
jne 0x10016c67
cmp dword [ebp + 0x128], esi
je 0x10016c15
mov eax, dword [esp + 0x18]
push eax
call dword [0x1007f004]
mov eax, dword [ebp + 0x128]
push 1
push eax
push ebp
mov dword [esp + 0x28], eax
mov dword [ebp + 0x128], esi
call fcn.10028bd0
add esp, 0x10
mov dword [esp + 0x54], eax
cmp eax, esi
jne 0x10016c0d
mov dword [esp + 0x18], esi
jmp 0x10016c15
mov dword [esp + 0x14], 1
mov eax, 0x10
cmp dword [ebp + 0x24], eax
je 0x10016cc5
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab58]
cmp eax, esi
je 0x10016cc5
push ebp
call eax
add esp, 4
jmp 0x10016cc5
cmp edi, esi
jne 0x10016c67
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x1007f004]
mov edx, dword [ebp + 0x12c]
mov dword [ebp + 0x12c], esi
add esp, 4
mov dword [esp + 0x18], edx
mov esi, 3
jmp 0x10016c6c
mov esi, 2
push 0
push ebx
xor eax, eax
call fcn.10014640
add esp, 8
mov dword [esp + 0x54], eax
test eax, eax
jne 0x10016ccd
mov eax, dword [esp + 0x18]
push esi
push eax
push ebp
call fcn.10028bd0
add esp, 0xc
mov dword [esp + 0x54], eax
test eax, eax
jne 0x10016ccd
mov eax, 2
cmp dword [ebp + 0x24], eax
je 0x10016cb4
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab20]
test eax, eax
je 0x10016cb4
push ebp
call eax
add esp, 4
mov dword [esp + 0x18], 0
jmp 0x10016cc5
cmp dword [esp + 0x2c], 0
je 0x10016ccd
mov dword [esp + 0x10], 0xffffffff
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x1007f004]
jmp 0x10016dbd
mov eax, 0xf
cmp dword [ebp + 0x24], eax
je 0x10016cf9
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab54]
test eax, eax
je 0x10016cf9
push ebp
call eax
add esp, 4
cmp dword [esp + 0x40], edi
jl 0x10016d1f
jg 0x10016d07
cmp dword [esp + 0x3c], esi
jb 0x10016d1f
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
push edx
push eax
push ebp
call fcn.10015600
add esp, 0xc
jmp case.0x10016014.1
push edi
push esi
push ebp
call fcn.10015600
add esp, 0xc
jmp case.0x10016014.1
mov eax, dword [ebx]
mov dword [esp + 0x10], 0xffffffff
test eax, eax
je 0x10016d73
add eax, 0x4e0
push eax
push ebp
call fcn.1001adb0
push edi
call fcn.100157e0
mov esi, dword [esp + 0x60]
push 0
push ebx
mov eax, esi
call fcn.10014640
add esp, 0x14
test esi, esi
jne 0x10016d68
mov dword [esp + 0x54], eax
cmp dword [ebx], 0
je 0x10016d73
mov dword [ebx], 0
cmp dword [ebp + 0x540], 0
je 0x10016d94
cmp dword [ebp + 0x48d8], 7
je 0x10016d94
cmp dword [ebp + 0x24], 0
je case.0x10016014.1
mov dword [ebp + 0x24], 0
jmp case.0x10016014.1
mov eax, 0x11
cmp dword [ebp + 0x24], eax
je case.0x10016014.1
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x64]
dec dword [eax + 0x10]
mov eax, dword [0x1006ab5c]
jmp 0x10016152
push ebp
mov dword [ebx], 0
call fcn.100156b0
add esp, 4
mov ebx, 0x11
cmp dword [ebp + 0x24], ebx
jge 0x10016ec2
mov esi, dword [esp + 0x54]
test esi, esi
je 0x10016e7c
mov edi, dword [esp + 0x48]
push edi
mov dword [ebp + 0x4878], 0
call fcn.100157e0
mov eax, dword [ebp + 8]
add esp, 4
test eax, eax
je 0x10016e4e
push eax
call fcn.1002af50
mov ecx, dword [ebp + 8]
push ecx
call fcn.1002af60
mov edx, dword [ebp + 8]
add edx, 0x4d0
push edx
push ebp
call fcn.1001adb0
mov eax, dword [ebp + 8]
add eax, 0x4e0
push eax
push ebp
call fcn.1001adb0
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x10016e5d
mov edx, dword [ebp + 8]
xor ecx, ecx
cmp esi, 0x1c
sete cl
push ecx
push edx
call fcn.1001f950
add esp, 8
mov dword [ebp + 8], 0
jmp 0x10016e5d
cmp dword [ebp + 0x24], 2
jne 0x10016e5d
push ebp
call fcn.100190c0
add esp, 4
cmp dword [ebp + 0x24], ebx
je 0x10016ec6
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x24], ebx
dec dword [eax + 0x10]
mov eax, dword [0x1006ab5c]
test eax, eax
je 0x10016ec6
push ebp
call eax
add esp, 4
jmp 0x10016ec6
mov eax, dword [ebp + 8]
test eax, eax
je 0x10016ec2
push eax
call fcn.1002a200
add esp, 4
test eax, eax
je 0x10016ec2
mov eax, dword [ebp + 8]
push 2
push eax
mov dword [esp + 0x5c], 0x2a
call fcn.10025440
xor eax, eax
add esp, 8
cmp dword [ebp + 0x24], 0x10
mov ecx, ebp
setge al
add eax, 0x10
call fcn.10014450
mov edi, dword [esp + 0x48]
or esi, 0xffffffff
jmp 0x10016eca
mov edi, dword [esp + 0x48]
mov esi, dword [esp + 0x10]
cmp dword [ebp + 0x24], ebx
jne 0x10015e2d
mov ecx, dword [esp + 0x54]
lea eax, [ebp + 0x2c]
push eax
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ecx
mov edx, dword [edi + 0x18]
push eax
push edx
lea eax, [edi + 0x14]
push eax
call fcn.10029510
mov eax, 0x12
add esp, 0x10
xor esi, esi
cmp dword [ebp + 0x24], eax
je 0x10015e32
mov dword [ebp + 0x24], eax
mov eax, dword [0x1006ab60]
test eax, eax
je 0x10015e32
push ebp
call eax
add esp, 4
jmp 0x10015e32
mov ecx, dword [ebp + 0x24]
push ecx
push str.In_state__d_with_no_easy_conn__bail_out__n
push ebp
call fcn.10022500
add esp, 0xc
pop esi
pop edi
pop ebp
mov eax, 4
pop ebx
add esp, 0x34
ret
mov eax, dword [esp + 0x54]
pop esi
pop edi
mov dword [ebp + 0x28], eax
pop ebp
xor eax, eax
pop ebx
add esp, 0x34
ret
pop edi
pop ebp
mov eax, 2
pop ebx
add esp, 0x34
ret