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

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov ebp, dword [esp + 0x44]
xor ebx, ebx
push edi
xor edi, edi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x48], edi
cmp ebp, ebx
je 0x5b61e6
cmp dword [ebp + 0x10b98], 0xc0dedbad
jne 0x5b61e6
push esi
jmp 0x5b5172
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], esi
cmp dword [ebp + 0x10a60], ebx
je 0x5b51d5
mov eax, dword [ebp + 0x24]
cmp eax, 0x11
jge 0x5b51b0
cmp eax, 2
je 0x5b51a7
mov dword [ebp + 0x24], 2
mov eax, dword [0x629748]
cmp eax, ebx
je 0x5b51a7
push ebp
call eax
add esp, 4
or esi, 0xffffffff
mov dword [esp + 0x4c], ebx
mov edi, ebx
mov dword [ebp + 0x10a60], ebx
mov dword [ebp + 8], ebx
cmp esi, 0xffffffff
je 0x5b5170
mov eax, dword [esp + 0x40]
cmp dword [eax + 0x7c], 0
jne 0x5b5170
mov eax, esi
pop esi
mov dword [ebp + 0x28], edi
pop edi
pop ebp
pop ebx
add esp, 0x2c
ret
cmp dword [ebp + 8], esi
lea ebx, [ebp + 8]
jne 0x5b51ee
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x5b51ee
cmp eax, 0x10
jl 0x5b61ba
mov ecx, dword [esp + 0x40]
mov eax, dword [ecx + 0x7c]
mov dword [ecx + 0x7c], esi
test eax, eax
je 0x5b5207
mov eax, ecx
push eax
call fcn.005b4af0
add esp, 4
mov ecx, dword [ebx]
test ecx, ecx
je 0x5b521c
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x5b521c
cmp eax, 0x11
jge 0x5b521c
mov dword [ecx], ebp
cmp dword [ebx], esi
je 0x5b5384
mov eax, dword [ebp + 0x24]
cmp eax, 2
jl 0x5b5384
cmp eax, 0x11
jge 0x5b5384
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x44]
push ecx
push edx
push ebp
call fcn.005c2830
add esp, 0xc
test eax, eax
jns 0x5b5384
mov eax, dword [ebp + 0x24]
cmp eax, 3
jne 0x5b5291
mov eax, dword [ebp + 0x78c]
mov ecx, dword [ebp + 0x788]
mov edx, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push ecx
push edx
push eax
call fcn.005bf850
push eax
push str.Resolving_timed_out_after__ld_milliseconds
push ebp
call fcn.005bfec0
add esp, 0x1c
jmp 0x5b534e
cmp eax, 4
jne 0x5b52c7
mov ecx, dword [ebp + 0x78c]
mov edx, dword [ebp + 0x788]
mov eax, dword [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
push edx
push eax
push ecx
call fcn.005bf850
push eax
push str.Connection_timed_out_after__ld_milliseconds
push ebp
call fcn.005bfec0
add esp, 0x1c
jmp 0x5b534e
mov eax, dword [ebp + 0x70]
mov ecx, dword [ebp + 0x74]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
mov edx, dword [ebp + 0x78c]
je 0x5b5317
push ecx
mov ecx, dword [ebp + 0x90]
push eax
mov eax, dword [ebp + 0x94]
push eax
mov eax, dword [ebp + 0x788]
push ecx
mov ecx, dword [esp + 0x58]
push edx
mov edx, dword [esp + 0x58]
push eax
push ecx
push edx
call fcn.005bf850
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_out_of__I64d_bytes_received
push ebp
call fcn.005bfec0
add esp, 0x1c
jmp 0x5b534e
mov eax, dword [ebp + 0x94]
mov ecx, dword [ebp + 0x90]
push eax
mov eax, dword [ebp + 0x788]
push ecx
mov ecx, dword [esp + 0x50]
push edx
mov edx, dword [esp + 0x50]
push eax
push ecx
push edx
call fcn.005bf850
add esp, 0x10
push eax
push str.Operation_timed_out_after__ld_milliseconds_with__I64d_bytes_received
push ebp
call fcn.005bfec0
add esp, 0x14
cmp dword [ebp + 0x24], 9
jle 0x5b5369
mov eax, dword [ebx]
push 2
push eax
call fcn.005c3350
add esp, 8
mov dword [esp + 0x14], 1
mov edi, 0x1c
push 1
push ebx
mov eax, edi
mov dword [esp + 0x54], edi
call fcn.005b37d0
add esp, 8
jmp 0x5b59cf
mov eax, dword [ebp + 0x24]
cmp eax, 0x12
ja case.default.0x5b5390
jmp dword [eax*4 + 0x5b61f4]
push ebp
call fcn.005c5ba0
mov edi, eax
add esp, 4
mov dword [esp + 0x4c], edi
test edi, edi
jne case.0x5b5390.1
mov eax, 2
cmp dword [ebp + 0x24], eax
je 0x5b53ca
mov dword [ebp + 0x24], eax
mov eax, dword [0x629748]
test eax, eax
je 0x5b53ca
push ebp
call eax
add esp, 4
push 1
push ebp
call fcn.005c74e0
add esp, 8
or esi, 0xffffffff
jmp 0x5b59cf
push 2
push ebp
call fcn.005c74e0
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x3c]
push edx
push ebx
push ebp
call fcn.005bf790
mov edi, eax
add esp, 0x18
mov dword [esp + 0x4c], edi
cmp edi, 0x59
jne 0x5b5435
mov eax, 1
cmp dword [ebp + 0x24], eax
je 0x5b5411
mov dword [ebp + 0x24], eax
lea eax, [ebp + 0xc]
push eax
mov eax, dword [esp + 0x44]
mov ecx, dword [eax + 0x28]
push ebp
push ecx
add eax, 0x24
push eax
call fcn.005c6a90
add esp, 0x10
xor edi, edi
mov dword [esp + 0x4c], edi
jmp 0x5b59cf
test edi, edi
jne case.0x5b5390.1
mov edx, dword [ebx]
push edx
push ebp
call fcn.005c8580
mov edi, eax
add esp, 8
mov dword [esp + 0x4c], edi
test edi, edi
jne 0x5b579d
cmp dword [esp + 0x30], esi
je 0x5b5473
cmp dword [ebp + 0x24], 3
je case.0x5b5390.1
mov dword [ebp + 0x24], 3
jmp 0x5b59cf
or esi, 0xffffffff
cmp dword [esp + 0x18], 0
mov dword [esp + 0x10], esi
je 0x5b54a3
mov eax, dword [esp + 0x40]
push 1
push eax
call fcn.005b3950
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.005b34e0
jmp 0x5b59cf
mov ecx, dword [ebx]
push ecx
call fcn.005c3ce0
add esp, 4
test eax, eax
jne 0x5b56e6
cmp dword [ebp + 0x24], 4
je case.0x5b5390.1
mov dword [ebp + 0x24], 4
jmp 0x5b59cf
mov dword [esp + 0x1c], esi
mov esi, dword [ebx]
cmp dword [esi + 0x288], 0
je 0x5b54e3
mov eax, dword [esi + 0xe4]
jmp 0x5b54fa
cmp dword [esi + 0x27c], 0
je 0x5b54f4
mov eax, dword [esi + 0xb4]
jmp 0x5b54fa
mov eax, dword [esi + 0xa0]
mov edx, dword [esi + 0xfc]
push edx
push eax
push esi
call fcn.005b7970
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x5b552f
xor edi, edi
mov dword [esi + 0x490], eax
mov dword [esi + 0x494], 1
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x1c], edi
jne 0x5b5545
mov ecx, dword [ebx]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.005b7410
add esp, 8
mov edi, eax
mov dword [esp + 0x4c], eax
mov esi, dword [esp + 0x40]
push ebp
push esi
call fcn.005b4070
add esp, 8
cmp dword [esp + 0x1c], 0
je 0x5b557a
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.005c80e0
mov edi, eax
add esp, 8
mov dword [esp + 0x4c], edi
test edi, edi
je 0x5b558f
mov dword [ebx], 0
test edi, edi
je case.0x5b5390.1
mov dword [esp + 0x14], 1
jmp case.0x5b5390.1
cmp dword [esp + 0x18], 0
mov dword [esp + 0x10], 0xffffffff
je 0x5b55bc
push 1
push esi
call fcn.005b3950
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.005b34e0
jmp case.0x5b5390.1
mov ecx, dword [ebx]
push ecx
call fcn.005c3ce0
add esp, 4
test eax, eax
je 0x5b55e1
cmp dword [ebp + 0x24], 5
je case.0x5b5390.1
mov dword [ebp + 0x24], 5
jmp case.0x5b5390.1
cmp dword [ebp + 0x24], 4
je case.0x5b5390.1
mov dword [ebp + 0x24], 4
jmp case.0x5b5390.1
mov eax, dword [ebx]
lea edx, [esp + 0x18]
push edx
push eax
call fcn.005c9850
mov edi, eax
mov eax, dword [ebx]
add esp, 8
mov dword [esp + 0x4c], edi
cmp dword [eax + 0x2d8], esi
je 0x5b5659
xor edi, edi
push edi
or esi, 0xffffffff
push ebx
xor eax, eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x54], edi
call fcn.005b37d0
add esp, 8
cmp dword [ebp + 0x24], 2
je case.0x5b5390.1
mov dword [ebp + 0x24], 2
mov eax, dword [0x629748]
test eax, eax
je case.0x5b5390.1
push ebp
call eax
add esp, 4
jmp 0x5b59cf
test edi, edi
jne case.0x5b5390.1
cmp dword [eax + 0xf0], 2
jne 0x5b5676
cmp dword [eax + 0x2f4], esi
je case.0x5b5390.1
push eax
call fcn.005c3cc0
add esp, 4
test eax, eax
je case.0x5b5390.1
or esi, 0xffffffff
cmp dword [ebp + 0x24], 6
mov dword [esp + 0x10], esi
je case.0x5b5390.1
mov dword [ebp + 0x24], 6
jmp 0x5b59cf
mov edx, dword [ebx]
lea ecx, [esp + 0x34]
push ecx
push 0
push edx
call fcn.005c3900
add esp, 0xc
mov edi, eax
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x34], esi
je 0x5b571a
test edi, edi
jne 0x5b5722
mov eax, dword [ebx]
cmp dword [eax + 0xf0], 2
jne 0x5b56d9
cmp dword [eax + 0x2f4], esi
je 0x5b56e6
push eax
call fcn.005c3ce0
add esp, 4
test eax, eax
je 0x5b56fc
cmp dword [ebp + 0x24], 5
je case.0x5b5390.1
mov dword [ebp + 0x24], 5
jmp 0x5b59cf
mov eax, dword [ebx]
mov eax, dword [eax + 0x2b4]
or esi, 0xffffffff
neg eax
sbb eax, eax
add eax, 6
mov ecx, ebp
call fcn.005b34e0
jmp 0x5b59cf
test edi, edi
je case.0x5b5390.1
mov dword [esp + 0x14], 1
jmp 0x5b59cf
mov edx, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.005b8c20
add esp, 8
mov edi, eax
mov dword [esp + 0x4c], edi
cmp dword [esp + 0x18], esi
jne 0x5b5761
cmp dword [ebp + 0x24], 7
je case.0x5b5390.1
mov dword [ebp + 0x24], 7
jmp 0x5b59cf
test edi, edi
jne 0x5b578a
mov eax, dword [esp + 0x40]
push 1
push eax
call fcn.005b3950
add esp, 8
neg eax
sbb eax, eax
add eax, 9
mov ecx, ebp
call fcn.005b34e0
or esi, 0xffffffff
jmp 0x5b59cf
push ebp
call fcn.005c5d70
push 1
push ebx
mov eax, edi
call fcn.005b37d0
add esp, 0xc
mov dword [esp + 0x14], 1
jmp 0x5b59cf
mov edx, dword [ebx]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.005b8ba0
mov edi, eax
add esp, 8
mov dword [esp + 0x4c], edi
test edi, edi
jne 0x5b578a
cmp dword [esp + 0x18], esi
je case.0x5b5390.1
jmp 0x5b5765
mov ecx, dword [ebx]
push ecx
push ebp
call fcn.005c84c0
add esp, 8
test eax, eax
je case.0x5b5390.1
mov eax, 9
cmp dword [ebp + 0x24], eax
je 0x5b5800
mov dword [ebp + 0x24], eax
mov eax, dword [0x629764]
test eax, eax
je 0x5b5800
push ebp
call eax
add esp, 4
or esi, 0xffffffff
jmp 0x5b59cf
cmp dword [ebp + 0x584], esi
je 0x5b5847
mov edx, dword [ebx]
push 0
push edx
call fcn.005c3350
mov eax, 0x10
add esp, 8
cmp dword [ebp + 0x24], eax
je 0x5b5839
mov dword [ebp + 0x24], eax
mov eax, dword [0x629780]
test eax, eax
je 0x5b5839
push ebp
call eax
add esp, 4
xor edi, edi
mov dword [esp + 0x4c], edi
or esi, 0xffffffff
jmp 0x5b59cf
lea eax, [esp + 0x20]
push eax
call fcn.005b3db0
mov edi, eax
add esp, 4
mov dword [esp + 0x4c], edi
test edi, edi
jne 0x5b5904
cmp dword [esp + 0x20], esi
jne 0x5b58bc
cmp dword [ebp + 0x69c], esi
je 0x5b58a8
mov eax, dword [ebp + 0x10ac0]
cmp eax, 7
je 0x5b5880
cmp eax, 5
jne 0x5b58a8
push 0
push ebx
xor eax, eax
call fcn.005b37d0
add esp, 8
mov eax, 0x10
cmp dword [ebp + 0x24], eax
je 0x5b5800
mov dword [ebp + 0x24], eax
mov eax, dword [0x629780]
jmp 0x5b57f6
mov eax, 0xa
cmp dword [ebp + 0x24], eax
je 0x5b58e2
mov dword [ebp + 0x24], eax
mov eax, dword [0x629768]
jmp 0x5b58d8
mov ecx, dword [ebx]
cmp dword [ecx + 0x2a0], esi
je 0x5b58e9
mov eax, 0xb
cmp dword [ebp + 0x24], eax
je 0x5b58e2
mov dword [ebp + 0x24], eax
mov eax, dword [0x62976c]
test eax, eax
je 0x5b58e2
push ebp
call eax
add esp, 4
xor esi, esi
jmp 0x5b59cf
mov eax, 0xc
cmp dword [ebp + 0x24], eax
je 0x5b5800
mov dword [ebp + 0x24], eax
mov eax, dword [0x629770]
jmp 0x5b57f6
cmp edi, 0x37
jne 0x5b5a59
mov eax, dword [ebx]
cmp dword [eax + 0x278], esi
je 0x5b5a59
lea edx, [esp + 0x1c]
push edx
xor esi, esi
push eax
mov dword [esp + 0x24], esi
call fcn.005c63a0
add esp, 8
test eax, eax
je 0x5b5943
mov edi, eax
mov dword [esp + 0x4c], edi
mov dword [esp + 0x14], 1
jmp 0x5b594e
xor eax, eax
cmp dword [esp + 0x1c], eax
setne al
mov esi, eax
push ebp
call fcn.005c5d70
push 0
push ebx
mov eax, edi
call fcn.005b37d0
add esp, 0xc
test esi, esi
je 0x5b59b5
test eax, eax
je 0x5b5976
cmp eax, 0x37
je 0x5b5976
mov edi, eax
mov dword [esp + 0x4c], edi
jmp 0x5b59bd
mov ecx, dword [esp + 0x1c]
mov esi, 2
push esi
push ecx
push ebp
call fcn.005c6110
add esp, 0xc
test eax, eax
jne 0x5b596e
cmp dword [ebp + 0x24], esi
je 0x5b59a5
mov dword [ebp + 0x24], esi
mov eax, dword [0x629748]
test eax, eax
je 0x5b59a5
push ebp
call eax
add esp, 4
xor edi, edi
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0x4c], edi
jmp 0x5b59bd
mov dword [esp + 0x14], 1
mov edx, dword [esp + 0x1c]
push edx
call dword [0x6a2b10]
add esp, 4
mov esi, dword [esp + 0x10]
cmp dword [ebp + 0x24], 0x11
jge 0x5b6163
test edi, edi
je 0x5b611e
mov ecx, dword [esp + 0x40]
xor ebx, ebx
push ecx
mov dword [ebp + 0x10a60], ebx
call fcn.005b4af0
mov eax, dword [ebp + 8]
add esp, 4
cmp eax, ebx
je 0x5b60eb
push eax
call fcn.005c8560
mov edx, dword [ebp + 8]
push edx
call fcn.005c8570
mov eax, dword [ebp + 8]
add eax, 0x354
push eax
push ebp
call fcn.005b8770
mov ecx, dword [ebp + 8]
add ecx, 0x364
push ecx
push ebp
call fcn.005b8770
add esp, 0x18
cmp dword [esp + 0x14], ebx
je 0x5b60fa
mov eax, dword [ebp + 8]
xor edx, edx
cmp edi, 0x1c
sete dl
push edx
push eax
call fcn.005bd620
add esp, 8
mov dword [ebp + 8], ebx
jmp 0x5b60fa
push ebp
call fcn.005c5d70
add esp, 4
cmp dword [ebx], esi
je 0x5b5a73
push 0
push ebx
mov eax, edi
call fcn.005b37d0
add esp, 8
mov dword [esp + 0x14], 1
jmp 0x5b59cf
mov ecx, dword [ebx]
lea eax, [esp + 0x20]
push eax
push ecx
call fcn.005b8be0
mov edi, eax
add esp, 8
mov dword [esp + 0x4c], edi
test edi, edi
jne 0x5b5ac2
cmp dword [esp + 0x20], esi
je case.0x5b5390.1
mov edx, dword [ebx]
mov eax, dword [edx + 0x2a0]
neg eax
sbb eax, eax
add eax, 0xc
mov ecx, ebp
call fcn.005b34e0
or esi, 0xffffffff
jmp 0x5b59cf
push ebp
call fcn.005c5d70
push 0
jmp 0x5b5792
mov esi, dword [ebp + 8]
lea ebx, [ebp + 8]
lea edi, [esp + 0x38]
call fcn.005b3e40
mov esi, eax
mov dword [esp + 0x4c], esi
test esi, esi
jne 0x5b5b23
mov eax, dword [esp + 0x38]
test eax, eax
je 0x5b5b12
xor ecx, ecx
cmp eax, 1
sete cl
lea eax, [ecx + ecx + 0xa]
mov ecx, ebp
call fcn.005b34e0
mov dword [esp + 0x10], 0xffffffff
mov edi, esi
jmp case.0x5b5390.1
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x10], 0
jmp case.0x5b5390.1
push ebp
call fcn.005c5d70
push 0
push ebx
mov eax, esi
call fcn.005b37d0
mov edi, dword [esp + 0x58]
add esp, 0xc
mov dword [esp + 0x14], 1
jmp case.0x5b5390.1
mov edx, dword [ebx]
push edx
push ebp
call fcn.005c85e0
mov eax, dword [esp + 0x48]
push eax
call fcn.005b4af0
mov eax, dword [ebx]
or ecx, 0xffffffff
add esp, 0xc
cmp dword [eax + 0x31c], ecx
jne 0x5b5b76
cmp dword [eax + 0x320], ecx
je 0x5b588d
mov eax, 0xd
cmp dword [ebp + 0x24], eax
je 0x5b5800
mov dword [ebp + 0x24], eax
mov eax, dword [0x629774]
jmp 0x5b57f6
mov ecx, dword [ebx]
push ecx
push ebp
call fcn.005c8510
add esp, 8
test eax, eax
je case.0x5b5390.1
mov eax, 0xe
cmp dword [ebp + 0x24], eax
je 0x5b5800
mov dword [ebp + 0x24], eax
mov eax, dword [0x629778]
jmp 0x5b57f6
mov edx, dword [ebx]
push edx
call fcn.005c78a0
add esp, 4
test eax, eax
je 0x5b5bdd
mov edi, 0x2a
mov dword [esp + 0x4c], edi
jmp 0x5b59cf
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push ebp
call fcn.005c8ba0
mov edi, eax
add esp, 0xc
mov dword [esp + 0x4c], edi
test edi, edi
jne case.0x5b5390.1
mov eax, dword [ebp + 0x224]
mov ecx, dword [ebp + 0x220]
xor esi, esi
test eax, eax
jl 0x5b5c56
jg 0x5b5c16
test ecx, ecx
je 0x5b5c56
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [ebp + 0x7a8]
push edx
mov edx, dword [ebp + 0x7a4]
push edx
mov edx, dword [ebp + 0x73c]
push eax
mov eax, dword [ebp + 0x7b4]
push ecx
mov ecx, dword [ebp + 0x7b0]
push eax
mov eax, dword [ebp + 0x738]
push ecx
push edx
push eax
call fcn.005c7650
add esp, 0x28
mov esi, eax
mov ecx, dword [ebp + 0x22c]
mov edx, dword [ebp + 0x228]
xor eax, eax
test ecx, ecx
jl 0x5b5cac
jg 0x5b5c6e
test edx, edx
je 0x5b5cac
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [esp + 0x48]
push eax
mov eax, dword [ebp + 0x7bc]
push eax
mov eax, dword [ebp + 0x7b8]
push eax
mov eax, dword [ebp + 0x734]
push ecx
mov ecx, dword [ebp + 0x7c4]
push edx
mov edx, dword [ebp + 0x7c0]
push ecx
mov ecx, dword [ebp + 0x730]
push edx
push eax
push ecx
call fcn.005c7650
add esp, 0x28
test esi, esi
jg 0x5b5cda
test eax, eax
jg 0x5b5cda
cmp dword [ebp + 0x24], 0xe
je case.0x5b5390.1
mov dword [ebp + 0x24], 0xe
mov eax, dword [0x629778]
test eax, eax
je case.0x5b5390.1
push ebp
call eax
jmp 0x5b59c8
push 9
cmp esi, eax
jl 0x5b5cef
push esi
push ebp
call fcn.005b4830
add esp, 0xc
jmp case.0x5b5390.1
push eax
push ebp
call fcn.005b4830
add esp, 0xc
jmp case.0x5b5390.1
mov eax, dword [ebp + 0x224]
mov ecx, dword [ebp + 0x220]
xor ebx, ebx
xor edi, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], ebx
cmp eax, ebx
jl 0x5b5d64
jg 0x5b5d24
cmp ecx, ebx
jbe 0x5b5d64
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [ebp + 0x7a8]
push edx
mov edx, dword [ebp + 0x7a4]
push edx
mov edx, dword [ebp + 0x73c]
push eax
mov eax, dword [ebp + 0x7b4]
push ecx
mov ecx, dword [ebp + 0x7b0]
push eax
mov eax, dword [ebp + 0x738]
push ecx
push edx
push eax
call fcn.005c7650
add esp, 0x28
mov edi, eax
mov eax, dword [ebp + 0x22c]
mov ecx, dword [ebp + 0x228]
xor esi, esi
cmp eax, ebx
jl 0x5b5dbc
jg 0x5b5d7c
cmp ecx, ebx
jbe 0x5b5dbc
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [esp + 0x48]
push edx
mov edx, dword [ebp + 0x7bc]
push edx
mov edx, dword [ebp + 0x7b8]
push edx
mov edx, dword [ebp + 0x734]
push eax
mov eax, dword [ebp + 0x7c4]
push ecx
mov ecx, dword [ebp + 0x7c0]
push eax
mov eax, dword [ebp + 0x730]
push ecx
push edx
push eax
call fcn.005c7650
add esp, 0x28
mov esi, eax
cmp edi, ebx
jg 0x5b5ff3
cmp esi, ebx
jg 0x5b5ff3
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x28]
push edx
lea edi, [ebp + 8]
push ebp
push eax
call fcn.005c57a0
add esp, 0x10
test byte [ebp + 0x110], 1
mov esi, eax
mov dword [esp + 0x4c], esi
jne 0x5b5e00
mov ecx, dword [edi]
push ecx
call fcn.005c8570
add esp, 4
test byte [ebp + 0x110], 2
jne 0x5b5e14
mov edx, dword [edi]
push edx
call fcn.005c8560
add esp, 4
cmp dword [esp + 0x24], ebx
jne 0x5b5e1f
cmp esi, 0x38
jne 0x5b5e50
mov ecx, dword [edi]
lea eax, [esp + 0x1c]
push eax
push ecx
call fcn.005c63a0
add esp, 8
test eax, eax
jne 0x5b5e50
cmp dword [esp + 0x1c], ebx
setne al
mov dword [esp + 0x28], eax
cmp eax, ebx
je 0x5b5e50
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x24], 1
jmp 0x5b5ea3
cmp esi, ebx
je 0x5b5e99
mov eax, dword [edi]
mov edx, dword [eax + 0x310]
test byte [edx + 0x44], 2
jne 0x5b5e72
cmp esi, 0x5c
je 0x5b5e72
push 2
push eax
call fcn.005c3350
add esp, 8
push ebp
call fcn.005c5d70
push 1
push edi
mov eax, esi
call fcn.005b37d0
mov edx, dword [esp + 0x28]
add esp, 0xc
push edx
call dword [0x6a2b10]
mov edi, dword [esp + 0x50]
jmp 0x5b59c8
cmp dword [esp + 0x24], ebx
je 0x5b5fd1
push ebp
call fcn.005c5d70
mov eax, dword [edi]
add eax, 0x364
push eax
push ebp
call fcn.005b8770
mov ecx, dword [edi]
mov eax, dword [ecx + 0x364]
add esp, 0xc
cmp eax, ebx
je 0x5b5ed4
mov edx, dword [eax]
push 6
push ebx
push edx
call fcn.005b4830
add esp, 0xc
mov eax, dword [esp + 0x40]
push eax
call fcn.005b4af0
add esp, 4
cmp dword [ebp + 0x124], ebx
jne 0x5b5f58
cmp dword [esp + 0x28], ebx
jne 0x5b5f83
cmp dword [ebp + 0x120], ebx
je 0x5b5f32
mov ecx, dword [esp + 0x1c]
push ecx
call dword [0x6a2b10]
mov eax, dword [ebp + 0x120]
push 1
push eax
push ebp
mov dword [esp + 0x2c], eax
mov dword [ebp + 0x120], ebx
call fcn.005c6110
add esp, 0x10
mov dword [esp + 0x4c], eax
cmp eax, ebx
je 0x5b5f32
mov dword [esp + 0x14], 1
mov eax, 0x10
cmp dword [ebp + 0x24], eax
je 0x5b5fd7
mov dword [ebp + 0x24], eax
mov eax, dword [0x629780]
cmp eax, ebx
je 0x5b5fd7
push ebp
call eax
add esp, 4
jmp 0x5b5fd7
cmp dword [esp + 0x28], ebx
jne 0x5b5f83
mov edx, dword [esp + 0x1c]
push edx
call dword [0x6a2b10]
mov eax, dword [ebp + 0x124]
add esp, 4
mov dword [esp + 0x1c], eax
mov dword [ebp + 0x124], ebx
mov esi, 3
jmp 0x5b5f88
mov esi, 2
push ebx
push edi
xor eax, eax
call fcn.005b37d0
add esp, 8
mov dword [esp + 0x4c], eax
cmp eax, ebx
jne 0x5b5fdf
mov ecx, dword [esp + 0x1c]
push esi
push ecx
push ebp
call fcn.005c6110
add esp, 0xc
mov dword [esp + 0x4c], eax
cmp eax, ebx
jne 0x5b5fdf
mov eax, 2
cmp dword [ebp + 0x24], eax
je 0x5b5fd7
mov dword [ebp + 0x24], eax
mov eax, dword [0x629748]
cmp eax, ebx
je 0x5b5fd7
push ebp
call eax
add esp, 4
jmp 0x5b5fd7
cmp dword [esp + 0x2c], ebx
je 0x5b5fdf
mov dword [esp + 0x10], 0xffffffff
mov edx, dword [esp + 0x1c]
push edx
call dword [0x6a2b10]
mov edi, dword [esp + 0x50]
jmp 0x5b59c8
mov eax, 0xf
cmp dword [ebp + 0x24], eax
je 0x5b600f
mov dword [ebp + 0x24], eax
mov eax, dword [0x62977c]
cmp eax, ebx
je 0x5b600f
push ebp
call eax
add esp, 4
push 9
cmp edi, esi
jl 0x5b602a
push edi
push ebp
call fcn.005b4830
mov edi, dword [esp + 0x58]
add esp, 0xc
mov esi, ebx
jmp 0x5b59cf
push esi
push ebp
call fcn.005b4830
mov edi, dword [esp + 0x58]
add esp, 0xc
mov esi, ebx
jmp 0x5b59cf
mov eax, dword [ebx]
or esi, 0xffffffff
mov dword [esp + 0x10], esi
test eax, eax
je 0x5b6084
add eax, 0x364
push eax
push ebp
call fcn.005b8770
mov eax, dword [esp + 0x48]
push eax
call fcn.005b4af0
push 0
push ebx
mov eax, edi
call fcn.005b37d0
add esp, 0x14
test edi, edi
jne 0x5b6079
mov edi, eax
mov dword [esp + 0x4c], edi
cmp dword [ebx], 0
je 0x5b6084
mov dword [ebx], 0
cmp dword [ebp + 0x69c], 0
je 0x5b60ac
cmp dword [ebp + 0x10ac0], 7
je 0x5b60ac
cmp dword [ebp + 0x24], 0
je case.0x5b5390.1
mov dword [ebp + 0x24], 0
jmp 0x5b59cf
mov eax, 0x11
cmp dword [ebp + 0x24], eax
je case.0x5b5390.1
mov dword [ebp + 0x24], eax
mov eax, dword [ebp + 0x64]
dec dword [eax + 0x10]
mov eax, dword [0x629784]
test eax, eax
je case.0x5b5390.1
push ebp
call eax
add esp, 4
jmp 0x5b59cf
push ebp
mov dword [ebx], esi
call fcn.005b49a0
add esp, 4
jmp 0x5b59cf
cmp dword [ebp + 0x24], 2
jne 0x5b60fa
push ebp
call fcn.005c5d70
add esp, 4
cmp dword [ebp + 0x24], 0x11
je 0x5b6169
mov eax, dword [ebp + 0x64]
mov dword [ebp + 0x24], 0x11
dec dword [eax + 0x10]
mov eax, dword [0x629784]
test eax, eax
je 0x5b615f
push ebp
call eax
add esp, 4
jmp 0x5b615f
mov eax, dword [ebp + 8]
test eax, eax
je 0x5b615f
push eax
call fcn.005c78a0
add esp, 4
test eax, eax
je 0x5b615f
mov ecx, dword [ebp + 8]
push 2
mov edi, 0x2a
push ecx
mov dword [esp + 0x54], edi
call fcn.005c3350
xor eax, eax
add esp, 8
cmp dword [ebp + 0x24], 0x10
mov ecx, ebp
setge al
add eax, 0x10
call fcn.005b34e0
or esi, 0xffffffff
cmp dword [ebp + 0x24], 0x11
jne 0x5b51b9
lea eax, [ebp + 0x2c]
push eax
push eax
mov dword [eax + 0xc], 1
mov dword [eax + 0x10], ebp
mov dword [eax + 0x14], edi
mov eax, dword [esp + 0x48]
mov edx, dword [eax + 0x18]
push edx
add eax, 0x14
push eax
call fcn.005c6a90
mov eax, 0x12
add esp, 0x10
xor esi, esi
cmp dword [ebp + 0x24], eax
je 0x5b51be
mov dword [ebp + 0x24], eax
mov eax, dword [0x629788]
test eax, eax
je 0x5b51be
push ebp
call eax
add esp, 4
jmp 0x5b51be
mov ecx, dword [ebp + 0x24]
push ecx
push str.In_state__d_with_no_easy_conn__bail_out__n
push ebp
call fcn.005bfec0
add esp, 0xc
pop esi
pop edi
pop ebp
mov eax, 4
pop ebx
add esp, 0x2c
ret
pop esi
mov dword [ebp + 0x28], edi
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0x2c
ret
pop edi
pop ebp
mov eax, 2
pop ebx
add esp, 0x2c
ret