Function at 0x45ab60
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 0x45bbb6
cmp dword [ebp + 0x12b0], 0xc0dedbad
jne 0x45bbb6
xor edi, edi
cmp dword [ebp + 8], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0x58], edi
jne 0x45abb1
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x45abb1
cmp eax, 0xe
jl 0x45bb8a
mov esi, dword [esp + 0x44]
push 1
mov ecx, esi
call fcn.00459250
add esp, 4
test eax, eax
je 0x45abcc
mov eax, esi
call fcn.0045a690
mov ecx, dword [ebp + 8]
cmp ecx, edi
je 0x45ae2d
mov eax, dword [ebp + 0x24]
cmp eax, 2
jle 0x45abe6
cmp eax, 0xf
jge 0x45abe6
mov dword [ecx], ebp
cmp dword [ebp + 8], edi
je 0x45ae2d
mov eax, dword [ebp + 0x24]
cmp eax, 2
jl 0x45ae2d
cmp eax, 0xf
jge 0x45ae2d
xor ecx, ecx
cmp eax, 8
setle cl
lea edx, [esp + 0x48]
push ecx
push edx
push ebp
call fcn.00460dc0
add esp, 0xc
cmp edx, edi
jg 0x45ae2d
jl 0x45ac2d
cmp eax, edi
jae 0x45ae2d
mov eax, dword [ebp + 0x24]
cmp eax, 3
jne 0x45ac97
mov ecx, dword [ebp + 0xcd8]
mov edx, dword [ebp + 0xcdc]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xce0]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xce4]
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.00465e00
push edx
push eax
push str.Resolving_timed_out_after__I64d_milliseconds
push ebp
call fcn.0045c260
add esp, 0x30
jmp 0x45adf9
cmp eax, 4
jne 0x45acfe
mov ecx, dword [ebp + 0xcd8]
mov edx, dword [ebp + 0xcdc]
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xce0]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xce4]
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.00465e00
push edx
push eax
push str.Connection_timed_out_after__I64d_milliseconds
push ebp
call fcn.0045c260
add esp, 0x30
jmp 0x45adf9
mov eax, dword [ebp + 0x88]
mov ecx, dword [ebp + 0x8c]
mov edx, eax
and edx, ecx
cmp edx, 0xffffffff
je 0x45ad8b
mov edx, dword [ebp + 0xcd8]
push ecx
mov ecx, dword [ebp + 0x98]
push eax
mov eax, dword [ebp + 0x9c]
push eax
push ecx
mov ecx, dword [ebp + 0xcdc]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xce0]
mov dword [eax + 4], ecx
mov ecx, dword [ebp + 0xce4]
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.00465e00
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.0045c260
add esp, 0x20
jmp 0x45adf9
mov edx, dword [ebp + 0x9c]
mov eax, dword [ebp + 0x98]
mov ecx, dword [ebp + 0xcd8]
push edx
mov edx, dword [ebp + 0xcdc]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], ecx
mov ecx, dword [ebp + 0xce0]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xce4]
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.00465e00
add esp, 0x20
push edx
push eax
push str.Operation_timed_out_after__I64d_milliseconds_with__I64d_bytes_received
push ebp
call fcn.0045c260
add esp, 0x18
cmp dword [ebp + 0x24], 8
jle 0x45ae15
mov eax, dword [ebp + 8]
push 2
push eax
call fcn.00461b60
add esp, 8
mov dword [esp + 0x10], 1
mov ebx, 0x1c
push 1
mov ecx, ebx
mov edx, ebp
call fcn.0045a6e0
add esp, 4
jmp case.0x45ae39.1
mov eax, dword [ebp + 0x24]
cmp eax, 0x10
ja case.default.0x45ae39
jmp dword [eax*4 + 0x45bbc4]
push ebp
call fcn.00485bb0
mov ebx, eax
add esp, 4
cmp ebx, edi
jne case.0x45ae39.1
mov eax, 2
mov ecx, ebp
call fcn.0045a0d0
push 1
push ebp
call fcn.0046a510
add esp, 8
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
push 2
push ebp
call fcn.0046a510
mov eax, dword [ebp + 0x658]
add esp, 8
cmp eax, edi
je 0x45ae9a
cdq
push 9
push edx
push eax
push ebp
call fcn.00459dd0
add esp, 0x10
mov eax, dword [ebp + 0x65c]
cmp eax, edi
je 0x45aeb2
cdq
push 2
push edx
push eax
push ebp
call fcn.00459dd0
add esp, 0x10
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x30]
push edx
push ebp
call fcn.00458cf0
mov ebx, eax
add esp, 0xc
cmp ebx, 0x59
jne 0x45aef2
lea eax, [ebx - 0x58]
mov ecx, ebp
call fcn.0045a0d0
mov ecx, dword [esi + 0x28]
lea eax, [ebp + 0xc]
push eax
push ebp
push ecx
add esi, 0x24
push esi
call fcn.00482580
add esp, 0x10
xor ebx, ebx
jmp case.0x45ae39.1
cmp dword [ebp + 0x11ac], edi
je 0x45af10
push str.Transfer_was_pending__now_try_another_n
push ebp
call fcn.0045c170
mov eax, dword [ebp + 0x78]
add esp, 8
call fcn.0045a690
cmp ebx, edi
jne case.0x45ae39.1
cmp dword [esp + 0x2c], edi
je 0x45af28
mov eax, 3
jmp 0x45ba64
cmp dword [esp + 0x14], edi
mov dword [esp + 0x58], 0xffffffff
je 0x45af40
mov eax, 8
jmp 0x45ba64
mov edx, dword [ebp + 8]
push edx
call fcn.00486370
add esp, 4
test eax, eax
mov ecx, ebp
je 0x45af5c
mov eax, 5
jmp 0x45ba66
mov eax, 4
jmp 0x45ba66
mov esi, dword [ebp + 8]
mov dword [esp + 0x18], edi
cmp dword [esi + 0x53c], edi
je 0x45af7d
mov edi, dword [esi + 0x34c]
jmp 0x45af93
cmp dword [esi + 0x530], edi
je 0x45af8d
mov edi, dword [esi + 0x31c]
jmp 0x45af93
mov edi, dword [esi + 0x304]
mov eax, dword [esi + 0x364]
push eax
push edi
push esi
call fcn.00483440
add esp, 0xc
test eax, eax
mov dword [esp + 0x18], eax
je 0x45afd3
push edi
push 0x57b2dc
push ebp
mov dword [esi + 0x664], eax
mov dword [esi + 0x670], 1
xor ebx, ebx
call fcn.0045c170
add esp, 0xc
cmp dword [esp + 0x18], ebx
jne 0x45afe6
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00483be0
add esp, 8
mov ebx, eax
mov eax, dword [esp + 0x44]
push ebp
push eax
call fcn.00459470
add esp, 8
cmp dword [esp + 0x18], 0
je 0x45b052
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.00483c30
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x45b01b
mov dword [ebp + 8], 0
jmp 0x45b052
cmp dword [esp + 0x14], 0
mov dword [esp + 0x58], 0xffffffff
je 0x45b031
mov eax, 8
jmp 0x45b04b
mov eax, dword [ebp + 8]
push eax
call fcn.00486370
add esp, 4
test eax, eax
mov eax, 5
jne 0x45b04b
mov eax, 4
mov ecx, ebp
call fcn.0045a0d0
test ebx, ebx
je case.0x45ae39.1
mov dword [esp + 0x10], 1
jmp case.0x45ae39.1
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x14]
push ecx
push edx
call fcn.004807e0
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 8
cmp dword [eax + 0x580], edi
je 0x45b0a4
push edi
xor ecx, ecx
mov edx, ebp
mov dword [esp + 0x5c], 0xffffffff
xor ebx, ebx
call fcn.0045a6e0
add esp, 4
lea eax, [ebx + 2]
jmp 0x45ba64
cmp ebx, edi
jne 0x45b05a
cmp dword [eax + 0x358], 2
jne 0x45b0bd
cmp dword [eax + 0x514], edi
je case.0x45ae39.1
push eax
call fcn.00486350
add esp, 4
test eax, eax
je case.0x45ae39.1
mov dword [esp + 0x58], 0xffffffff
mov eax, 6
jmp 0x45ba64
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x30]
push eax
push edi
push ecx
call fcn.004621d0
add esp, 0xc
cmp dword [esp + 0x30], edi
mov ebx, eax
je 0x45b146
cmp ebx, edi
jne 0x45b14e
mov eax, dword [ebp + 8]
cmp dword [eax + 0x358], 2
jne 0x45b112
cmp dword [eax + 0x514], edi
je 0x45b11f
push eax
call fcn.00486370
add esp, 4
test eax, eax
je 0x45b129
mov eax, 5
jmp 0x45ba64
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x560]
neg eax
sbb eax, eax
mov dword [esp + 0x58], 0xffffffff
add eax, 6
jmp 0x45ba64
cmp ebx, edi
je case.0x45ae39.1
push ebp
call fcn.004545e0
push 1
mov ecx, ebx
mov edx, ebp
call fcn.0045a6e0
add esp, 8
mov dword [esp + 0x10], 1
jmp case.0x45ae39.1
mov esi, dword [ebp + 8]
lea ebx, [esp + 0x14]
call fcn.00459360
mov ebx, eax
cmp ebx, edi
jne 0x45b14e
cmp dword [esp + 0x14], edi
mov ecx, ebp
jne 0x45b193
mov eax, 7
jmp 0x45ba66
mov eax, 8
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x14]
call fcn.00459300
mov ebx, eax
cmp ebx, edi
jne 0x45b14e
cmp dword [esp + 0x14], edi
je case.0x45ae39.1
mov eax, 8
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
cmp dword [ebp + 0xbd0], edi
je 0x45b20f
mov eax, dword [ebp + 8]
push edi
push eax
call fcn.00461b60
add esp, 8
mov eax, 0xe
mov ecx, ebp
call fcn.0045a0d0
xor ebx, ebx
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
lea ebx, [esp + 0x1c]
mov ecx, ebp
call fcn.00459290
mov ebx, eax
cmp ebx, edi
jne 0x45b2b4
cmp dword [esp + 0x1c], edi
jne 0x45b27d
cmp dword [ebp + 0x1190], edi
je 0x45b268
mov eax, dword [ebp + 0x11b8]
cmp eax, 7
je 0x45b242
cmp eax, 5
jne 0x45b268
push edi
xor ecx, ecx
mov edx, ebp
call fcn.0045a6e0
add esp, 4
mov eax, 0xe
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
mov eax, 9
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], edi
jmp case.0x45ae39.1
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x554], edi
mov ecx, ebp
je 0x45b29d
mov eax, 0xa
call fcn.0045a0d0
mov dword [esp + 0x58], edi
jmp case.0x45ae39.1
mov eax, 0xb
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
cmp ebx, 0x37
jne 0x45b379
mov eax, dword [ebp + 8]
cmp dword [eax + 0x528], edi
je 0x45b379
lea edx, [esp + 0x18]
push edx
push eax
mov dword [esp + 0x20], edi
call fcn.00486060
add esp, 8
cmp eax, edi
je 0x45b2ec
mov ebx, eax
mov dword [esp + 0x10], 1
push ebp
call fcn.004545e0
push edi
mov ecx, ebx
mov edx, ebp
call fcn.0045a6e0
mov ecx, dword [esp + 0x20]
add esp, 8
cmp ecx, edi
je 0x45b35e
cmp eax, edi
je 0x45b325
cmp eax, 0x37
je 0x45b325
mov ebx, eax
mov eax, dword [esp + 0x18]
push eax
call dword [0x5d203c]
add esp, 4
jmp case.0x45ae39.1
push 2
push ecx
push ebp
call fcn.00485db0
add esp, 0xc
cmp eax, edi
jne 0x45b310
mov eax, 2
mov ecx, ebp
call fcn.0045a0d0
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x5c], 0xffffffff
xor ebx, ebx
call dword [0x5d203c]
add esp, 4
jmp case.0x45ae39.1
mov eax, dword [esp + 0x18]
push eax
mov dword [esp + 0x14], 1
call dword [0x5d203c]
add esp, 4
jmp case.0x45ae39.1
push ebp
call fcn.004545e0
add esp, 4
cmp dword [ebp + 8], edi
je 0x45b394
push edi
mov ecx, ebx
mov edx, ebp
call fcn.0045a6e0
add esp, 4
mov dword [esp + 0x10], 1
jmp case.0x45ae39.1
mov ecx, dword [ebp + 8]
lea edx, [esp + 0x1c]
call fcn.00459330
mov ebx, eax
cmp ebx, edi
jne 0x45b3e1
cmp dword [esp + 0x1c], edi
je case.0x45ae39.1
mov ecx, dword [ebp + 8]
mov eax, dword [ecx + 0x554]
neg eax
sbb eax, eax
add eax, 0xb
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
push ebp
call fcn.004545e0
push edi
jmp 0x45b156
mov edi, dword [ebp + 8]
lea ebx, [esp + 0x34]
call fcn.004592d0
mov ebx, eax
test ebx, ebx
jne 0x45b436
mov eax, dword [esp + 0x34]
test eax, eax
je 0x45b429
xor edx, edx
cmp eax, 1
sete dl
mov ecx, ebp
lea edx, [edx + edx + 9]
mov eax, edx
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
jmp case.0x45ae39.1
mov dword [esp + 0x58], 0
jmp case.0x45ae39.1
push ebp
call fcn.004545e0
push 0
jmp 0x45b156
mov eax, dword [ebp + 8]
cmp dword [eax + 0x58c], edi
je 0x45b455
mov eax, esi
call fcn.0045a690
mov eax, dword [ebp + 8]
or esi, 0xffffffff
cmp dword [eax + 0x5e4], esi
jne 0x45b4a1
cmp dword [eax + 0x5e8], esi
jne 0x45b4a1
cmp dword [ebp + 0x1190], edi
je 0x45b48c
mov ecx, dword [eax + 0x5c0]
test dword [ecx + 0x44], 0x1000
jne 0x45b48c
mov dword [ebp + 0x11b8], 7
mov eax, 0xe
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], esi
jmp case.0x45ae39.1
mov eax, 0xc
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], esi
jmp case.0x45ae39.1
mov edx, dword [ebp + 8]
push edx
call fcn.0046b210
add esp, 4
test eax, eax
je 0x45b4d0
mov ebx, 0x2a
jmp case.0x45ae39.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.00483f50
mov ebx, eax
add esp, 0x14
cmp ebx, edi
jne case.0x45ae39.1
mov ecx, dword [ebp + 0x68c]
mov edx, dword [ebp + 0x688]
xor edi, edi
cmp ecx, edi
mov dword [esp + 0x3c], edi
jl 0x45b597
jg 0x45b523
cmp edx, edi
jbe 0x45b597
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 + 0xd08]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xd0c]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xd10]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xd14]
push ecx
mov ecx, dword [ebp + 0xd18]
push edx
mov edx, dword [ebp + 0xc6c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xd1c]
push eax
mov eax, dword [ebp + 0xc68]
push ecx
push edx
push eax
call fcn.0046a710
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 0x45b61f
jg 0x45b5b1
test esi, esi
jbe 0x45b61f
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 + 0xd20]
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [ebp + 0xd24]
mov dword [eax + 4], edx
mov edx, dword [ebp + 0xd28]
mov dword [eax + 8], edx
mov edx, dword [ebp + 0xd2c]
push ecx
mov ecx, dword [ebp + 0xd30]
mov dword [eax + 0xc], edx
mov eax, dword [ebp + 0xd34]
mov edx, dword [ebp + 0xc64]
push esi
push eax
mov eax, dword [ebp + 0xc60]
push ecx
push edx
push eax
call fcn.0046a710
add esp, 0x38
mov ecx, dword [esp + 0x3c]
mov esi, edi
or esi, ecx
jne 0x45b667
mov esi, eax
or esi, edx
jne 0x45b667
lea eax, [esi + 0xc]
mov ecx, ebp
call fcn.0045a0d0
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.0046a830
add esp, 0x14
jmp case.0x45ae39.1
cmp ecx, edx
jl 0x45b683
jg 0x45b671
cmp edi, eax
jb 0x45b683
push 0xa
push ecx
push edi
push ebp
call fcn.00459dd0
add esp, 0x10
jmp case.0x45ae39.1
push 0xa
push edx
push eax
push ebp
call fcn.00459dd0
add esp, 0x10
jmp case.0x45ae39.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 0x45b739
jg 0x45b6c3
cmp edx, edi
jbe 0x45b739
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 + 0xd08]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xd0c]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xd10]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xd14]
push ecx
mov ecx, dword [ebp + 0xd18]
push edx
mov edx, dword [ebp + 0xc6c]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xd1c]
push eax
mov eax, dword [ebp + 0xc68]
push ecx
push edx
push eax
call fcn.0046a710
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 0x45b7c5
jg 0x45b753
test edx, edx
jbe 0x45b7c5
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 + 0xd20]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov esi, dword [ebp + 0xd24]
push ecx
mov ecx, dword [ebp + 0xd34]
mov dword [eax + 4], esi
mov esi, dword [ebp + 0xd28]
push edx
mov edx, dword [ebp + 0xd30]
mov dword [eax + 8], esi
mov esi, dword [ebp + 0xd2c]
push ecx
mov ecx, dword [ebp + 0xc60]
mov dword [eax + 0xc], esi
mov eax, dword [ebp + 0xc64]
push edx
push eax
push ecx
call fcn.0046a710
add esp, 0x38
mov edi, eax
mov esi, edx
mov edx, dword [esp + 0x38]
or edx, dword [esp + 0x3c]
jne 0x45b9a4
mov eax, edi
or eax, esi
jne 0x45b9a4
mov eax, dword [ebp + 8]
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x24]
push edx
push ebp
push eax
call fcn.00485710
xor edi, edi
add esp, 0x10
cmp dword [esp + 0x20], edi
mov ebx, eax
jne 0x45b848
cmp ebx, 0x38
je 0x45b848
cmp ebx, 0x5c
je 0x45b810
mov esi, dword [esp + 0x24]
cmp ebx, edi
je 0x45b880
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x5c0]
test byte [ecx + 0x44], 2
jne 0x45b82f
cmp ebx, 0x5c
je 0x45b82f
push 2
push eax
call fcn.00461b60
add esp, 8
push ebp
call fcn.004545e0
push 1
mov ecx, ebx
mov edx, ebp
call fcn.0045a6e0
add esp, 8
jmp case.0x45ae39.1
mov edx, dword [ebp + 8]
lea ecx, [esp + 0x18]
push ecx
push edx
call fcn.00486060
add esp, 8
cmp eax, edi
jne 0x45b878
xor eax, eax
cmp dword [esp + 0x18], edi
setne al
mov esi, eax
cmp esi, edi
je 0x45b80c
xor ebx, ebx
mov dword [esp + 0x20], 1
jmp 0x45b88a
cmp ebx, edi
jne 0x45b810
mov ebx, eax
jmp 0x45b808
cmp dword [esp + 0x20], edi
je 0x45b984
push ebp
call fcn.004545e0
add esp, 4
cmp dword [ebp + 0x140], edi
jne 0x45b910
cmp esi, edi
jne 0x45b939
cmp dword [ebp + 0x13c], edi
je 0x45b24f
mov edx, dword [esp + 0x18]
push edx
call dword [0x5d203c]
mov eax, dword [ebp + 0x13c]
push 1
push eax
push ebp
mov dword [esp + 0x28], eax
mov dword [ebp + 0x13c], edi
call fcn.00485db0
mov ebx, eax
mov eax, dword [esp + 0x28]
push eax
call dword [0x5d203c]
add esp, 0x14
cmp ebx, edi
je 0x45b24f
push 1
mov ecx, ebx
mov edx, ebp
mov dword [esp + 0x14], 1
call fcn.0045a6e0
mov ebx, eax
add esp, 4
cmp ebx, edi
jne case.0x45ae39.1
jmp 0x45b24f
cmp esi, edi
jne 0x45b939
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x5d203c]
mov edx, dword [ebp + 0x140]
add esp, 4
mov dword [esp + 0x18], edx
mov dword [ebp + 0x140], edi
mov esi, 3
jmp 0x45b93e
mov esi, 2
push edi
xor ecx, ecx
mov edx, ebp
call fcn.0045a6e0
mov eax, dword [esp + 0x1c]
push esi
push eax
push ebp
call fcn.00485db0
mov ebx, eax
add esp, 0x10
cmp ebx, edi
jne 0x45b971
mov eax, 2
mov ecx, ebp
call fcn.0045a0d0
mov dword [esp + 0x58], 0xffffffff
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x5d203c]
add esp, 4
jmp case.0x45ae39.1
cmp dword [esp + 0x28], edi
je case.0x45ae39.1
push 7
push edi
push edi
push ebp
call fcn.00459dd0
add esp, 0x10
mov dword [esp + 0x58], edi
jmp case.0x45ae39.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.0046a830
add esp, 0x14
mov eax, 0xd
mov ecx, ebp
call fcn.0045a0d0
cmp dword [esp + 0x3c], esi
jl 0x45b9fe
jg 0x45b9e7
cmp dword [esp + 0x38], edi
jb 0x45b9fe
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x38]
push 0xa
push edx
push eax
push ebp
call fcn.00459dd0
add esp, 0x10
jmp case.0x45ae39.1
push 0xa
push esi
push edi
push ebp
call fcn.00459dd0
add esp, 0x10
jmp case.0x45ae39.1
mov eax, dword [ebp + 8]
cmp eax, edi
mov dword [esp + 0x58], 0xffffffff
je 0x45ba4a
cmp dword [eax + 0x58c], edi
je 0x45ba2b
mov eax, esi
call fcn.0045a690
push edi
mov ecx, ebx
mov edx, ebp
call fcn.0045a6e0
add esp, 4
cmp ebx, edi
jne 0x45ba3e
mov ebx, eax
cmp dword [ebp + 8], edi
je 0x45ba4a
mov esi, ebp
call fcn.00459050
cmp dword [ebp + 0x1190], edi
je 0x45ba5f
cmp dword [ebp + 0x11b8], 7
je 0x45ba5f
xor eax, eax
jmp 0x45ba64
mov eax, 0xf
mov ecx, ebp
call fcn.0045a0d0
cmp dword [ebp + 0x24], 0xf
jge 0x45bb1a
test ebx, ebx
je 0x45badb
mov eax, dword [esp + 0x44]
call fcn.0045a690
mov edi, dword [ebp + 8]
test edi, edi
je 0x45babb
cmp dword [esp + 0x10], 0
je 0x45baca
mov esi, ebp
call fcn.00459050
xor ecx, ecx
cmp ebx, 0x1c
sete cl
push ecx
push edi
push ebp
call fcn.00457c30
add esp, 0xc
mov eax, 0xf
mov ecx, ebp
call fcn.0045a0d0
or esi, 0xffffffff
jmp 0x45bb1e
cmp dword [ebp + 0x24], 2
jne 0x45baca
push ebp
call fcn.004545e0
add esp, 4
mov eax, 0xf
mov ecx, ebp
call fcn.0045a0d0
or esi, 0xffffffff
jmp 0x45bb1e
mov eax, dword [ebp + 8]
test eax, eax
je 0x45bb1a
push eax
call fcn.0046b210
add esp, 4
test eax, eax
je 0x45bb1a
mov edx, dword [ebp + 8]
push 2
push edx
mov ebx, 0x2a
call fcn.00461b60
xor eax, eax
add esp, 8
cmp dword [ebp + 0x24], 0xe
mov ecx, ebp
setge al
add eax, 0xe
call fcn.0045a0d0
or esi, 0xffffffff
jmp 0x45bb1e
mov esi, dword [esp + 0x58]
cmp dword [ebp + 0x24], 0xf
jne 0x45bb5e
mov eax, dword [ebp + 0xb28]
test eax, eax
je 0x45bb37
push ebx
push ebp
call eax
add esp, 8
jmp 0x45bb52
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.00458ed0
mov esi, eax
mov eax, 0x10
mov ecx, ebp
call fcn.0045a0d0
cmp esi, 0xffffffff
je 0x45ab91
mov ecx, dword [esp + 0x44]
push 0
call fcn.00459250
add esp, 4
test eax, eax
jne 0x45ab91
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.0045c260
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