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

Disassembly:
sub esp, 0x30
push ebx
push ebp
mov ebp, dword [esp + 0x50]
xor ebx, ebx
cmp ebp, ebx
push esi
push edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
je 0x1001337d
cmp dword [ebp + 0x1230], 0xc0dedbad
jne 0x1001337d
xor edi, edi
cmp dword [ebp + 8], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], edi
jne 0x10012381
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x10012381
cmp eax, 0xe
jl 0x10013351
mov esi, dword [esp + 0x44]
push 1
mov ecx, esi
call fcn.10010b80
add esp, 4
test eax, eax
je 0x1001239c
mov eax, esi
call fcn.10011ec0
mov ecx, dword [ebp + 8]
cmp ecx, edi
je 0x100125fd
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x100123b6
cmp eax, 0xf
jge 0x100123b6
mov dword [ecx], ebp
cmp dword [ebp + 8], edi
je 0x100125fd
mov eax, dword [ebp + 0x24]
cmp eax, 2
jl 0x100125fd
cmp eax, 0xf
jge 0x100125fd
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x48]
push ecx
push edx
push ebp
call fcn.10018250
add esp, 0xc
cmp edx, edi
jg 0x100125fd
jl 0x100123fd
cmp eax, edi
jae 0x100125fd
mov eax, dword [ebp + 0x24]
cmp eax, 3
jne 0x10012467
mov ecx, dword [ebp + 0xc88]
mov edx, dword [ebp + 0xc8c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc90]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xc94]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x5c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.1001ab00
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push ebp
call fcn.10013a00
add esp, 0x30
jmp 0x100125c9
cmp eax, 4
jne 0x100124ce
mov ecx, dword [ebp + 0xc88]
mov edx, dword [ebp + 0xc8c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc90]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xc94]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x5c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x74]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.1001ab00
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push ebp
call fcn.10013a00
add esp, 0x30
jmp 0x100125c9
mov eax, dword [ebp + 0x88]
mov ecx, dword [ebp + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x1001255b
mov edx, dword [ebp + 0xc88]
push ecx
mov ecx, dword [ebp + 0x98]
push eax
mov eax, dword [ebp + 0x9c]
push eax
push ecx
mov ecx, dword [ebp + 0xc8c]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xc90]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0xc94]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x68]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x6c]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x80]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x84]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
call fcn.1001ab00
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_out_of__I64d_bytes_received
push ebp
call fcn.10013a00
add esp, 0x20
jmp 0x100125c9
mov edx, dword [ebp + 0x9c]
mov eax, dword [ebp + 0x98]
mov ecx, dword [ebp + 0xc88]
push edx
mov edx, dword [ebp + 0xc8c]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xc90]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xc94]
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0xc], edx
mov edx, dword [esp + 0x64]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x78]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
mov dword [eax + 0xc], edx
call fcn.1001ab00
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push ebp
call fcn.10013a00
add esp, 0x18
cmp dword [ebp + 0x24], 8
jle 0x100125e5
mov eax, dword [ebp + 8]
push 2
push eax
call fcn.10018fc0
add esp, 8
mov dword [esp + 0x10], 1
mov ebx, 0x1c
push 1
mov ecx, ebx
mov edx, ebp
call fcn.10011f10
add esp, 4
jmp case.0x10012609.1
mov eax, dword [ebp + 0x24]
cmp eax, 0x10
ja case.default.0x10012609
jmp dword [eax*4 + 0x1001338c]
push ebp
call fcn.1003b7c0
mov ebx, eax
add esp, 4
cmp ebx, edi
jne case.0x10012609.1
mov eax, 2
mov ecx, ebp
call fcn.10011a00
push 1
push ebp
call fcn.10020600
add esp, 8
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
push 2
push ebp
call fcn.10020600
mov eax, dword [ebp + 0x658]
add esp, 8
cmp eax, edi
je 0x1001266a
cdq
push 9
push edx
push eax
push ebp
call fcn.10011700
add esp, 0x10
mov eax, dword [ebp + 0x65c]
cmp eax, edi
je 0x10012682
cdq
push 2
push edx
push eax
push ebp
call fcn.10011700
add esp, 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
call fcn.100106a0
mov ebx, eax
add esp, 0xc
cmp ebx, 0x59
jne 0x100126c2
lea eax, [ebx - 0x58]
mov ecx, ebp
call fcn.10011a00
mov ecx, dword [esi + 0x28]
lea eax, [ebp + 0xc]
push eax
push ebp
push ecx
add esi, 0x24
push esi
call fcn.10038430
add esp, 0x10
xor ebx, ebx
jmp case.0x10012609.1
cmp dword [ebp + 0x1130], edi
je 0x100126e0
push str.Transfer_was_pending__now_try_another_n
push ebp
call fcn.10013910
mov eax, dword [ebp + 0x78]
add esp, 8
call fcn.10011ec0
cmp ebx, edi
jne case.0x10012609.1
cmp dword [esp + 0x2c], edi
je 0x100126f8
mov eax, 3
jmp 0x1001322b
cmp dword [esp + 0x14], edi
mov dword [esp + 0x58], 0xffffffff
je 0x10012710
mov eax, 8
jmp 0x1001322b
mov edx, dword [ebp + 8]
push edx
call fcn.1003bf70
add esp, 4
test eax, eax
mov ecx, ebp
je 0x1001272c
mov eax, 5
jmp 0x1001322d
mov eax, 4
jmp 0x1001322d
mov esi, dword [ebp + 8]
mov dword [esp + 0x18], edi
cmp dword [esi + 0x2e4], edi
je 0x1001274d
mov edi, dword [esi + 0xe4]
jmp 0x10012763
cmp dword [esi + 0x2d8], edi
je 0x1001275d
mov edi, dword [esi + 0xb4]
jmp 0x10012763
mov edi, dword [esi + 0x9c]
mov eax, dword [esi + 0xfc]
push eax
push edi
push esi
call fcn.10038d10
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], eax
je 0x100127a3
push edi
push 0x10061f6c
push ebp
mov dword [esi + 0x538], eax
mov dword [esi + 0x544], 1
xor ebx, ebx
call fcn.10013910
add esp, 0xc
cmp dword [esp + 0x18], ebx
jne 0x100127b6
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.100394b0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x44]
push ebp
push eax
call fcn.10010da0
add esp, 8
cmp dword [esp + 0x18], 0
je 0x10012822
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.10039500
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100127eb
mov dword [ebp + 8], 0
jmp 0x10012822
cmp dword [esp + 0x14], 0
mov dword [esp + 0x58], 0xffffffff
je 0x10012801
mov eax, 8
jmp 0x1001281b
mov eax, dword [ebp + 8]
push eax
call fcn.1003bf70
add esp, 4
test eax, eax
mov eax, 5
jne 0x1001281b
mov eax, 4
mov ecx, ebp
call fcn.10011a00
test ebx, ebx
je case.0x10012609.1
mov dword [esp + 0x10], 1
jmp case.0x10012609.1
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.100366e0
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 8
cmp dword [eax + 0x32c], edi
je 0x10012874
push edi
xor ecx, ecx
mov edx, ebp
mov dword [esp + 0x5c], 0xffffffff
xor ebx, ebx
call fcn.10011f10
add esp, 4
lea eax, [ebx + 2]
jmp 0x1001322b
cmp ebx, edi
jne 0x1001282a
cmp dword [eax + 0xf0], 2
jne 0x1001288d
cmp dword [eax + 0x2bc], edi
je case.0x10012609.1
push eax
call fcn.1003bf50
add esp, 4
test eax, eax
je case.0x10012609.1
mov dword [esp + 0x58], 0xffffffff
mov eax, 6
jmp 0x1001322b
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x30]
push eax
push edi
push ecx
call fcn.10019600
add esp, 0xc
cmp dword [esp + 0x30], edi
mov ebx, eax
je 0x10012916
cmp ebx, edi
jne 0x1001291e
mov eax, dword [ebp + 8]
cmp dword [eax + 0xf0], 2
jne 0x100128e2
cmp dword [eax + 0x2bc], edi
je 0x100128ef
push eax
call fcn.1003bf70
add esp, 4
test eax, eax
je 0x100128f9
mov eax, 5
jmp 0x1001322b
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x308]
neg eax
sbb eax, eax
mov dword [esp + 0x58], 0xffffffff
add eax, 6
jmp 0x1001322b
cmp ebx, edi
je case.0x10012609.1
push ebp
call fcn.1000c080
push 1
mov ecx, ebx
mov edx, ebp
call fcn.10011f10
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x10012609.1
mov esi, dword [ebp + 8]
lea ebx, [esp + 0x14]
call fcn.10010c90
mov ebx, eax
cmp ebx, edi
jne 0x1001291e
cmp dword [esp + 0x14], edi
mov ecx, ebp
jne 0x10012963
mov eax, 7
jmp 0x1001322d
mov eax, 8
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x14]
call fcn.10010c30
mov ebx, eax
cmp ebx, edi
jne 0x1001291e
cmp dword [esp + 0x14], edi
je case.0x10012609.1
mov eax, 8
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
cmp dword [ebp + 0xb80], edi
je 0x100129df
mov eax, dword [ebp + 8]
push edi
push eax
call fcn.10018fc0
add esp, 8
mov eax, 0xe
mov ecx, ebp
call fcn.10011a00
xor ebx, ebx
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
lea ebx, [esp + 0x1c]
mov ecx, ebp
call fcn.10010bc0
mov ebx, eax
cmp ebx, edi
jne 0x10012a84
cmp dword [esp + 0x1c], edi
jne 0x10012a4d
cmp dword [ebp + 0x1118], edi
je 0x10012a38
mov eax, dword [ebp + 0x1138]
cmp eax, 7
je 0x10012a12
cmp eax, 5
jne 0x10012a38
push edi
xor ecx, ecx
mov edx, ebp
call fcn.10011f10
add esp, 4
mov eax, 0xe
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
mov eax, 9
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], edi
jmp case.0x10012609.1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x2fc], edi
mov ecx, ebp
je 0x10012a6d
mov eax, 0xa
call fcn.10011a00
mov dword [esp + 0x58], edi
jmp case.0x10012609.1
mov eax, 0xb
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
cmp ebx, 0x37
jne 0x10012b49
mov eax, dword [ebp + 8]
cmp dword [eax + 0x2d0], edi
je 0x10012b49
lea edx, [esp + 0x18]
push edx
push eax
mov dword [esp + 0x20], edi
call fcn.1003bc70
add esp, 8
cmp eax, edi
je 0x10012abc
mov ebx, eax
mov dword [esp + 0x10], 1
push ebp
call fcn.1000c080
push edi
mov ecx, ebx
mov edx, ebp
call fcn.10011f10
mov ecx, dword [esp + 0x20]
add esp, 8
cmp ecx, edi
je 0x10012b2e
cmp eax, edi
je 0x10012af5
cmp eax, 0x37
je 0x10012af5
mov ebx, eax
mov eax, dword [esp + 0x18]
push eax
call dword [0x10072004]
add esp, 4
jmp case.0x10012609.1
push 2
push ecx
push ebp
call fcn.1003b9c0
add esp, 0xc
cmp eax, edi
jne 0x10012ae0
mov eax, 2
mov ecx, ebp
call fcn.10011a00
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x5c], 0xffffffff
xor ebx, ebx
call dword [0x10072004]
add esp, 4
jmp case.0x10012609.1
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x14], 1
call dword [0x10072004]
add esp, 4
jmp case.0x10012609.1
push ebp
call fcn.1000c080
add esp, 4
cmp dword [ebp + 8], edi
je 0x10012b64
push edi
mov ecx, ebx
mov edx, ebp
call fcn.10011f10
add esp, 4
mov dword [esp + 0x10], 1
jmp case.0x10012609.1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1c]
call fcn.10010c60
mov ebx, eax
cmp ebx, edi
jne 0x10012bb1
cmp dword [esp + 0x1c], edi
je case.0x10012609.1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x2fc]
neg eax
sbb eax, eax
add eax, 0xb
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
push ebp
call fcn.1000c080
push edi
jmp 0x10012926
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x34]
call fcn.10010c00
mov ebx, eax
test ebx, ebx
jne 0x10012c06
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10012bf9
xor edx, edx
cmp eax, 1
sete dl
mov ecx, ebp
lea edx, [edx + edx + 9]
mov eax, edx
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
mov dword [esp + 0x58], 0
jmp case.0x10012609.1
push ebp
call fcn.1000c080
push 0
jmp 0x10012926
mov eax, dword [ebp + 8]
cmp dword [eax + 0x338], edi
je 0x10012c25
mov eax, esi
call fcn.10011ec0
mov eax, dword [ebp + 8]
or esi, 0xffffffff
cmp dword [eax + 0x394], esi
jne 0x10012c71
cmp dword [eax + 0x398], esi
jne 0x10012c71
cmp dword [ebp + 0x1118], edi
je 0x10012c5c
mov ecx, dword [eax + 0x370]
test dword [ecx + 0x44], 0x1000
jne 0x10012c5c
mov dword [ebp + 0x1138], 7
mov eax, 0xe
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], esi
jmp case.0x10012609.1
mov eax, 0xc
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], esi
jmp case.0x10012609.1
mov edx, dword [ebp + 8]
push edx
call fcn.10021300
add esp, 4
test eax, eax
je 0x10012ca0
mov ebx, 0x2a
jmp case.0x10012609.1
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 8], ecx
push ebp
mov dword [eax + 0xc], edx
call fcn.100397e0
mov ebx, eax
add esp, 0x14
cmp ebx, edi
jne case.0x10012609.1
mov ecx, dword [ebp + 0x68c]
mov edx, dword [ebp + 0x688]
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x3c], edi
jl 0x10012d67
jg 0x10012cf3
cmp edx, edi
jbe 0x10012d67
mov esi, dword [esp + 0x48]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x60]
mov dword [eax + 8], esi
mov esi, dword [esp + 0x64]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0xcb8]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xcbc]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xcc0]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xcc4]
push ecx
mov ecx, dword [ebp + 0xcc8]
push edx
mov edx, dword [ebp + 0xc1c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xccc]
push eax
mov eax, dword [ebp + 0xc18]
push ecx
push edx
push eax
call fcn.10020800
add esp, 0x38
mov edi, eax
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + 0x694]
mov esi, dword [ebp + 0x690]
xor eax, eax
xor edx, edx
test ecx, ecx
jl 0x10012def
jg 0x10012d81
test esi, esi
jbe 0x10012def
mov edx, dword [esp + 0x48]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 0xc], edx
mov edx, dword [ebp + 0xcd0]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xcd4]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xcd8]
mov dword [eax + 8], edx
mov edx, dword [ebp + 0xcdc]
push ecx
mov ecx, dword [ebp + 0xce0]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xce4]
mov edx, dword [ebp + 0xc14]
push esi
push eax
mov eax, dword [ebp + 0xc10]
push ecx
push edx
push eax
call fcn.10020800
add esp, 0x38
mov ecx, dword [esp + 0x3c]
mov esi, edi
or esi, ecx
jne 0x10012e37
mov esi, eax
or esi, edx
jne 0x10012e37
lea eax, [esi + 0xc]
mov ecx, ebp
call fcn.10011a00
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 4], edx
mov edx, dword [esp + 0x64]
mov dword [eax + 8], ecx
push ebp
mov dword [eax + 0xc], edx
call fcn.10020920
add esp, 0x14
jmp case.0x10012609.1
cmp ecx, edx
jl 0x10012e53
jg 0x10012e41
cmp edi, eax
jb 0x10012e53
push 0xa
push ecx
push edi
push ebp
call fcn.10011700
add esp, 0x10
jmp case.0x10012609.1
push 0xa
push edx
push eax
push ebp
call fcn.10011700
add esp, 0x10
jmp case.0x10012609.1
mov ecx, dword [ebp + 0x68c]
cmp ecx, edi
mov edx, dword [ebp + 0x688]
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
jl 0x10012f09
jg 0x10012e93
cmp edx, edi
jbe 0x10012f09
mov esi, dword [esp + 0x48]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x60]
mov dword [eax + 8], esi
mov esi, dword [esp + 0x64]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0xcb8]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xcbc]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xcc0]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xcc4]
push ecx
mov ecx, dword [ebp + 0xcc8]
push edx
mov edx, dword [ebp + 0xc1c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xccc]
push eax
mov eax, dword [ebp + 0xc18]
push ecx
push edx
push eax
call fcn.10020800
add esp, 0x38
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov ecx, dword [ebp + 0x694]
mov edx, dword [ebp + 0x690]
xor edi, edi
xor esi, esi
test ecx, ecx
jl 0x10012f95
jg 0x10012f23
test edx, edx
jbe 0x10012f95
mov esi, dword [esp + 0x48]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [esp + 0x5c]
mov dword [eax + 4], esi
mov esi, dword [esp + 0x60]
mov dword [eax + 8], esi
mov esi, dword [esp + 0x64]
mov dword [eax + 0xc], esi
mov esi, dword [ebp + 0xcd0]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xcd4]
push ecx
mov ecx, dword [ebp + 0xce4]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xcd8]
push edx
mov edx, dword [ebp + 0xce0]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xcdc]
push ecx
mov ecx, dword [ebp + 0xc10]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xc14]
push edx
push eax
push ecx
call fcn.10020800
add esp, 0x38
mov edi, eax
mov esi, edx
mov edx, dword [esp + 0x38]
or edx, dword [esp + 0x3c]
jne 0x1001316b
mov eax, edi
or eax, esi
jne 0x1001316b
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x24]
push edx
push ebp
push eax
call fcn.1003b310
xor edi, edi
add esp, 0x10
cmp dword [esp + 0x20], edi
mov ebx, eax
jne 0x10013018
cmp ebx, 0x38
je 0x10013018
cmp ebx, 0x5c
je 0x10012fe0
mov esi, dword [esp + 0x24]
cmp ebx, edi
je 0x10013050
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x370]
test byte [ecx + 0x44], 2
jne 0x10012fff
cmp ebx, 0x5c
je 0x10012fff
push 2
push eax
call fcn.10018fc0
add esp, 8
push ebp
call fcn.1000c080
push 1
mov ecx, ebx
mov edx, ebp
call fcn.10011f10
add esp, 8
jmp case.0x10012609.1
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.1003bc70
add esp, 8
cmp eax, edi
jne 0x10013048
xor eax, eax
cmp dword [esp + 0x18], edi
setne al
mov esi, eax
cmp esi, edi
je 0x10012fdc
xor ebx, ebx
mov dword [esp + 0x20], 1
jmp 0x1001305a
cmp ebx, edi
jne 0x10012fe0
mov ebx, eax
jmp 0x10012fd8
cmp dword [esp + 0x20], edi
je 0x10013154
push ebp
call fcn.1000c080
add esp, 4
cmp dword [ebp + 0x140], edi
jne 0x100130e0
cmp esi, edi
jne 0x10013109
cmp dword [ebp + 0x13c], edi
je 0x10012a1f
mov edx, dword [esp + 0x18]
push edx
call dword [0x10072004]
mov eax, dword [ebp + 0x13c]
push 1
push eax
push ebp
mov dword [esp + 0x28], eax
mov dword [ebp + 0x13c], edi
call fcn.1003b9c0
mov ebx, eax
mov eax, dword [esp + 0x28]
push eax
call dword [0x10072004]
add esp, 0x14
cmp ebx, edi
je 0x10012a1f
push 1
mov ecx, ebx
mov edx, ebp
mov dword [esp + 0x14], 1
call fcn.10011f10
mov ebx, eax
add esp, 4
cmp ebx, edi
jne case.0x10012609.1
jmp 0x10012a1f
cmp esi, edi
jne 0x10013109
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x10072004]
mov edx, dword [ebp + 0x140]
add esp, 4
mov dword [esp + 0x18], edx
mov dword [ebp + 0x140], edi
mov esi, 3
jmp 0x1001310e
mov esi, 2
push edi
xor ecx, ecx
mov edx, ebp
call fcn.10011f10
mov eax, dword [esp + 0x1c]
push esi
push eax
push ebp
call fcn.1003b9c0
mov ebx, eax
add esp, 0x10
cmp ebx, edi
jne 0x10013141
mov eax, 2
mov ecx, ebp
call fcn.10011a00
mov dword [esp + 0x58], 0xffffffff
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x10072004]
add esp, 4
jmp case.0x10012609.1
cmp dword [esp + 0x28], edi
je case.0x10012609.1
mov dword [esp + 0x58], 0xffffffff
jmp case.0x10012609.1
mov edx, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [esp + 0x60]
mov dword [eax + 4], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 8], edx
push ebp
mov dword [eax + 0xc], ecx
call fcn.10020920
add esp, 0x14
mov eax, 0xd
mov ecx, ebp
call fcn.10011a00
cmp dword [esp + 0x3c], esi
jl 0x100131c5
jg 0x100131ae
cmp dword [esp + 0x38], edi
jb 0x100131c5
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push 0xa
push edx
push eax
push ebp
call fcn.10011700
add esp, 0x10
jmp case.0x10012609.1
push 0xa
push esi
push edi
push ebp
call fcn.10011700
add esp, 0x10
jmp case.0x10012609.1
mov eax, dword [ebp + 8]
cmp eax, edi
mov dword [esp + 0x58], 0xffffffff
je 0x10013211
cmp dword [eax + 0x338], edi
je 0x100131f2
mov eax, esi
call fcn.10011ec0
push edi
mov ecx, ebx
mov edx, ebp
call fcn.10011f10
add esp, 4
cmp ebx, edi
jne 0x10013205
mov ebx, eax
cmp dword [ebp + 8], edi
je 0x10013211
mov esi, ebp
call fcn.10010990
cmp dword [ebp + 0x1118], edi
je 0x10013226
cmp dword [ebp + 0x1138], 7
je 0x10013226
xor eax, eax
jmp 0x1001322b
mov eax, 0xf
mov ecx, ebp
call fcn.10011a00
cmp dword [ebp + 0x24], 0xf
jge 0x100132e1
test ebx, ebx
je 0x100132a2
mov eax, dword [esp + 0x44]
call fcn.10011ec0
mov edi, dword [ebp + 8]
test edi, edi
je 0x10013282
cmp dword [esp + 0x10], 0
je 0x10013291
mov esi, ebp
call fcn.10010990
xor ecx, ecx
cmp ebx, 0x1c
sete cl
push ecx
push edi
push ebp
call fcn.1000f500
add esp, 0xc
mov eax, 0xf
mov ecx, ebp
call fcn.10011a00
or esi, 0xffffffff
jmp 0x100132e5
cmp dword [ebp + 0x24], 2
jne 0x10013291
push ebp
call fcn.1000c080
add esp, 4
mov eax, 0xf
mov ecx, ebp
call fcn.10011a00
or esi, 0xffffffff
jmp 0x100132e5
mov eax, dword [ebp + 8]
test eax, eax
je 0x100132e1
push eax
call fcn.10021300
add esp, 4
test eax, eax
je 0x100132e1
mov edx, dword [ebp + 8]
push 2
push edx
mov ebx, 0x2a
call fcn.10018fc0
xor eax, eax
add esp, 8
cmp dword [ebp + 0x24], 0xe
mov ecx, ebp
setge al
add eax, 0xe
call fcn.10011a00
or esi, 0xffffffff
jmp 0x100132e5
mov esi, dword [esp + 0x58]
cmp dword [ebp + 0x24], 0xf
jne 0x10013325
mov eax, dword [ebp + 0xad8]
test eax, eax
je 0x100132fe
push ebx
push ebp
call eax
add esp, 8
jmp 0x10013319
mov ecx, dword [esp + 0x44]
lea eax, [ebp + 0x2c]
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], ebx
call fcn.10010880
mov esi, eax
mov eax, 0x10
mov ecx, ebp
call fcn.10011a00
cmp esi, 0xffffffff
je 0x10012361
mov ecx, dword [esp + 0x44]
push 0
call fcn.10010b80
add esp, 4
test eax, eax
jne 0x10012361
mov dword [ebp + 0x28], ebx
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov eax, dword [ebp + 0x24]
push eax
push str.In_state__d_with_no_conn__bail_out__n
push ebp
call fcn.10013a00
add esp, 0xc
mov eax, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
mov dword [ebp + 0x28], ebx
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x30
ret
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x30
ret