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

Disassembly:
sub esp, 0x34
push ebx
push ebp
push esi
push edi
xor edi, edi
mov esi, eax
mov dword [esp + 0x18], edi
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], edi
cmp esi, edi
je 0x100207f0
cmp dword [esi + 0x1058], 0xc0dedbad
jne 0x100207f0
nop
xor ebp, ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x10], ebp
cmp dword [esi + 8], ebp
jne 0x1001f6c0
mov eax, dword [esi + 0x30]
cmp eax, 2
jle 0x1001f6c0
cmp eax, 0x10
jl 0x100207c4
mov ebx, dword [esp + 0x48]
push 1
mov ecx, ebx
call fcn.1001df50
add esp, 4
test eax, eax
je 0x1001f6db
mov eax, ebx
call fcn.1001f1d0
mov ecx, dword [esi + 8]
cmp ecx, ebp
je 0x1001f941
mov eax, dword [esi + 0x30]
cmp eax, 2
jle 0x1001f6f5
cmp eax, 0x11
jge 0x1001f6f5
mov dword [ecx], esi
cmp dword [esi + 8], ebp
je 0x1001f941
mov eax, dword [esi + 0x30]
cmp eax, 2
jl 0x1001f941
cmp eax, 0x11
jge 0x1001f941
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x4c]
push ecx
push edx
push esi
call fcn.100216a0
add esp, 0xc
cmp edx, ebp
jg 0x1001f941
jl 0x1001f73c
cmp eax, ebp
jae 0x1001f941
mov eax, dword [esi + 0x30]
cmp eax, 3
jne 0x1001f7a6
mov ecx, dword [esi + 0xb40]
mov edx, dword [esi + 0xb44]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0xb48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xb4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.1003c880
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push esi
call fcn.1001bb50
add esp, 0x30
jmp 0x1001f90f
cmp eax, 4
jne 0x1001f80d
mov ecx, dword [esi + 0xb40]
mov edx, dword [esi + 0xb44]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0xb48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xb4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x60]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x78]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.1003c880
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push esi
call fcn.1001bb50
add esp, 0x30
jmp 0x1001f90f
mov eax, dword [esi + 0x90]
mov ecx, dword [esi + 0x94]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x1001f89e
mov edx, dword [esi + 0xb40]
push ecx
mov ecx, dword [esi + 0xa0]
push eax
mov eax, dword [esi + 0xa4]
push eax
push ecx
mov ecx, dword [esi + 0xb44]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esi + 0xb48]
mov dword [eax + 4], ecx
mov ecx, dword [esi + 0xb4c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x70]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x84]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x88]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.1003c880
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push esi
call fcn.1001bb50
add esp, 0x20
jmp 0x1001f90f
mov edx, dword [esi + 0xa4]
mov eax, dword [esi + 0xa0]
mov ecx, dword [esi + 0xb40]
push edx
mov edx, dword [esi + 0xb44]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esi + 0xb48]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xb4c]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x68]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.1003c880
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push esi
call fcn.1001bb50
add esp, 0x18
cmp dword [esi + 0x30], 9
jle 0x1001f92b
mov eax, dword [esi + 8]
push 2
push eax
call fcn.100223b0
add esp, 8
mov dword [esp + 0x14], 1
mov edi, 0x1c
push 1
mov ecx, edi
call fcn.1001f210
add esp, 4
jmp case.0x1001f94d.1
mov eax, dword [esi + 0x30]
cmp eax, 0x12
ja case.default.0x1001f94d
jmp dword [eax*4 + 0x10020800]
push esi
call fcn.10040150
mov edi, eax
add esp, 4
cmp edi, ebp
jne case.0x1001f94d.1
mov eax, 2
mov ecx, esi
call fcn.1001ed00
push 1
push esi
call fcn.1003d4b0
add esp, 8
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
push 2
push esi
call fcn.1003d4b0
mov eax, dword [esi + 0x640]
add esp, 8
cmp eax, ebp
je 0x1001f9ae
cdq
push 8
push edx
push eax
push esi
call fcn.1001e990
add esp, 0x10
mov eax, dword [esi + 0x644]
cmp eax, ebp
je 0x1001f9c6
cdq
push 2
push edx
push eax
push esi
call fcn.1001e990
add esp, 0x10
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
push esi
call fcn.10017170
mov edi, eax
add esp, 0xc
cmp edi, 0x59
jne 0x1001fa06
lea eax, [edi - 0x58]
mov ecx, esi
call fcn.1001ed00
mov ecx, dword [ebx + 0x28]
lea eax, [esi + 0xc]
push eax
push esi
push ecx
add ebx, 0x24
push ebx
call fcn.1003a530
add esp, 0x10
xor edi, edi
jmp case.0x1001f94d.1
cmp edi, ebp
jne case.0x1001f94d.1
mov edx, dword [esi + 8]
push edx
push esi
call fcn.1003abc0
mov edi, eax
add esp, 8
cmp edi, ebp
jne 0x1001fc87
cmp dword [esp + 0x30], ebp
je 0x1001fa35
mov eax, 3
jmp 0x10020666
mov dword [esp + 0x10], 0xffffffff
cmp dword [esp + 0x18], ebp
je 0x1001fa5a
push 1
push ebx
call fcn.1001dd90
add esp, 8
neg eax
sbb eax, eax
add eax, 9
jmp 0x10020666
mov eax, dword [esi + 8]
push eax
call fcn.1003ba70
add esp, 4
mov ecx, esi
test eax, eax
je 0x1001fa76
mov eax, 5
jmp 0x10020668
mov eax, 4
jmp 0x10020668
mov edi, dword [esi + 8]
mov dword [esp + 0x1c], ebp
mov eax, dword [edi + 0x280]
test al, 0x20
je 0x1001fa99
mov ebx, dword [edi + 0xe4]
jmp 0x1001faab
test al, 4
je 0x1001faa5
mov ebx, dword [edi + 0xb4]
jmp 0x1001faab
mov ebx, dword [edi + 0x9c]
mov ecx, dword [edi + 0xfc]
push ecx
push ebx
push edi
call fcn.1001d0f0
add esp, 0xc
mov dword [esp + 0x1c], eax
cmp eax, ebp
je 0x1001fae8
or dword [edi + 0x374], 1
push ebx
push str.Hostname__s_was_found_in_DNS_cache_n
mov dword [edi + 0x368], eax
push esi
xor edi, edi
call fcn.1001ba70
add esp, 0xc
cmp dword [esp + 0x1c], ebp
jne 0x1001fafb
mov eax, dword [esi + 8]
lea edx, [esp + 0x1c]
push edx
push eax
call fcn.1001d820
add esp, 8
mov edi, eax
mov ebx, dword [esp + 0x48]
push esi
push ebx
call fcn.1001e060
add esp, 8
cmp dword [esp + 0x1c], ebp
je 0x1001fb72
mov edx, dword [esi + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.1001d870
mov edi, eax
add esp, 8
cmp edi, ebp
je 0x1001fb2f
mov eax, esi
call fcn.1001ddb0
jmp 0x1001fb72
mov dword [esp + 0x10], 0xffffffff
cmp dword [esp + 0x18], ebp
je 0x1001fb51
push 1
push ebx
call fcn.1001dd90
add esp, 8
neg eax
sbb eax, eax
add eax, 9
jmp 0x1001fb6b
mov eax, dword [esi + 8]
push eax
call fcn.1003ba70
add esp, 4
test eax, eax
mov eax, 5
jne 0x1001fb6b
mov eax, 4
mov ecx, esi
call fcn.1001ed00
cmp edi, ebp
je case.0x1001f94d.1
mov dword [esp + 0x14], 1
jmp case.0x1001f94d.1
mov edx, dword [esi + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.10037f60
mov edi, eax
mov eax, dword [esi + 8]
add esp, 8
test dword [eax + 0x280], 0x800000
je 0x1001fbc6
push ebp
xor ecx, ecx
mov dword [esp + 0x14], 0xffffffff
xor edi, edi
call fcn.1001f210
add esp, 4
lea eax, [edi + 2]
jmp 0x10020666
cmp edi, ebp
jne 0x1001fb7a
cmp dword [eax + 0xf0], 2
jne 0x1001fbdf
cmp dword [eax + 0x270], ebp
je case.0x1001f94d.1
push eax
call fcn.1003ba50
add esp, 4
test eax, eax
je case.0x1001f94d.1
mov dword [esp + 0x10], 0xffffffff
mov eax, 6
jmp 0x10020666
mov ecx, dword [esi + 8]
lea eax, [esp + 0x34]
push eax
push ebp
push ecx
call fcn.100229a0
add esp, 0xc
mov edi, eax
cmp dword [esp + 0x34], ebp
je 0x1001fc6d
cmp edi, ebp
jne 0x1001fc75
mov eax, dword [esi + 8]
cmp dword [eax + 0xf0], 2
jne 0x1001fc34
cmp dword [eax + 0x270], ebp
je 0x1001fc41
push eax
call fcn.1003ba70
add esp, 4
test eax, eax
je 0x1001fc4b
mov eax, 5
jmp 0x10020666
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x280]
and eax, 0x4000
neg eax
sbb eax, eax
mov dword [esp + 0x10], 0xffffffff
add eax, 6
jmp 0x10020666
cmp edi, ebp
je case.0x1001f94d.1
push esi
call fcn.10017230
push 1
mov ecx, edi
call fcn.1001f210
add esp, 8
mov dword [esp + 0x14], 1
jmp case.0x1001f94d.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x18]
push eax
push ecx
call fcn.10013270
mov edi, eax
add esp, 8
cmp edi, ebp
jne 0x1001fc75
cmp dword [esp + 0x18], ebp
jne 0x1001fcdc
mov eax, 7
jmp 0x10020666
mov eax, dword [esi + 8]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.100131f0
mov edi, eax
add esp, 8
cmp edi, ebp
jne 0x1001fc75
cmp dword [esp + 0x18], ebp
je case.0x1001f94d.1
push 1
push ebx
call fcn.1001dd90
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
mov ecx, dword [esi + 8]
push ecx
push esi
call fcn.1003ab00
add esp, 8
test eax, eax
je case.0x1001f94d.1
mov eax, 9
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
test byte [esi + 0xa90], 0x40
je 0x1001fd61
mov edx, dword [esi + 8]
push ebp
push edx
call fcn.100223b0
add esp, 8
mov eax, 0x10
mov ecx, esi
call fcn.1001ed00
xor edi, edi
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
lea ebx, [esp + 0x20]
mov ecx, esi
call fcn.1001df90
mov edi, eax
cmp edi, ebp
jne 0x1001fe09
cmp dword [esp + 0x20], ebp
jne 0x1001fdce
test byte [esi + 0xf6c], 0x80
je 0x1001fdb9
mov eax, dword [esi + 0xf70]
cmp eax, 7
je 0x1001fd95
cmp eax, 5
jne 0x1001fdb9
push ebp
xor ecx, ecx
call fcn.1001f210
add esp, 4
mov eax, 0x10
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
mov eax, 0xa
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], ebp
jmp case.0x1001f94d.1
mov eax, dword [esi + 8]
test dword [eax + 0x280], 0x800
mov ecx, esi
je 0x1001fdf2
mov eax, 0xb
call fcn.1001ed00
mov dword [esp + 0x10], ebp
jmp case.0x1001f94d.1
mov eax, 0xc
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
cmp edi, 0x37
jne 0x1001fecd
mov eax, dword [esi + 8]
test byte [eax + 0x280], 2
je 0x1001fecd
lea ecx, [esp + 0x1c]
push ecx
push eax
mov dword [esp + 0x24], ebp
call fcn.100405d0
add esp, 8
cmp eax, ebp
je 0x1001fe42
mov edi, eax
mov dword [esp + 0x14], 1
push esi
call fcn.10017230
push ebp
mov ecx, edi
call fcn.1001f210
mov ecx, dword [esp + 0x24]
add esp, 8
cmp ecx, ebp
je 0x1001feb2
cmp eax, ebp
je 0x1001fe79
cmp eax, 0x37
je 0x1001fe79
mov edx, dword [esp + 0x1c]
push edx
mov edi, eax
call dword [0x10075004]
add esp, 4
jmp case.0x1001f94d.1
push 2
push ecx
push esi
call fcn.10040340
add esp, 0xc
cmp eax, ebp
jne 0x1001fe64
mov eax, 2
mov ecx, esi
call fcn.1001ed00
mov edx, dword [esp + 0x1c]
push edx
mov dword [esp + 0x14], 0xffffffff
xor edi, edi
call dword [0x10075004]
add esp, 4
jmp case.0x1001f94d.1
mov edx, dword [esp + 0x1c]
push edx
mov dword [esp + 0x18], 1
call dword [0x10075004]
add esp, 4
jmp case.0x1001f94d.1
push esi
call fcn.10017230
add esp, 4
cmp dword [esi + 8], ebp
je 0x1001fee6
push ebp
mov ecx, edi
call fcn.1001f210
add esp, 4
mov dword [esp + 0x14], 1
jmp case.0x1001f94d.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.10013230
mov edi, eax
add esp, 8
cmp edi, ebp
jne 0x1001ff3d
cmp dword [esp + 0x20], ebp
je case.0x1001f94d.1
mov edx, dword [esi + 8]
mov eax, dword [edx + 0x280]
and eax, 0x800
neg eax
sbb eax, eax
add eax, 0xc
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
push esi
call fcn.10017230
push ebp
jmp 0x1001fc7d
mov edi, dword [esi + 8]
lea ebx, [esp + 0x38]
call fcn.1001dfd0
mov edi, eax
cmp edi, ebp
jne 0x1001ff3d
mov eax, dword [esp + 0x38]
cmp eax, ebp
je 0x1001fde9
xor ecx, ecx
cmp eax, 1
sete cl
lea ecx, [ecx + ecx + 0xa]
mov eax, ecx
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
mov edx, dword [esi + 8]
push edx
push esi
call fcn.1003ac10
mov eax, dword [esi + 8]
add esp, 8
test dword [eax + 0x280], 0x4000000
jne 0x1001ffad
cmp dword [eax + 0x308], ebp
je 0x1001ffb4
mov eax, ebx
call fcn.1001f1d0
mov eax, dword [esi + 8]
or ebx, 0xffffffff
cmp dword [eax + 0x2cc], ebx
jne 0x10020001
cmp dword [eax + 0x2d0], ebx
jne 0x10020001
test byte [esi + 0xf6c], 0x80
je 0x1001ffec
mov eax, dword [eax + 0x2a8]
test dword [eax + 0x44], 0x1000
jne 0x1001ffec
mov dword [esi + 0xf70], 7
mov eax, 0x10
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], ebx
jmp case.0x1001f94d.1
mov eax, 0xd
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], ebx
jmp case.0x1001f94d.1
mov ecx, dword [esi + 8]
push ecx
push esi
call fcn.1003ab50
add esp, 8
test eax, eax
je case.0x1001f94d.1
mov eax, 0xe
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
mov edx, dword [esi + 8]
push edx
call fcn.1003da00
add esp, 4
test eax, eax
je 0x1002005e
mov edi, 0x2a
jmp case.0x1001f94d.1
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
call fcn.1003e3e0
mov edi, eax
add esp, 0x14
cmp edi, ebp
jne case.0x1001f94d.1
mov ecx, dword [esi + 0x66c]
mov edx, dword [esi + 0x668]
xor ebp, ebp
cmp ecx, ebp
mov dword [esp + 0x40], ebp
jl 0x10020125
jg 0x100200b1
cmp edx, ebp
jbe 0x10020125
mov ebx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x64]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x68]
mov dword [eax + 0xc], ebx
mov ebx, dword [esi + 0xb70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esi + 0xb74]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0xb78]
mov dword [eax + 8], ebx
mov ebx, dword [esi + 0xb7c]
push ecx
mov ecx, dword [esi + 0xb80]
push edx
mov edx, dword [esi + 0xad4]
mov dword [eax + 0xc], ebx
mov eax, dword [esi + 0xb84]
push eax
mov eax, dword [esi + 0xad0]
push ecx
push edx
push eax
call fcn.1003d6a0
add esp, 0x38
mov ebp, eax
mov dword [esp + 0x40], edx
mov ecx, dword [esi + 0x674]
mov ebx, dword [esi + 0x670]
xor eax, eax
xor edx, edx
test ecx, ecx
jl 0x100201ad
jg 0x1002013f
test ebx, ebx
jbe 0x100201ad
mov edx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 0xc], edx
mov edx, dword [esi + 0xb88]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esi + 0xb8c]
mov dword [eax + 4], edx
mov edx, dword [esi + 0xb90]
mov dword [eax + 8], edx
mov edx, dword [esi + 0xb94]
push ecx
mov ecx, dword [esi + 0xb98]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0xb9c]
mov edx, dword [esi + 0xacc]
push ebx
push eax
mov eax, dword [esi + 0xac8]
push ecx
push edx
push eax
call fcn.1003d6a0
add esp, 0x38
mov ecx, dword [esp + 0x40]
mov ebx, ebp
or ebx, ecx
jne 0x100201f5
mov ebx, eax
or ebx, edx
jne 0x100201f5
lea eax, [ebx + 0xe]
mov ecx, esi
call fcn.1001ed00
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
call fcn.1003d7c0
add esp, 0x14
jmp case.0x1001f94d.1
cmp ecx, edx
jl 0x10020211
jg 0x100201ff
cmp ebp, eax
jb 0x10020211
push 9
push ecx
push ebp
push esi
call fcn.1001e990
add esp, 0x10
jmp case.0x1001f94d.1
push 9
push edx
push eax
push esi
call fcn.1001e990
add esp, 0x10
jmp case.0x1001f94d.1
mov ecx, dword [esi + 0x66c]
cmp ecx, ebp
mov edx, dword [esi + 0x668]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x40], ebp
jl 0x100202c7
jg 0x10020251
cmp edx, ebp
jbe 0x100202c7
mov ebx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x64]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x68]
mov dword [eax + 0xc], ebx
mov ebx, dword [esi + 0xb70]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esi + 0xb74]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0xb78]
mov dword [eax + 8], ebx
mov ebx, dword [esi + 0xb7c]
push ecx
mov ecx, dword [esi + 0xb80]
push edx
mov edx, dword [esi + 0xad4]
mov dword [eax + 0xc], ebx
mov eax, dword [esi + 0xb84]
push eax
mov eax, dword [esi + 0xad0]
push ecx
push edx
push eax
call fcn.1003d6a0
add esp, 0x38
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], edx
mov ecx, dword [esi + 0x674]
mov edx, dword [esi + 0x670]
xor ebp, ebp
xor ebx, ebx
test ecx, ecx
jl 0x10020357
jg 0x100202e5
test edx, edx
jbe 0x10020357
mov ebx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esp + 0x60]
mov dword [eax + 4], ebx
mov ebx, dword [esp + 0x64]
mov dword [eax + 8], ebx
mov ebx, dword [esp + 0x68]
mov dword [eax + 0xc], ebx
mov ebx, dword [esi + 0xb88]
sub esp, 0x10
mov eax, esp
mov dword [eax], ebx
mov ebx, dword [esi + 0xb8c]
push ecx
mov ecx, dword [esi + 0xb9c]
mov dword [eax + 4], ebx
mov ebx, dword [esi + 0xb90]
push edx
mov edx, dword [esi + 0xb98]
mov dword [eax + 8], ebx
mov ebx, dword [esi + 0xb94]
push ecx
mov ecx, dword [esi + 0xac8]
mov dword [eax + 0xc], ebx
mov eax, dword [esi + 0xacc]
push edx
push eax
push ecx
call fcn.1003d6a0
add esp, 0x38
mov ebp, eax
mov ebx, edx
mov edx, dword [esp + 0x3c]
or edx, dword [esp + 0x40]
jne 0x10020583
mov eax, ebp
or eax, ebx
jne 0x10020583
mov eax, dword [esi + 8]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
push esi
push eax
call fcn.1003fcb0
add esp, 0x10
test byte [esi + 0x140], 1
mov edi, eax
jne 0x1002039d
mov ecx, dword [esi + 8]
push ecx
call fcn.1003abb0
add esp, 4
test byte [esi + 0x140], 2
jne 0x100203b2
mov edx, dword [esi + 8]
push edx
call fcn.1003aba0
add esp, 4
xor ebp, ebp
cmp dword [esp + 0x24], ebp
jne 0x10020402
cmp edi, 0x38
je 0x10020402
cmp edi, 0x5c
je 0x100203cc
mov ebx, dword [esp + 0x28]
cmp edi, ebp
je 0x10020438
mov eax, dword [esi + 8]
mov edx, dword [eax + 0x2a8]
test byte [edx + 0x44], 2
jne 0x100203eb
cmp edi, 0x5c
je 0x100203eb
push 2
push eax
call fcn.100223b0
add esp, 8
push esi
call fcn.10017230
push 1
mov ecx, edi
call fcn.1001f210
add esp, 8
jmp case.0x1001f94d.1
mov ecx, dword [esi + 8]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.100405d0
add esp, 8
cmp eax, ebp
jne 0x10020430
xor ebx, ebx
cmp dword [esp + 0x1c], ebp
setne bl
cmp ebx, ebp
je 0x100203c8
xor edi, edi
mov dword [esp + 0x24], 1
jmp 0x10020442
cmp edi, ebp
jne 0x100203cc
mov edi, eax
jmp 0x100203c4
cmp dword [esp + 0x24], ebp
je 0x1002056c
push esi
call fcn.10017230
mov eax, dword [esi + 8]
add eax, 0x30c
push eax
push esi
call fcn.10012e10
mov ecx, dword [esi + 8]
mov eax, dword [ecx + 0x30c]
add esp, 0xc
cmp eax, ebp
je 0x10020476
mov edx, dword [eax]
push 6
push ebp
push ebp
push edx
call fcn.1001e990
add esp, 0x10
cmp dword [esi + 0x148], ebp
jne 0x100204f1
cmp ebx, ebp
jne 0x1002051a
cmp dword [esi + 0x144], ebp
je 0x1001fda0
mov eax, dword [esp + 0x1c]
push eax
call dword [0x10075004]
mov eax, dword [esi + 0x144]
push 1
push eax
push esi
mov dword [esp + 0x2c], eax
mov dword [esi + 0x144], ebp
call fcn.10040340
mov ecx, dword [esp + 0x2c]
push ecx
mov edi, eax
call dword [0x10075004]
add esp, 0x14
cmp edi, ebp
je 0x1001fda0
push 1
mov ecx, edi
mov dword [esp + 0x18], 1
call fcn.1001f210
mov edi, eax
add esp, 4
cmp edi, ebp
jne case.0x1001f94d.1
jmp 0x1001fda0
cmp ebx, ebp
jne 0x1002051a
mov edx, dword [esp + 0x1c]
push edx
call dword [0x10075004]
mov eax, dword [esi + 0x148]
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [esi + 0x148], ebp
mov ebx, 3
jmp 0x1002051f
mov ebx, 2
push ebp
xor ecx, ecx
call fcn.1001f210
mov edi, eax
add esp, 4
cmp edi, ebp
jne 0x10020559
mov ecx, dword [esp + 0x1c]
push ebx
push ecx
push esi
call fcn.10040340
mov edi, eax
add esp, 0xc
cmp edi, ebp
jne 0x10020559
mov eax, 2
mov ecx, esi
call fcn.1001ed00
mov dword [esp + 0x10], 0xffffffff
mov edx, dword [esp + 0x1c]
push edx
call dword [0x10075004]
add esp, 4
jmp case.0x1001f94d.1
cmp dword [esp + 0x2c], ebp
je case.0x1001f94d.1
mov dword [esp + 0x10], 0xffffffff
jmp case.0x1001f94d.1
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x50]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 8], ecx
push esi
mov dword [eax + 0xc], edx
call fcn.1003d7c0
add esp, 0x14
mov eax, 0xf
mov ecx, esi
call fcn.1001ed00
cmp dword [esp + 0x40], ebx
jl 0x100205e0
jg 0x100205c6
cmp dword [esp + 0x3c], ebp
jb 0x100205e0
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
push 9
push eax
push ecx
push esi
call fcn.1001e990
add esp, 0x10
jmp case.0x1001f94d.1
push 9
push ebx
push ebp
push esi
call fcn.1001e990
add esp, 0x10
jmp case.0x1001f94d.1
mov eax, dword [esi + 8]
mov dword [esp + 0x10], 0xffffffff
cmp eax, ebp
je 0x1002064b
add eax, 0x30c
push eax
push esi
call fcn.10012e10
mov eax, dword [esi + 8]
add esp, 8
test dword [eax + 0x280], 0x4000000
jne 0x10020627
cmp dword [eax + 0x308], ebp
je 0x1002062e
mov eax, ebx
call fcn.1001f1d0
push ebp
mov ecx, edi
call fcn.1001f210
add esp, 4
cmp edi, ebp
jne 0x1002063f
mov edi, eax
cmp dword [esi + 8], ebp
je 0x1002064b
mov eax, esi
call fcn.1001ddb0
test byte [esi + 0xf6c], 0x80
je 0x10020661
cmp dword [esi + 0xf70], 7
je 0x10020661
xor eax, eax
jmp 0x10020666
mov eax, 0x11
mov ecx, esi
call fcn.1001ed00
cmp dword [esi + 0x30], 0x11
jge 0x10020754
test edi, edi
je 0x10020715
mov eax, dword [esp + 0x48]
call fcn.1001f1d0
mov eax, dword [esi + 8]
test eax, eax
je 0x100206f5
push eax
call fcn.1003aba0
mov edx, dword [esi + 8]
push edx
call fcn.1003abb0
mov eax, dword [esi + 8]
add eax, 0x2fc
push eax
push esi
call fcn.10012e10
mov ecx, dword [esi + 8]
add ecx, 0x30c
push ecx
push esi
call fcn.10012e10
add esp, 0x18
cmp dword [esp + 0x14], 0
je 0x10020704
mov eax, dword [esi + 8]
xor edx, edx
cmp edi, 0x1c
sete dl
push edx
push eax
push esi
call fcn.10015750
add esp, 0xc
mov eax, esi
call fcn.1001ddb0
mov eax, 0x11
mov ecx, esi
call fcn.1001ed00
or ebx, 0xffffffff
jmp 0x10020758
cmp dword [esi + 0x30], 2
jne 0x10020704
push esi
call fcn.10017230
add esp, 4
mov eax, 0x11
mov ecx, esi
call fcn.1001ed00
or ebx, 0xffffffff
jmp 0x10020758
mov eax, dword [esi + 8]
test eax, eax
je 0x10020754
push eax
call fcn.1003da00
add esp, 4
test eax, eax
je 0x10020754
mov ecx, dword [esi + 8]
push 2
push ecx
mov edi, 0x2a
call fcn.100223b0
xor eax, eax
add esp, 8
cmp dword [esi + 0x30], 0x10
mov ecx, esi
setge al
add eax, 0x10
call fcn.1001ed00
or ebx, 0xffffffff
jmp 0x10020758
mov ebx, dword [esp + 0x10]
cmp dword [esi + 0x30], 0x11
jne 0x10020798
mov eax, dword [esi + 0xa78]
test eax, eax
je 0x10020771
push edi
push esi
call eax
add esp, 8
jmp 0x1002078c
mov ecx, dword [esp + 0x48]
lea eax, [esi + 0x38]
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], esi
mov dword [eax + 0x14], edi
call fcn.1001dc80
mov ebx, eax
mov eax, 0x12
mov ecx, esi
call fcn.1001ed00
cmp ebx, 0xffffffff
je 0x1001f6a0
mov ecx, dword [esp + 0x48]
push 0
call fcn.1001df50
add esp, 4
test eax, eax
jne 0x1001f6a0
mov dword [esi + 0x34], edi
mov eax, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov edx, dword [esi + 0x30]
push edx
push str.In_state__d_with_no_conn__bail_out__n
push esi
call fcn.1001bb50
add esp, 0xc
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
mov dword [esi + 0x34], edi
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x34
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x34
ret